From d369c11f66e35b00d19a6c34c0c52fc106eb9625 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 2 Aug 2023 03:29:18 -0700 Subject: [PATCH 01/94] chore: update cli reference doc --- spec/cli_v1_commands.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/cli_v1_commands.yaml b/spec/cli_v1_commands.yaml index d7db35da785..eed0f49f7d1 100644 --- a/spec/cli_v1_commands.yaml +++ b/spec/cli_v1_commands.yaml @@ -1,7 +1,7 @@ clispec: '001' info: id: cli - version: 1.82.2 + version: 1.82.5 title: Supabase CLI language: sh source: https://github.com/supabase/cli @@ -2221,7 +2221,7 @@ commands: Requires your local project to be linked to a remote database by running `supabase link`. For self-hosted databases, you can pass in the connection parameters using `--db-url` flag. - Runs `pg_dump` in a container with additional flags to exclude Supabase managed schemas. The ignored schemas include auth, storage, and those created by extensions. + Runs `pg_dump` in a container with additional flags to exclude Supabase managed schemas. The ignored schemas include auth, stroage, and those created by extensions. The default dump does not contain any data or custom roles. To dump those contents explicitly, specify either the `--data-only` and `--role-only` flag. examples: From c92c64013599715b9aeb289fff84d5c0e0b78161 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Thu, 3 Aug 2023 03:30:53 +0200 Subject: [PATCH 02/94] chore: update cli reference doc --- spec/cli_v1_commands.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/cli_v1_commands.yaml b/spec/cli_v1_commands.yaml index eed0f49f7d1..eb1d12e44bb 100644 --- a/spec/cli_v1_commands.yaml +++ b/spec/cli_v1_commands.yaml @@ -1,7 +1,7 @@ clispec: '001' info: id: cli - version: 1.82.5 + version: 1.82.6 title: Supabase CLI language: sh source: https://github.com/supabase/cli From c40bf30dbb9cfdd5f1ab960547fe2692394d3d5d Mon Sep 17 00:00:00 2001 From: Oliver Rice Date: Fri, 4 Aug 2023 16:36:44 -0500 Subject: [PATCH 03/94] add indexing guide and index advisor extension --- .../NavigationMenu.constants.ts | 5 + .../docs/pages/guides/database/extensions.mdx | 7 +- .../database/extensions/index_advisor.mdx | 147 ++++++++++++++++++ .../guides/database/query-optimization.mdx | 134 ++++++++++++++++ 4 files changed, 290 insertions(+), 3 deletions(-) create mode 100644 apps/docs/pages/guides/database/extensions/index_advisor.mdx create mode 100644 apps/docs/pages/guides/database/query-optimization.mdx diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index 6dbec8a0a36..94d6249babd 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -539,6 +539,7 @@ export const database: NavMenuConstant = { { name: 'Implementing Cascade Deletes', url: '/guides/database/postgres/cascade-deletes' }, { name: 'Implementing column encryption', url: '/guides/database/column-encryption' }, { name: 'Partitioning your tables', url: '/guides/database/partitions' }, + { name: 'Query Optimization', url: '/guides/database/query-optimization' }, { name: 'Testing your database', url: '/guides/database/testing' }, { name: 'Managing Timeouts', url: '/guides/database/timeouts' }, { name: 'Managing Passwords', url: '/guides/database/managing-passwords' }, @@ -559,6 +560,10 @@ export const database: NavMenuConstant = { url: '/guides/database/extensions/plv8', }, { name: 'http: RESTful Client', url: '/guides/database/extensions/http' }, + { + name: 'index_advisor: Query optimization', + url: '/guides/database/extensions/index_advisor', + }, { name: 'PGAudit: Postgres Auditing', url: '/guides/database/extensions/pgaudit', diff --git a/apps/docs/pages/guides/database/extensions.mdx b/apps/docs/pages/guides/database/extensions.mdx index 8b729b6ba73..45b743ab41d 100644 --- a/apps/docs/pages/guides/database/extensions.mdx +++ b/apps/docs/pages/guides/database/extensions.mdx @@ -1,9 +1,10 @@ import Layout from '~/layouts/DefaultGuideLayout' export const meta = { - id: 'extensions', - title: 'Postgres Extensions Overview', - description: 'Using Postgres extensions.', + +id: 'extensions', +title: 'Postgres Extensions Overview', +description: 'Using Postgres extensions.', } Extensions are exactly as they sound - they "extend" the database with functionality which isn't part of the Postgres core. diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx new file mode 100644 index 00000000000..8ba0e81140b --- /dev/null +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -0,0 +1,147 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + id: 'index-advisor', + title: 'index_advisor: query optimization', + description: 'Automatically optimize SQL queries', +} + +[Index advisor](https://github.com/supabase/index_advisor) is a Postgres extension for recommending indexes to improve query performance. + +Features: + +- Supports generic parameters e.g. `$1`, `$2` +- Supports materialized views +- Identifies tables/columns obfuscaed by views +- Skips duplicate indexes + +## Installation + +index_advisor is a trusted language extension, which means it is directly installable by users from the [database.dev](database.dev) SQL package repository. + +To get started, enable the dbdev client by executing the [setup SQL script](https://database.dev/installer). + +Then, install index_advisor by running + +```sql +select dbdev.install('olirice-index_advisor'); +create extension if not exists hypopg; +create extension "olirice-index_advisor" + version '0.1.0'; +``` + +## API + +Index advisor exposes a single function `index_advisor(query text)` that accepts a query and searches for a set of SQL DDL `create index` statements that improve the query's execution time. + +The function's signature is: + +```sql +index_advisor(query text) +returns + table ( + startup_cost_before jsonb, + startup_cost_after jsonb, + total_cost_before jsonb, + total_cost_after jsonb, + index_statements text[], + errors text[] + ) +``` + +## Usage + +As a minimal example, the `index_advisor` function can be given a single table query with a filter on an unindexed column. + +```sql +create extension if not exists index_advisor cascade; + +create table book( + id int primary key, + title text not null +); + +select + * +from + index_advisor('select book.id from book where title = $1'); + + startup_cost_before | startup_cost_after | total_cost_before | total_cost_after | index_statements | errors +---------------------+--------------------+-------------------+------------------+-----------------------------------------------------+-------- + 0.00 | 1.17 | 25.88 | 6.40 | {"CREATE INDEX ON public.book USING btree (title)"},| {} +(1 row) +``` + +and will return a row recommending an index on the unindexed column. + +More complex queries may generate additional suggested indexes + +```sql +create extension if not exists index_advisor cascade; + +create table author( + id serial primary key, + name text not null +); + +create table publisher( + id serial primary key, + name text not null, + corporate_address text +); + +create table book( + id serial primary key, + author_id int not null references author(id), + publisher_id int not null references publisher(id), + title text +); + +create table review( + id serial primary key, + book_id int references book(id), + body text not null +); + +select + * +from + index_advisor(' + select + book.id, + book.title, + publisher.name as publisher_name, + author.name as author_name, + review.body review_body + from + book + join publisher + on book.publisher_id = publisher.id + join author + on book.author_id = author.id + join review + on book.id = review.book_id + where + author.id = $1 + and publisher.id = $2 + '); + + startup_cost_before | startup_cost_after | total_cost_before | total_cost_after | index_statements | errors +---------------------+--------------------+-------------------+------------------+-----------------------------------------------------------+-------- + 27.26 | 12.77 | 68.48 | 42.37 | {"CREATE INDEX ON public.book USING btree (author_id)", | {} + "CREATE INDEX ON public.book USING btree (publisher_id)", + "CREATE INDEX ON public.review USING btree (book_id)"} +(3 rows) +``` + +## Limitations + +Currently, index_advisor will only recommend single column, B-tree indexes. This restriction will be relaxed in future releases. + +## Resources + +- Official [`index_advisor` GitHub Repository](https://github.com/supabase/index_advisor) + +export const Page = ({ children }) => + +export default Page diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx new file mode 100644 index 00000000000..ecae3fc4559 --- /dev/null +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -0,0 +1,134 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + title: 'Query Optimization', + description: 'Choosing indexes', + footerHelpType: 'postgres', +} + +When working with PostgreSQL, or any relational database, indexing is key to improving query performance. +Aligning indexes with common query patterns can speed up data retrieval by order of magnitude. + +This guide is intended to: + +- help identify parts of a query that have the potential to be improved by indexes +- introduce the most frequently applicable indexing tool + +It is in no way comprehensive and should be thought of as a starting point on your optimization journey. + +If you're new to query optimization, you may be interested in [index_advisor](/docs/guides/database/extensions/index_advisor), our tool for automatically detecting indexes that improve performance on a given query. + +## Example Query + +Consider the following example query that retrieves customer names and purchase dates from two tables: + +```sql +select + a.name, + b.date_of_purchase +from + customers a + join orders b + on a.id = b.customer_id +where + a.sign_up_date > '2023-01-01' + and b.status = 'shipped' +order by + b.date_of_purchase; +limit 10 +``` + +In this query, there are several parts indexes could likely help in optimizing the performance: + +### `where` Clause: + +The `where` clause filters rows based on certain conditions, and indexing the columns involved can improve this process: + +- `a.sign_up_date`: If filtering by `sign_up_date` is common, indexing this column can speed up the query. +- `b.status`: Indexing the status may be beneficial if the column has diverse values. + +```sql +create index idx_customers_sign_up_date on customers (sign_up_date); + +create index idx_orders_status on orders (status); +``` + +### `join` Columns + +Indexes on the columns used for joining tables can help Postgres avoid scanning tables in their entirety when connecting tables. + +- Indexing and `b.customer_id` would likely improve the performance of the join in this query. +- Note that if `a.id` is the primary key of the `customers` table it is already indexed + +```sql +create index idx_orders_customer_id on orders (customer_id); +``` + +### `order by` Clause + +Sorting can also be optimized by indexing: + +- An index on `b.date_of_purchase` wcan improve the sorting process, and is particularly beneficial when a subset of rows is being returned with a `limit` clause. + +```sql +create index idx_orders_date_of_purchase on orders (date_of_purchase); +``` + +## Key Concepts + +Here are some concepts and tools to keep in mind to help you identify the best index for the job, and measure the impact that your index had: + +### Analyze the Query Plan + +Use the `explain` command to understand the query's execution. Look for slow parts, such as Sequential Scans or high cost numbers. If creating an index does not reduce the cost of the query plan, remove it. + +For example: + +```sql +explain select * from customers where sign_up_date > 25; +``` + +### Use Appropriate Index Types + +PostgreSQL offers various index types like [B-tree, Hash, GIN, etc](https://www.postgresql.org/docs/current/indexes-types.html). Select the type that best suits your data and query pattern. Using the right index type can make a significant difference. For example, using a BRIN index on field that is always increasing on a table with infrequent updates, like `created_at` on an `orders` table, routinely results in indexes that are +10x smaller than the equivalent default B-tree index. That translates into better scalability. + +```sql +create index idx_orders_created_at ON customers using brin(created_at); +``` + +### Partial Indexes + +For queries that frequently target a subset of data, a partial index could be faster and smaller than indexing the entire column. A partial index contains a `where` clause to filter the values included in the index. Note that a query's `where` clause must match the index for it to be used. + +```sql +create index idx_orders_status on orders (status) +where status = 'shipped'; +``` + +### Composite Indexes + +If filtering or joining on multiple columns, a composite index can help postgres referring to multiple indexes to identify the relevant rows. + +```sql +create index idx_customers_sign_up_date_priority on customers (sign_up_date, priority); +``` + +### Over-Indexing + +Avoid the urge to index columns you operate on infrequently. While indexes can speed up reads, they also slow down writes, so its important to balance those factors when making indexing decisions. + +### Statistics + +Postgres maintains a set of statistics about the contents of your tables. Those statistics are used by the query planner to decide e.g. when its is more efficient to use an index vs scanning the entire table. If the collected statistics drift too far from reality, the query planner may make poor decisions. To avoid the risk, you can periodically `analyze` tables. + +```sql +analyze customers; +``` + +--- + +By following this guide, you'll be able to discern where indexes can optimize queries and enhance your PostgreSQL performance. Remember that each database is unique, so always consider the specific context and use case of your queries. + +export const Page = ({ children }) => + +export default Page From 511b5ec9773544eca35eb04799c72d846e069763 Mon Sep 17 00:00:00 2001 From: Oliver Rice Date: Mon, 7 Aug 2023 09:01:46 -0500 Subject: [PATCH 04/94] index-advisor error types --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index 8ba0e81140b..a21016ca8ba 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -136,7 +136,8 @@ from ## Limitations -Currently, index_advisor will only recommend single column, B-tree indexes. This restriction will be relaxed in future releases. +- index_advisor will only recommend single column, B-tree indexes. This restriction will be relaxed in future releases. +- when a generic argument's type is not discernible from context, an error is returned in the `errors` field. To resolve those errors add explicit type casting to uses of the generic argument e.g. `$1::int`. ## Resources From 4769f8b136bd3466eaf8776b63f0f84258ff3baf Mon Sep 17 00:00:00 2001 From: Oliver Rice Date: Mon, 7 Aug 2023 09:06:42 -0500 Subject: [PATCH 05/94] remove version from install instructions so latest is req --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index a21016ca8ba..40a9c661a43 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -26,8 +26,7 @@ Then, install index_advisor by running ```sql select dbdev.install('olirice-index_advisor'); create extension if not exists hypopg; -create extension "olirice-index_advisor" - version '0.1.0'; +create extension "olirice-index_advisor"; ``` ## API From 53399c8af2082922a9e2d011f25eb70035c41905 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 8 Aug 2023 11:42:33 +0200 Subject: [PATCH 06/94] chore: update cli reference doc --- spec/cli_v1_commands.yaml | 269 +++++++++++++++++++++++++++++++++++++- 1 file changed, 265 insertions(+), 4 deletions(-) diff --git a/spec/cli_v1_commands.yaml b/spec/cli_v1_commands.yaml index eb1d12e44bb..69eeda41b75 100644 --- a/spec/cli_v1_commands.yaml +++ b/spec/cli_v1_commands.yaml @@ -1,7 +1,7 @@ clispec: '001' info: id: cli - version: 1.82.6 + version: 1.83.7 title: Supabase CLI language: sh source: https://github.com/supabase/cli @@ -1137,9 +1137,13 @@ commands: summary: Apply pending migrations to local database tags: [] links: [] - usage: supabase migration up + usage: supabase migration up [flags] subcommands: [] - flags: [] + flags: + - id: include-all + name: --include-all + description: Include all migrations not found on remote history table. + default_value: 'false' - id: supabase-migration-squash title: supabase migration squash summary: Squash migrations to a single file @@ -1424,6 +1428,24 @@ commands: - id: supabase-inspect-db-vacuum-stats title: supabase inspect db vacuum-stats summary: Show statistics related to vacuum operations per table + description: |2 + + This shows you stats about the vacuum activities for each table. Due to Postgres' [MVCC](https://www.postgresql.org/docs/current/mvcc.html) when data is updated or deleted new rows are created and old rows are made invisible and marked as "dead tuples". Usually the [autovaccum](https://supabase.com/docs/guides/platform/database-size#vacuum-operations) process will aysnchronously clean the dead tuples. + + The command lists when the last vacuum and last auto vacuum took place, the row count on the table as well as the count of dead rows and whether autovacuum is expected to run or not. If the number of dead rows is much higher than the row count, or if an autovacuum is expected but has not been performed for some time, this can indicate that autovacuum is not able to keep up and that your vacuum settings need to be tweaked or that you require more compute or disk IOPS to allow autovaccum to complete. + + + ``` + SCHEMA │ TABLE │ LAST VACUUM │ LAST AUTO VACUUM │ ROW COUNT │ DEAD ROW COUNT │ EXPECT AUTOVACUUM? + ──────────────────────┼──────────────────────────────────┼─────────────┼──────────────────┼──────────────────────┼────────────────┼───────────────────── + auth │ users │ │ 2023-06-26 12:34 │ 18,030 │ 0 │ no + public │ profiles │ │ 2023-06-26 23:45 │ 13,420 │ 28 │ no + public │ logs │ │ 2023-06-26 01:23 │ 1,313,033 │ 3,318,228 │ yes + storage │ objects │ │ │ No stats │ 0 │ no + storage │ buckets │ │ │ No stats │ 0 │ no + supabase_migrations │ schema_migrations │ │ │ No stats │ 0 │ no + + ``` tags: [] links: [] usage: supabase inspect db vacuum-stats @@ -1436,6 +1458,15 @@ commands: - id: supabase-inspect-db-unused-indexes title: supabase inspect db unused-indexes summary: Show indexes with low usage + description: |2 + + This command displays indexes that have < 50 scans recorded against them, and are greater than 5 pages in size, ordered by size relative to the number of index scans. This command is generally useful for discovering indexes that are unused. Indexes can impact write performance, as well as read performance should they occupy space in memory, its a good idea to remove indexes that are not needed or being used. + + ``` + TABLE │ INDEX │ INDEX SIZE │ INDEX SCANS + ─────────────────────┼────────────────────────────────────────────┼────────────┼────────────── + public.users │ user_id_created_at_idx │ 97 MB │ 0 + ``` tags: [] links: [] usage: supabase inspect db unused-indexes @@ -1448,6 +1479,17 @@ commands: - id: supabase-inspect-db-total-table-sizes title: supabase inspect db total-table-sizes summary: Show total table sizes, including table index sizes + description: |2- + + This command displays the total size of each table in the database. It is the sum of the values that `pg_table_size()` and `pg_indexes_size()` gives for each table. + + ``` + NAME │ SIZE + ───────────────────────────────────┼───────────── + job_run_details │ 395 MB + slack_msgs │ 648 kB + emails │ 640 kB + ``` tags: [] links: [] usage: supabase inspect db total-table-sizes @@ -1460,6 +1502,15 @@ commands: - id: supabase-inspect-db-total-index-size title: supabase inspect db total-index-size summary: Show total size of all indexes + description: |2- + + This command displays the total size of all indexes on the database. It is calculated by taking the number of pages (reported in `relpages`) and multiplying it by the page size (8192 bytes). + + ``` + SIZE + ───────── + 12 MB + ``` tags: [] links: [] usage: supabase inspect db total-index-size @@ -1473,6 +1524,20 @@ commands: title: supabase inspect db table-sizes summary: | Show table sizes of individual tables without their index sizes + description: |2- + + This command displays the size of each table in the database. It is calculated by using the system administration function `pg_table_size()`, which includes the size of the main data fork, free space map, visibility map and TOAST data. It does not include the size of the table's indexes. + + + ``` + NAME │ SIZE + ───────────────────────────────────┼───────────── + job_run_details │ 385 MB + emails │ 584 kB + job │ 40 kB + sessions │ 0 bytes + prod_resource_notifications_meta │ 0 bytes + ``` tags: [] links: [] usage: supabase inspect db table-sizes @@ -1485,6 +1550,19 @@ commands: - id: supabase-inspect-db-table-record-counts title: supabase inspect db table-record-counts summary: Show estimated number of rows per table + description: |2- + + This command displays an estimated count of rows per table, descending by estimated count. The estimated count is derived from `n_live_tup`, which is updated by vacuum operations. Due to the way `n_live_tup` is populated, sparse vs. dense pages can result in estimations that are significantly out from the real count of rows. + + + ``` + NAME │ ESTIMATED COUNT + ─────────────┼────────────────── + logs │ 322943 + emails │ 1103 + job │ 1 + migrations │ 0 + ``` tags: [] links: [] usage: supabase inspect db table-record-counts @@ -1497,6 +1575,19 @@ commands: - id: supabase-inspect-db-table-index-sizes title: supabase inspect db table-index-sizes summary: Show index sizes of individual tables + description: |2 + + This command displays the total size of indexes for each table. It is calculated by using the system administration function `pg_indexes_size()`. + + ``` + TABLE │ INDEX SIZE + ───────────────────────────────────┼───────────── + job_run_details │ 10104 kB + users │ 128 kB + job │ 32 kB + instances │ 8192 bytes + http_request_queue │ 0 bytes + ``` tags: [] links: [] usage: supabase inspect db table-index-sizes @@ -1509,6 +1600,21 @@ commands: - id: supabase-inspect-db-seq-scans title: supabase inspect db seq-scans summary: Show number of sequential scans recorded against all tables + description: |2+ + + This command displays the number of sequential scans recorded against all tables, descending by count of sequential scans. Tables that have very high numbers of sequential scans may be underindexed, and it may be worth investigating queries that read from these tables. + + + ``` + NAME │ COUNT + ───────────────────────────────────┼───────── + emails │ 182435 + users │ 25063 + job_run_details │ 60 + schema_migrations │ 0 + migrations │ 0 + ``` + tags: [] links: [] usage: supabase inspect db seq-scans @@ -1521,6 +1627,39 @@ commands: - id: supabase-inspect-db-role-connections title: supabase inspect db role-connections summary: Show number of active connections for all database roles + description: |2 + + This command shows the number of active connections for each database roles to see which specific role might be consuming more connections than expected. + + This is a Supabase specific command. You can see this breakdown on the dashboard as well: + https://app.supabase.com/project/_/database/roles + + The maximum number of active connections depends [on your instance size](https://supabase.com/docs/guides/platform/compute-add-ons). You can [manually overwrite](https://supabase.com/docs/guides/platform/performance#allowing-higher-number-of-connections) the allowed number of connection but it is not advised. + + ``` + + + ROLE NAME │ ACTIVE CONNCTION + ────────────────────────────┼─────────────────── + authenticator │ 5 + postgres │ 5 + supabase_admin │ 1 + pgbouncer │ 1 + anon │ 0 + authenticated │ 0 + service_role │ 0 + dashboard_user │ 0 + supabase_auth_admin │ 0 + supabase_storage_admin │ 0 + supabase_functions_admin │ 0 + pgsodium_keyholder │ 0 + pg_read_all_data │ 0 + pg_write_all_data │ 0 + pg_monitor │ 0 + + Active connections 12/90 + + ``` tags: [] links: [] usage: supabase inspect db role-connections @@ -1533,6 +1672,19 @@ commands: - id: supabase-inspect-db-replication-slots title: supabase inspect db replication-slots summary: Show information about replication slots on the database + description: |2- + + This command shows information about [logical replication slots](https://www.postgresql.org/docs/current/logical-replication.html) that are setup on the database. It shows if the slot is active, the state of the WAL sender process ('startup', 'catchup', 'streaming', 'backup', 'stopping') the replication client address and the replication lag in GB. + + This command is useful to check that the amount of replication lag is as low as possible, replication lag can occur due to network latency issues, slow disk I/O, long running transactions or lack of ability for the subscriber to consume WAL fast enough. + + + ``` + NAME │ ACTIVE │ STATE │ REPLICATION CLIENT ADDRESS │ REPLICATION LAG GB + ─────────────────────────────────────────────┼────────┼─────────┼────────────────────────────┼───────────────────── + supabase_realtime_replication_slot │ t │ N/A │ N/A │ 0 + datastream │ t │ catchup │ 24.201.24.106 │ 45 + ``` tags: [] links: [] usage: supabase inspect db replication-slots @@ -1546,6 +1698,22 @@ commands: title: supabase inspect db outliers summary: | Show queries from pg_stat_statements ordered by total execution time + description: |2 + + This command displays statements, obtained from `pg_stat_statements`, ordered by the amount of time to execute in aggregate. This includes the statement itself, the total execution time for that statement, the proportion of total execution time for all statements that statement has taken up, the number of times that statement has been called, and the amount of time that statement spent on synchronous I/O (reading/writing from the file system). + + Typically, an efficient query will have an appropriate ratio of calls to total execution time, with as little time spent on I/O as possible. Queries that have a high total execution time but low call count should be investigated to improve their performance. Queries that have a high proportion of execution time being spent on synchronous I/O should also be investigated. + + ``` + + QUERY │ EXECUTION TIME │ PROPORTION OF EXEC TIME │ NUMBER CALLS │ SYNC IO TIME + ─────────────────────────────────────────┼──────────────────┼─────────────────────────┼──────────────┼─────────────── + SELECT * FROM archivable_usage_events.. │ 154:39:26.431466 │ 72.2% │ 34,211,877 │ 00:00:00 + COPY public.archivable_usage_events (.. │ 50:38:33.198418 │ 23.6% │ 13 │ 13:34:21.00108 + COPY public.usage_events (id, reporte.. │ 02:32:16.335233 │ 1.2% │ 13 │ 00:34:19.784318 + INSERT INTO usage_events (id, retaine.. │ 01:42:59.436532 │ 0.8% │ 12,328,187 │ 00:00:00 + SELECT * FROM usage_events WHERE (alp.. │ 01:18:10.754354 │ 0.6% │ 102,114,301 │ 00:00:00 + ``` tags: [] links: [] usage: supabase inspect db outliers @@ -1559,6 +1727,17 @@ commands: title: supabase inspect db long-running-queries summary: | Show currently running queries running for longer than 5 minutes + description: |2 + + This command displays currently running queries, that have been running for longer than 5 minutes, descending by duration. Very long running queries can be a source of multiple issues, such as preventing DDL statements completing or vacuum being unable to update `relfrozenxid`. + + ``` + PID │ DURATION │ QUERY + ───────┼─────────────────┼─────────────────────────────────────────────────────────────────────────────────────── + 19578 | 02:29:11.200129 | EXPLAIN SELECT "students".* FROM "students" WHERE "students"."id" = 1450645 LIMIT 1 + 19465 | 02:26:05.542653 | EXPLAIN SELECT "students".* FROM "students" WHERE "students"."id" = 1889881 LIMIT 1 + 19632 | 02:24:46.962818 | EXPLAIN SELECT "students".* FROM "students" WHERE "students"."id" = 1581884 LIMIT 1 + ``` tags: [] links: [] usage: supabase inspect db long-running-queries @@ -1572,6 +1751,17 @@ commands: title: supabase inspect db locks summary: | Show queries which have taken out an exclusive lock on a relation + description: |2 + + This command displays queries that have taken out an exclusive lock on a relation. Exclusive locks typically prevent other operations on that relation from taking place, and can be a cause of "hung" queries that are waiting for a lock to be granted. + + If you see a query that is hanging for a very long time or causing blocking issues you may consider killing the query by connecting to the database and running `SELECT pg_cancel_backend(PID);` to cancel the query. If the query still does not stop you can force a hard stop by running `SELECT pg_terminate_backend(PID);` + + ``` + PID │ RELNAME │ TRANSACTION ID │ GRANTED │ QUERY │ AGE + ─────────┼─────────┼────────────────┼─────────┼─────────────────────────────────────────┼─────────── + 328112 │ null │ 0 │ t │ SELECT * FROM logs; │ 00:04:20 + ``` tags: [] links: [] usage: supabase inspect db locks @@ -1584,6 +1774,7 @@ commands: - id: supabase-inspect-db-index-usage title: supabase inspect db index-usage summary: Show information about the efficiency of indexes + description: "\n\nThis command provides information on the efficiency of indexes, represented as what percentage of total scans were index scans. A low percentage can indicate under indexing, or wrong data being indexed.\n\n```\n TABLE NAME │ PERCENTAGE OF TIMES INDEX USED │ ROWS IN TABLE\n ────────────────────┼────────────────────────────────┼────────────────\n user_events │ 99 │ 4225318 \n user_feed │ 99 │ 3581573\n unindexed_table │ 0 │ 322911\n job │ 100 │ 33242\n schema_migrations │ 97 │ 0\n migrations │ Insufficient data │ 0\n```" tags: [] links: [] usage: supabase inspect db index-usage @@ -1596,6 +1787,20 @@ commands: - id: supabase-inspect-db-index-sizes title: supabase inspect db index-sizes summary: Show index sizes of individual indexes + description: |2- + + This command displays the size of each each index in the database. It is calculated by taking the number of pages (reported in `relpages`) and multiplying it by the page size (8192 bytes). + + ``` + NAME │ SIZE + ──────────────────────────────┼───────────── + user_events_index │ 2082 MB + job_run_details_pkey │ 3856 kB + schema_migrations_pkey │ 16 kB + refresh_tokens_token_unique │ 8192 bytes + users_instance_id_idx │ 0 bytes + buckets_pkey │ 0 bytes + ``` tags: [] links: [] usage: supabase inspect db index-sizes @@ -1609,6 +1814,21 @@ commands: title: supabase inspect db calls summary: | Show queries from pg_stat_statements ordered by total times called + description: |2 + + This command is much like the `supabase inspect db outliers` command, but ordered by the number of times a statement has been called. + + You can use this information to see which queries are called most often, which can potentially be good candidates for optimisation. + + ``` + + QUERY │ TOTAL EXECUTION TIME │ PROPORTION OF TOTAL EXEC TIME │ NUMBER CALLS │ SYNC IO TIME + ─────────────────────────────────────────────────┼──────────────────────┼───────────────────────────────┼──────────────┼────────────────── + SELECT * FROM users WHERE id = $1 │ 14:50:11.828939 │ 89.8% │ 183,389,757 │ 00:00:00.002018 + SELECT * FROM user_events │ 01:20:23.466633 │ 1.4% │ 78,325 │ 00:00:00 + INSERT INTO users (email, name) VALUES ($1, $2)│ 00:40:11.616882 │ 0.8% │ 54,003 │ 00:00:00.000322 + + ``` tags: [] links: [] usage: supabase inspect db calls @@ -1621,6 +1841,20 @@ commands: - id: supabase-inspect-db-cache-hit title: supabase inspect db cache-hit summary: Show cache hit rates for tables and indices + description: |2- + + This command provides information on the efficiency of the buffer cache and how often your queries have to go hit the disk rather than reading from memory. Information on both index reads (`index hit rate`) as well as table reads (`table hit rate`) are shown. In general, databases with low cache hit rates perform worse as it is slower to go to disk than retrieve data from memory. If your table hit rate is low, this can indicate that you do not have enough RAM and you may benefit from upgrading to a larger compute addon with more memory. If your index hit rate is low, this may indicate that there is scope to add more appropriate indexes. + + The hit rates are calculated as a ratio of number of table or index blocks fetched from the postgres buffer cache against the sum of cached blocks and uncached blocks read from disk. + + On smaller compute plans (free, small, medium), a ratio of below 99% can indicate a problem. On larger plans the hit rates may be lower but performance will remain constant as the data may use the OS cache rather than Postgres buffer cache. + + ``` + NAME │ RATIO + ─────────────────┼─────────── + index hit rate │ 0.996621 + table hit rate │ 0.999341 + ``` tags: [] links: [] usage: supabase inspect db cache-hit @@ -1634,6 +1868,15 @@ commands: title: supabase inspect db blocking summary: | Show queries that are holding locks and the queries that are waiting for them to be released + description: |2 + + This command shows you statements that are currently holding locks and blocking, as well as the statement that is being blocked. This can be used in conjunction with `inspect db locks` to determine which statements need to be terminated in order to resolve lock contention. + + ``` + BLOCKED PID │ BLOCKING STATEMENT │ BLOCKING DURATION │ BLOCKING PID │ BLOCKED STATEMENT │ BLOCKED DURATION + ──────────────┼──────────────────────────────┼───────────────────┼──────────────┼────────────────────────────────────────────────────────────────────────────────────────┼─────────────────── + 253 │ select count(*) from mytable │ 00:00:03.838314 │ 13495 │ UPDATE "mytable" SET "updated_at" = '2023─08─03 14:07:04.746688' WHERE "id" = 83719341 │ 00:00:03.821826 + ``` tags: [] links: [] usage: supabase inspect db blocking @@ -1647,6 +1890,20 @@ commands: title: supabase inspect db bloat summary: | Estimates space allocated to a relation that is full of dead tuples + description: |2 + + This command displays an estimation of table "bloat" - Due to Postgres' [MVCC](https://www.postgresql.org/docs/current/mvcc.html) when data is updated or deleted new rows are created and old rows are made invisible and marked as "dead tuples". Usually the [autovaccum](https://supabase.com/docs/guides/platform/database-size#vacuum-operations) process will asynchronously clean the dead tuples. Sometimes the autovaccum is unable to work fast enough to reduce or prevent tables from becoming bloated. High bloat can slow down queries, cause excessive IOPS and waste space in your database. + + Tables with a high bloat ratio should be investigated to see if there are vacuuming is not quick enough or there are other issues. + + ``` + TYPE │ SCHEMA NAME │ OBJECT NAME │ BLOAT │ WASTE + ────────┼─────────────┼────────────────────────────┼───────┼───────────── + table │ public │ very_bloated_table │ 41.0 │ 700 MB + table │ public │ my_table │ 4.0 │ 76 MB + table │ public │ happy_table │ 1.0 │ 1472 kB + index │ public │ happy_table::my_nice_index │ 0.7 │ 880 kB + ``` tags: [] links: [] usage: supabase inspect db bloat @@ -2131,6 +2388,10 @@ commands: description: | Print the migrations that would be applied, but don't actually apply them. default_value: 'false' + - id: include-all + name: --include-all + description: Include all migrations not found on remote history table. + default_value: 'false' - id: include-roles name: --include-roles description: Include custom roles from supabase/roles.sql. @@ -2221,7 +2482,7 @@ commands: Requires your local project to be linked to a remote database by running `supabase link`. For self-hosted databases, you can pass in the connection parameters using `--db-url` flag. - Runs `pg_dump` in a container with additional flags to exclude Supabase managed schemas. The ignored schemas include auth, stroage, and those created by extensions. + Runs `pg_dump` in a container with additional flags to exclude Supabase managed schemas. The ignored schemas include auth, storage, and those created by extensions. The default dump does not contain any data or custom roles. To dump those contents explicitly, specify either the `--data-only` and `--role-only` flag. examples: From b3cb658c114a97c8f7646a056470b437908e8e47 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Thu, 10 Aug 2023 23:18:13 +0800 Subject: [PATCH 07/94] midway converting invoices to RQ --- .../interfaces/BillingV2/Invoices.tsx | 67 +++++++------------ studio/data/invoices/keys.ts | 4 ++ studio/data/invoices/project-invoice-query.ts | 39 +++++++++++ .../invoices/project-invoices-count-query.ts | 44 ++++++++++++ .../data/invoices/project-invoices-query.ts | 51 ++++++++++++++ .../[ref]/settings/billing/invoices.tsx | 3 +- 6 files changed, 163 insertions(+), 45 deletions(-) create mode 100644 studio/data/invoices/project-invoice-query.ts create mode 100644 studio/data/invoices/project-invoices-count-query.ts create mode 100644 studio/data/invoices/project-invoices-query.ts diff --git a/studio/components/interfaces/BillingV2/Invoices.tsx b/studio/components/interfaces/BillingV2/Invoices.tsx index 38a7737a1fa..05744355b2e 100644 --- a/studio/components/interfaces/BillingV2/Invoices.tsx +++ b/studio/components/interfaces/BillingV2/Invoices.tsx @@ -1,35 +1,39 @@ +import { useParams } from 'common' import Link from 'next/link' import { useEffect, useState } from 'react' import { Button, IconChevronLeft, IconChevronRight, IconDownload, IconFileText, Loading } from 'ui' import Table from 'components/to-be-cleaned/Table' +import { getProjectInvoice } from 'data/invoices/project-invoice-query' +import { useProjectInvoicesQuery } from 'data/invoices/project-invoices-query' import { useStore } from 'hooks' -import { get, head } from 'lib/common/fetch' +import { head } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import InvoiceStatusBadge from './InvoiceStatusBadge' -import { Invoice, InvoiceStatus } from './Invoices.types' +import { InvoiceStatus } from './Invoices.types' const PAGE_LIMIT = 10 -interface InvoicesProps { - projectRef: string -} - -const Invoices = ({ projectRef }: InvoicesProps) => { +const Invoices = () => { const { ui } = useStore() - const [loading, setLoading] = useState(false) + const { ref: projectRef } = useParams() const [page, setPage] = useState(1) const [count, setCount] = useState(0) - const [invoices, setInvoices] = useState([]) const offset = (page - 1) * PAGE_LIMIT + const { data, isLoading } = useProjectInvoicesQuery({ projectRef, limit: PAGE_LIMIT, offset }) + const invoices = data || [] + + // [JOSHEN TODO] How to extract the X-Total-Count? + // const { data: invoicesCount, error } = useProjectInvoicesCountQuery({ projectRef }) + // console.log({ invoicesCount, error }) useEffect(() => { if (!projectRef) return + setPage(1) let cancel = false - const page = 1 const fetchInvoiceCount = async () => { const res = await head(`${API_URL}/projects/${projectRef}/invoices`, ['X-Total-Count']) @@ -42,8 +46,6 @@ const Invoices = ({ projectRef }: InvoicesProps) => { } } - setPage(page) - fetchInvoices(page) fetchInvoiceCount() return () => { @@ -51,42 +53,21 @@ const Invoices = ({ projectRef }: InvoicesProps) => { } }, [projectRef]) - const fetchInvoices = async (page: number) => { - setLoading(true) - setPage(page) - - const offset = (page - 1) * PAGE_LIMIT - const invoices = await get( - `${API_URL}/projects/${projectRef}/invoices?offset=${offset}&limit=${PAGE_LIMIT}` - ) - - if (invoices.error) { - ui.setNotification({ - category: 'error', - message: `Failed to fetch invoices: ${invoices.error.message}`, - }) - } else { - setInvoices(invoices) - } - - setLoading(false) - } - - const fetchInvoice = async (invoiceId: string) => { - const invoice = await get(`${API_URL}/stripe/invoices/${invoiceId}`) - if (invoice?.invoice_pdf) { - window.open(invoice.invoice_pdf, '_blank') - } else { + const fetchInvoice = async (id: string) => { + try { + const invoice = await getProjectInvoice({ id }) + if (invoice?.invoice_pdf) window.open(invoice.invoice_pdf, '_blank') + } catch (error: any) { ui.setNotification({ category: 'info', - message: `Failed to fetch the selected invoice: ${invoice.error.message}`, + message: `Failed to fetch the selected invoice: ${error.message}`, }) } } return (
- + , @@ -103,7 +84,7 @@ const Invoices = ({ projectRef }: InvoicesProps) => {

- {loading ? 'Checking for invoices' : 'No invoices for this project yet'} + {isLoading ? 'Checking for invoices' : 'No invoices for this project yet'}

@@ -163,14 +144,14 @@ const Invoices = ({ projectRef }: InvoicesProps) => { type="default" size="tiny" disabled={page === 1} - onClick={async () => await fetchInvoices(page - 1)} + onClick={async () => setPage(page - 1)} />
, @@ -136,7 +116,11 @@ const Invoices = () => {

- Showing {offset + 1} to {offset + invoices.length} out of {count} invoices + {isErrorCount + ? 'Failed to retrieve total number of invoices' + : `Showing ${offset + 1} to ${ + offset + invoices.length + } out of ${count} invoices`}

@@ -161,7 +145,7 @@ const Invoices = () => { ) } /> - + )}
) } diff --git a/studio/data/fetchers.ts b/studio/data/fetchers.ts index 61eff3ac84e..1f4a3117460 100644 --- a/studio/data/fetchers.ts +++ b/studio/data/fetchers.ts @@ -100,9 +100,11 @@ export const del: typeof _del = async (url, init) => { export const head: typeof _head = async (url, init) => { const headers = await constructHeaders(init?.headers) + // @ts-ignore return await _head(url, { ...init, headers, + parseAs: 'text', }) } diff --git a/studio/data/invoices/project-invoices-count-query.ts b/studio/data/invoices/project-invoices-count-query.ts index 4f405d248f1..a3a165816de 100644 --- a/studio/data/invoices/project-invoices-count-query.ts +++ b/studio/data/invoices/project-invoices-count-query.ts @@ -13,15 +13,13 @@ export async function getProjectInvoicesCount( ) { if (!projectRef) throw new Error('Project ref is required') - const { data, error } = await head(`/platform/projects/{ref}/invoices`, { + const res = await head(`/platform/projects/{ref}/invoices`, { params: { path: { ref: projectRef } }, signal, }) - // Need to check with Alaister how to extract the header - console.log({ data }) - if (error) throw error - return data + if (res.error) throw (res as any).error + return Number(res.response.headers.get('X-Total-Count')) } export type ProjectInvoicesCountData = Awaited> From a80fd1a9126c64149c5d26a50eda95532a77fce9 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Fri, 11 Aug 2023 16:21:33 +0800 Subject: [PATCH 09/94] Shift generate types in API docs to RQ --- .../interfaces/Docs/GeneratingTypes.tsx | 34 +++++++++---------- studio/data/projects/keys.ts | 1 + studio/data/projects/project-detail-query.ts | 7 ++-- .../projects/project-type-generation-query.ts | 32 +++++++++++++++++ 4 files changed, 54 insertions(+), 20 deletions(-) create mode 100644 studio/data/projects/project-type-generation-query.ts diff --git a/studio/components/interfaces/Docs/GeneratingTypes.tsx b/studio/components/interfaces/Docs/GeneratingTypes.tsx index 0ce44019d84..6e09a181cf3 100644 --- a/studio/components/interfaces/Docs/GeneratingTypes.tsx +++ b/studio/components/interfaces/Docs/GeneratingTypes.tsx @@ -1,12 +1,12 @@ -import { useParams } from 'common/hooks' -import CodeSnippet from 'components/to-be-cleaned/Docs/CodeSnippet' -import { useStore } from 'hooks' -import { get } from 'lib/common/fetch' -import { API_ADMIN_URL } from 'lib/constants' import Link from 'next/link' import { useState } from 'react' import { Button, IconDownload, IconExternalLink } from 'ui' +import { useParams } from 'common/hooks' +import CodeSnippet from 'components/to-be-cleaned/Docs/CodeSnippet' +import { generateTypes } from 'data/projects/project-type-generation-query' +import { useStore } from 'hooks' + interface Props { selectedLang: string } @@ -16,11 +16,10 @@ export default function GeneratingTypes({ selectedLang }: Props) { const { ui } = useStore() const [isGeneratingTypes, setIsGeneratingTypes] = useState(false) - const generateTypes = async () => { - setIsGeneratingTypes(true) - const res = await get(`${API_ADMIN_URL}/projects/${ref}/types/typescript`) - - if (!res.error) { + const onClickGenerateTypes = async () => { + try { + setIsGeneratingTypes(true) + const res = await generateTypes({ ref }) let element = document.createElement('a') element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(res.types)) element.setAttribute('download', 'supabase.ts') @@ -32,16 +31,17 @@ export default function GeneratingTypes({ selectedLang }: Props) { category: 'success', message: `Successfully generated types! File is being downloaded`, }) - } else { + } catch (error: any) { ui.setNotification({ + error, category: 'error', - message: `Failed to generate types: ${res.error.message}`, - error: res.error, + message: `Failed to generate types: ${error.message}`, }) + } finally { + setIsGeneratingTypes(false) } - - setIsGeneratingTypes(false) } + return ( <>

@@ -80,13 +80,13 @@ export default function GeneratingTypes({ selectedLang }: Props) { disabled={isGeneratingTypes} loading={isGeneratingTypes} icon={} - onClick={generateTypes} + onClick={onClickGenerateTypes} > Generate and download types )}

-

+

Remember to re-generate and download this file as you make changes to your tables.

diff --git a/studio/data/projects/keys.ts b/studio/data/projects/keys.ts index 0575110e536..c0043e00294 100644 --- a/studio/data/projects/keys.ts +++ b/studio/data/projects/keys.ts @@ -1,5 +1,6 @@ export const projectKeys = { list: () => ['all-projects'] as const, + types: (projectRef: string | undefined) => ['project', projectRef, 'types'] as const, detail: (projectRef: string | undefined) => ['project', projectRef, 'detail'] as const, readonlyStatusList: () => ['projects', 'readonly-statuses'] as const, readonlyStatus: (projectRef: string | undefined) => diff --git a/studio/data/projects/project-detail-query.ts b/studio/data/projects/project-detail-query.ts index a64643541cf..d6d6e195045 100644 --- a/studio/data/projects/project-detail-query.ts +++ b/studio/data/projects/project-detail-query.ts @@ -1,8 +1,9 @@ import { useQuery, useQueryClient, UseQueryOptions } from '@tanstack/react-query' +import { useCallback } from 'react' + import { get, isResponseOk } from 'lib/common/fetch' import { API_URL } from 'lib/constants' -import { useCallback } from 'react' -import { Project } from 'types' +import { Project, ResponseError } from 'types' import { projectKeys } from './keys' export type ProjectDetailVariables = { ref?: string } @@ -16,7 +17,7 @@ export async function getProjectDetail({ ref }: ProjectDetailVariables, signal?: } export type ProjectDetailData = Awaited> -export type ProjectDetailError = unknown +export type ProjectDetailError = ResponseError export const useProjectDetailQuery = ( { ref }: ProjectDetailVariables, diff --git a/studio/data/projects/project-type-generation-query.ts b/studio/data/projects/project-type-generation-query.ts new file mode 100644 index 00000000000..f950459d43f --- /dev/null +++ b/studio/data/projects/project-type-generation-query.ts @@ -0,0 +1,32 @@ +import { useQuery, UseQueryOptions } from '@tanstack/react-query' + +import { get } from 'data/fetchers' +import { ResponseError } from 'types' +import { projectKeys } from './keys' + +export type GenerateTypesVariables = { ref?: string } + +export async function generateTypes({ ref }: GenerateTypesVariables, signal?: AbortSignal) { + if (!ref) throw new Error('Project ref is required') + + const { data, error } = await get(`/v1/projects/{ref}/types/typescript`, { + params: { path: { ref } }, + signal, + }) + + if (error) throw error + return data +} + +export type GenerateTypesData = Awaited> +export type GenerateTypesError = ResponseError + +export const useGenerateTypesQuery = ( + { ref }: GenerateTypesVariables, + { enabled = true, ...options }: UseQueryOptions = {} +) => + useQuery( + projectKeys.types(ref), + ({ signal }) => generateTypes({ ref }, signal), + { enabled: enabled && typeof ref !== 'undefined', ...options } + ) From 7dc9f212faf9fec75cc62a0aa556c4f1fec37758 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Fri, 11 Aug 2023 16:50:09 +0800 Subject: [PATCH 10/94] Fix styling issue on org billing v2 page and shift invoices org billing v2 to RQ --- .../interfaces/BillingV2/Invoices.tsx | 10 +- .../BillingAddress/BillingAddress.tsx | 6 +- .../BillingBreakdown/BillingBreakdown.tsx | 6 +- .../BillingSettingsV2/BillingEmail.tsx | 12 +- .../CostControl/CostControl.tsx | 10 +- .../BillingSettingsV2/CreditBalance.tsx | 6 +- .../PaymentMethods/PaymentMethods.tsx | 14 +-- .../Subscription/Subscription.tsx | 8 +- .../BillingSettingsV2/TaxID/TaxID.tsx | 20 ++-- .../InvoicesSettings/InvoicesSettings.tsx | 105 ++++++------------ studio/components/layouts/Scaffold.tsx | 2 +- studio/data/invoices/invoice-query.ts | 36 ++++++ studio/data/invoices/invoices-count-query.ts | 41 +++++++ studio/data/invoices/invoices-query.ts | 50 +++++++++ studio/data/invoices/keys.ts | 8 +- studio/data/invoices/project-invoice-query.ts | 39 ------- 16 files changed, 215 insertions(+), 158 deletions(-) create mode 100644 studio/data/invoices/invoice-query.ts create mode 100644 studio/data/invoices/invoices-count-query.ts create mode 100644 studio/data/invoices/invoices-query.ts delete mode 100644 studio/data/invoices/project-invoice-query.ts diff --git a/studio/components/interfaces/BillingV2/Invoices.tsx b/studio/components/interfaces/BillingV2/Invoices.tsx index 34faf9f2b1f..3eefb5702b3 100644 --- a/studio/components/interfaces/BillingV2/Invoices.tsx +++ b/studio/components/interfaces/BillingV2/Invoices.tsx @@ -1,12 +1,12 @@ import { useParams } from 'common' import Link from 'next/link' -import { useState } from 'react' +import { useEffect, useState } from 'react' import { Button, IconChevronLeft, IconChevronRight, IconDownload, IconFileText } from 'ui' import Table from 'components/to-be-cleaned/Table' import AlertError from 'components/ui/AlertError' import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader' -import { getProjectInvoice } from 'data/invoices/project-invoice-query' +import { getInvoice } from 'data/invoices/invoice-query' import { useProjectInvoicesCountQuery } from 'data/invoices/project-invoices-count-query' import { useProjectInvoicesQuery } from 'data/invoices/project-invoices-query' import { useStore } from 'hooks' @@ -29,9 +29,13 @@ const Invoices = () => { }) const invoices = data || [] + useEffect(() => { + setPage(1) + }, [projectRef]) + const fetchInvoice = async (id: string) => { try { - const invoice = await getProjectInvoice({ id }) + const invoice = await getInvoice({ id }) if (invoice?.invoice_pdf) window.open(invoice.invoice_pdf, '_blank') } catch (error: any) { ui.setNotification({ diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/BillingAddress/BillingAddress.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/BillingAddress/BillingAddress.tsx index c35082667d2..98951927271 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/BillingAddress/BillingAddress.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/BillingAddress/BillingAddress.tsx @@ -56,9 +56,9 @@ const BillingAddress = () => { return ( -
-

Billing Address

-

+

+

Billing Address

+

This will be reflected in every upcoming invoice, past invoices are not affected

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/BillingBreakdown/BillingBreakdown.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/BillingBreakdown/BillingBreakdown.tsx index 706150d5c43..44049b6780a 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/BillingBreakdown/BillingBreakdown.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/BillingBreakdown/BillingBreakdown.tsx @@ -49,9 +49,9 @@ const BillingBreakdown = () => { return ( -
-

Billing breakdown

-

+

+

Billing breakdown

+

Current billing cycle: {billingCycleStart.format('MMM DD')} -{' '} {billingCycleEnd.format('MMM DD')}

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/BillingEmail.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/BillingEmail.tsx index 130960f0e2f..2041551f264 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/BillingEmail.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/BillingEmail.tsx @@ -56,13 +56,11 @@ const BillingEmail = () => { return ( -
-
-

Email Recipient

-

- All billing correspondence will go to this email -

-
+
+

Email Recipient

+

+ All billing correspondence will go to this email +

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/CostControl/CostControl.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/CostControl/CostControl.tsx index 68ce2b7bd22..e377cb39452 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/CostControl/CostControl.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/CostControl/CostControl.tsx @@ -42,10 +42,10 @@ const CostControl = ({}: CostControlProps) => { <> -
-
-

Cost Control

-

+

+
+

Cost Control

+

Control whether to use beyond your plans included quota

@@ -55,7 +55,7 @@ const CostControl = ({}: CostControlProps) => {
-

Spend cap

+

Spend cap

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/CreditBalance.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/CreditBalance.tsx index 25e255174a5..6ad16720eec 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/CreditBalance.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/CreditBalance.tsx @@ -26,13 +26,13 @@ const CreditBalance = () => { return ( -
+
-

Credit balance

+

Credit balance

{isCredit && You have credits available} {isDebt && Outstanding payments}
-

+

Charges will be deducted from your balance first

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/PaymentMethods/PaymentMethods.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/PaymentMethods/PaymentMethods.tsx index 92cba91045c..4d5dbb62166 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/PaymentMethods/PaymentMethods.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/PaymentMethods/PaymentMethods.tsx @@ -54,14 +54,12 @@ const PaymentMethods = () => { <> -
-
-

Payment methods

-

- After adding a payment method, make sure to mark it as active to use it for billing. - You can remove unused cards. -

-
+
+

Payment methods

+

+ After adding a payment method, make sure to mark it as active to use it for billing. + You can remove unused cards. +

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/Subscription/Subscription.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/Subscription/Subscription.tsx index c5c07a0f72f..1c16833a2a0 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/Subscription/Subscription.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/Subscription/Subscription.tsx @@ -43,15 +43,15 @@ const Subscription = () => { <> -
-

Subscription Plan

+
+

Subscription Plan

-

More information

+

More information

-

Pricing

+

Pricing

diff --git a/studio/components/interfaces/Organization/BillingSettingsV2/TaxID/TaxID.tsx b/studio/components/interfaces/Organization/BillingSettingsV2/TaxID/TaxID.tsx index 6e5f4c6d1c2..a18a716e5bc 100644 --- a/studio/components/interfaces/Organization/BillingSettingsV2/TaxID/TaxID.tsx +++ b/studio/components/interfaces/Organization/BillingSettingsV2/TaxID/TaxID.tsx @@ -134,17 +134,15 @@ const TaxID = () => { return ( -
-
-

Tax ID

-

- If you would like to include specific tax ID(s) to your invoices. Old invoices are not - affected. -

-

- Make sure the tax ID looks exactly like the placeholder text. -

-
+
+

Tax ID

+

+ If you would like to include specific tax ID(s) to your invoices. Old invoices are not + affected. +

+

+ Make sure the tax ID looks exactly like the placeholder text. +

diff --git a/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx b/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx index 318871d4b62..5b3d9534538 100644 --- a/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx +++ b/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx @@ -3,14 +3,15 @@ import Link from 'next/link' import { useEffect, useState } from 'react' import { InvoiceStatusBadge } from 'components/interfaces/BillingV2' -import { Invoice, InvoiceStatus } from 'components/interfaces/BillingV2/Invoices.types' +import { InvoiceStatus } from 'components/interfaces/BillingV2/Invoices.types' +import { ScaffoldContainerLegacy } from 'components/layouts/Scaffold' import Table from 'components/to-be-cleaned/Table' import NoPermission from 'components/ui/NoPermission' +import { getInvoice } from 'data/invoices/invoice-query' +import { useInvoicesCountQuery } from 'data/invoices/invoices-count-query' +import { useInvoicesQuery } from 'data/invoices/invoices-query' import { useCheckPermissions, useSelectedOrganization, useStore } from 'hooks' -import { get, head } from 'lib/common/fetch' -import { API_URL } from 'lib/constants' import { Button, IconChevronLeft, IconChevronRight, IconDownload, IconFileText, Loading } from 'ui' -import { ScaffoldContainerLegacy } from 'components/layouts/Scaffold' const PAGE_LIMIT = 10 @@ -18,11 +19,7 @@ const PAGE_LIMIT = 10 const InvoicesSettings = () => { const { ui } = useStore() - const [loading, setLoading] = useState(false) - const [page, setPage] = useState(1) - const [count, setCount] = useState(0) - const [invoices, setInvoices] = useState([]) const selectedOrganization = useSelectedOrganization() const { stripe_customer_id, slug } = selectedOrganization ?? {} @@ -30,66 +27,30 @@ const InvoicesSettings = () => { const canReadInvoices = useCheckPermissions(PermissionAction.READ, 'invoices') + const { data: count, isError: isErrorCount } = useInvoicesCountQuery({ + customerId: stripe_customer_id, + slug, + }) + const { data, isLoading } = useInvoicesQuery({ + customerId: stripe_customer_id, + slug, + offset, + limit: PAGE_LIMIT, + }) + const invoices = data || [] + useEffect(() => { - if (!canReadInvoices || !stripe_customer_id || !slug) return + setPage(1) + }, [slug]) - let cancel = false - const page = 1 - - const fetchInvoiceCount = async () => { - const res = await head( - `${API_URL}/stripe/invoices?customer=${stripe_customer_id}&slug=${slug}`, - ['X-Total-Count'] - ) - if (!cancel) { - if (res.error) { - ui.setNotification({ category: 'error', message: res.error.message }) - } else { - setCount(res['X-Total-Count']) - } - } - } - - setPage(page) - fetchInvoices(page) - fetchInvoiceCount() - - return () => { - cancel = true - } - }, [stripe_customer_id, slug]) - - const fetchInvoices = async (page: number) => { - setLoading(true) - setPage(page) - - const offset = (page - 1) * PAGE_LIMIT - const invoices = await get( - `${API_URL}/stripe/invoices?offset=${offset}&limit=${PAGE_LIMIT}&customer=${stripe_customer_id}&slug=${slug}` - ) - - if (invoices.error) { + const fetchInvoice = async (id: string) => { + try { + const invoice = await getInvoice({ id }) + if (invoice?.invoice_pdf) window.open(invoice.invoice_pdf, '_blank') + } catch (error: any) { ui.setNotification({ - error: invoices.error, - category: 'error', - message: `Failed to fetch invoices: ${invoices.error.message}`, - }) - } else { - setInvoices(invoices) - } - - setLoading(false) - } - - const fetchInvoice = async (invoiceId: string) => { - const invoice = await get(`${API_URL}/stripe/invoices/${invoiceId}`) - if (invoice?.invoice_pdf) { - window.open(invoice.invoice_pdf, '_blank') - } else { - ui.setNotification({ - error: invoice.error, category: 'info', - message: `Unable to fetch the selected invoice: ${invoice.error.message}`, + message: `Failed to fetch the selected invoice: ${error.message}`, }) } } @@ -100,7 +61,7 @@ const InvoicesSettings = () => { return ( - +

, @@ -117,7 +78,7 @@ const InvoicesSettings = () => {

- {loading ? 'Checking for invoices' : 'No invoices for this organization yet'} + {isLoading ? 'Checking for invoices' : 'No invoices for this organization yet'}

@@ -165,7 +126,11 @@ const InvoicesSettings = () => {

- Showing {offset + 1} to {offset + invoices.length} out of {count} invoices + {isErrorCount + ? 'Failed to retrieve total number of invoices' + : `Showing ${offset + 1} to ${ + offset + invoices.length + } out of ${count} invoices`}

diff --git a/studio/components/layouts/Scaffold.tsx b/studio/components/layouts/Scaffold.tsx index 0ed8f43a859..e86c3ace300 100644 --- a/studio/components/layouts/Scaffold.tsx +++ b/studio/components/layouts/Scaffold.tsx @@ -65,7 +65,7 @@ const ScaffoldSectionDetail = React.forwardRef< >(({ className, children, title, ...props }, ref) => { return (
-

{title}

+ {title &&

{title}

} {children}
) diff --git a/studio/data/invoices/invoice-query.ts b/studio/data/invoices/invoice-query.ts new file mode 100644 index 00000000000..e1ff6e23fd5 --- /dev/null +++ b/studio/data/invoices/invoice-query.ts @@ -0,0 +1,36 @@ +import { useQuery, UseQueryOptions } from '@tanstack/react-query' +import { get } from 'data/fetchers' +import { ResponseError } from 'types' +import { invoicesKeys } from './keys' + +export type InvoiceVariables = { + id?: string +} + +export async function getInvoice({ id }: InvoiceVariables, signal?: AbortSignal) { + if (!id) throw new Error('Invoice ID is required') + + const { data, error } = await get(`/platform/stripe/invoices/{id}`, { + params: { path: { id } }, + signal, + }) + + if (error) throw error + return data +} + +export type InvoiceData = Awaited> +export type InvoiceError = ResponseError + +export const useInvoiceQuery = ( + { id }: InvoiceVariables, + { enabled = true, ...options }: UseQueryOptions = {} +) => + useQuery( + invoicesKeys.invoice(id), + ({ signal }) => getInvoice({ id }, signal), + { + enabled: enabled && typeof id !== 'undefined', + ...options, + } + ) diff --git a/studio/data/invoices/invoices-count-query.ts b/studio/data/invoices/invoices-count-query.ts new file mode 100644 index 00000000000..8d8fe650e3d --- /dev/null +++ b/studio/data/invoices/invoices-count-query.ts @@ -0,0 +1,41 @@ +import { useQuery, UseQueryOptions } from '@tanstack/react-query' +import { head } from 'data/fetchers' +import { ResponseError } from 'types' +import { invoicesKeys } from './keys' + +export type InvoicesCountVariables = { + customerId?: string + slug?: string +} + +export async function getInvoicesCount( + { customerId, slug }: InvoicesCountVariables, + signal?: AbortSignal +) { + if (!customerId) throw new Error('Customer ID is required') + if (!slug) throw new Error('Slug is required') + + const res = await head(`/platform/stripe/invoices`, { + params: { query: { customer: customerId, slug } }, + signal, + }) + + if (res.error) throw (res as any).error + return Number(res.response.headers.get('X-Total-Count')) +} + +export type InvoicesCountData = Awaited> +export type InvoicesCountError = ResponseError + +export const useInvoicesCountQuery = ( + { customerId, slug }: InvoicesCountVariables, + { enabled = true, ...options }: UseQueryOptions = {} +) => + useQuery( + invoicesKeys.count(customerId, slug), + ({ signal }) => getInvoicesCount({ customerId, slug }, signal), + { + enabled: enabled && typeof customerId !== 'undefined' && typeof slug !== 'undefined', + ...options, + } + ) diff --git a/studio/data/invoices/invoices-query.ts b/studio/data/invoices/invoices-query.ts new file mode 100644 index 00000000000..1031d9650d9 --- /dev/null +++ b/studio/data/invoices/invoices-query.ts @@ -0,0 +1,50 @@ +import { useQuery, UseQueryOptions } from '@tanstack/react-query' +import { get } from 'data/fetchers' +import { ResponseError } from 'types' +import { invoicesKeys } from './keys' + +export type InvoicesVariables = { + customerId?: string + slug?: string + offset: number + limit: number +} + +export async function getInvoices( + { customerId, slug, offset, limit }: InvoicesVariables, + signal?: AbortSignal +) { + if (!customerId) throw new Error('Customer ID is required') + if (!slug) throw new Error('Org slug is required') + + const { data, error } = await get(`/platform/stripe/invoices`, { + params: { + query: { offset: offset.toString(), limit: limit.toString(), customer: customerId, slug }, + }, + signal, + }) + + if (error) throw error + return data +} + +export type InvoicesData = Awaited> +export type InvoicesError = ResponseError + +export const useInvoicesQuery = ( + { customerId, slug, offset, limit }: InvoicesVariables, + { enabled = true, ...options }: UseQueryOptions = {} +) => + useQuery( + invoicesKeys.list(customerId, slug), + ({ signal }) => getInvoices({ customerId, slug, offset, limit }, signal), + { + enabled: + enabled && + typeof customerId !== 'undefined' && + typeof slug !== 'undefined' && + typeof limit !== 'undefined' && + typeof offset !== 'undefined', + ...options, + } + ) diff --git a/studio/data/invoices/keys.ts b/studio/data/invoices/keys.ts index b515f9788aa..6c25d4fe23e 100644 --- a/studio/data/invoices/keys.ts +++ b/studio/data/invoices/keys.ts @@ -1,6 +1,12 @@ export const invoicesKeys = { overdueInvoices: () => ['invoices', 'overdue'] as const, - invoice: (id: string | undefined) => ['invoices', id] as const, + + invoice: (id: string | undefined) => ['invoice', id] as const, + list: (customerId: string | undefined, slug: string | undefined) => + ['invoices', customerId, slug] as const, + count: (customerId: string | undefined, slug: string | undefined) => + ['invoices', customerId, slug, 'count'] as const, + projectInvoices: (projectRef: string | undefined) => ['invoices', projectRef] as const, projectInvoicesCount: (projectRef: string | undefined) => ['invoices', projectRef, 'count'] as const, diff --git a/studio/data/invoices/project-invoice-query.ts b/studio/data/invoices/project-invoice-query.ts deleted file mode 100644 index 157dda1176c..00000000000 --- a/studio/data/invoices/project-invoice-query.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query' -import { get } from 'data/fetchers' -import { ResponseError } from 'types' -import { invoicesKeys } from './keys' - -export type ProjectInvoiceVariables = { - id?: string -} - -export async function getProjectInvoice({ id }: ProjectInvoiceVariables, signal?: AbortSignal) { - if (!id) throw new Error('Invoice ID is required') - - const { data, error } = await get(`/platform/stripe/invoices/{id}`, { - params: { path: { id } }, - signal, - }) - - if (error) throw error - return data -} - -export type ProjectInvoiceData = Awaited> -export type ProjectInvoiceError = ResponseError - -export const useProjectInvoiceQuery = ( - { id }: ProjectInvoiceVariables, - { - enabled = true, - ...options - }: UseQueryOptions = {} -) => - useQuery( - invoicesKeys.invoice(id), - ({ signal }) => getProjectInvoice({ id }, signal), - { - enabled: enabled && typeof id !== 'undefined', - ...options, - } - ) From 8e59e9ff02ec245ea2757d09ffe242c27a812475 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Fri, 11 Aug 2023 17:13:07 +0800 Subject: [PATCH 11/94] Shift fetching payment methods on new project page to RQ --- .../BillingSettings/BillingSettings.tsx | 8 +-- .../InvoicesSettings/InvoicesSettings.tsx | 14 ++-- .../organization-payment-methods-query.ts | 10 +-- studio/pages/new/[slug].tsx | 64 ++++++------------- 4 files changed, 39 insertions(+), 57 deletions(-) diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx index c18d3297dfd..b453da92d71 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx @@ -1,19 +1,19 @@ +import { PermissionAction } from '@supabase/shared-types/out/constants' +import { useParams } from 'common' import { useEffect, useState } from 'react' -import { useParams } from 'common/hooks' +import { ScaffoldContainerLegacy } from 'components/layouts/Scaffold' import { useProjectsQuery } from 'data/projects/projects-query' import { useCheckPermissions, useFlag, useSelectedOrganization, useStore } from 'hooks' -import { PermissionAction } from '@supabase/shared-types/out/constants' import { get } from 'lib/common/fetch' import { API_URL } from 'lib/constants' +import OrganizationBillingMigrationPanel from '../GeneralSettings/OrganizationBillingMigrationPanel' import BillingAddress from './BillingAddress/BillingAddress' import BillingEmail from './BillingEmail' import CreditBalance from './CreditBalance' import PaymentMethods from './PaymentMethods' import ProjectsSummary from './ProjectsSummary' import TaxID from './TaxID/TaxID' -import OrganizationBillingMigrationPanel from '../GeneralSettings/OrganizationBillingMigrationPanel' -import { ScaffoldContainer, ScaffoldContainerLegacy } from 'components/layouts/Scaffold' const BillingSettings = () => { const { ui } = useStore() diff --git a/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx b/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx index 5b3d9534538..61a002132ac 100644 --- a/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx +++ b/studio/components/interfaces/Organization/InvoicesSettings/InvoicesSettings.tsx @@ -12,11 +12,11 @@ import { useInvoicesCountQuery } from 'data/invoices/invoices-count-query' import { useInvoicesQuery } from 'data/invoices/invoices-query' import { useCheckPermissions, useSelectedOrganization, useStore } from 'hooks' import { Button, IconChevronLeft, IconChevronRight, IconDownload, IconFileText, Loading } from 'ui' +import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader' +import AlertError from 'components/ui/AlertError' const PAGE_LIMIT = 10 -// Refactor: Split invoices by projects so it's easier for users to identify - const InvoicesSettings = () => { const { ui } = useStore() const [page, setPage] = useState(1) @@ -31,7 +31,7 @@ const InvoicesSettings = () => { customerId: stripe_customer_id, slug, }) - const { data, isLoading } = useInvoicesQuery({ + const { data, error, isLoading, isError, isSuccess } = useInvoicesQuery({ customerId: stripe_customer_id, slug, offset, @@ -61,7 +61,11 @@ const InvoicesSettings = () => { return ( - + {isLoading && } + + {isError && } + + {isSuccess && (
, @@ -155,7 +159,7 @@ const InvoicesSettings = () => { ) } /> - + )} ) } diff --git a/studio/data/organizations/organization-payment-methods-query.ts b/studio/data/organizations/organization-payment-methods-query.ts index 6118492f797..ca5faad6d9d 100644 --- a/studio/data/organizations/organization-payment-methods-query.ts +++ b/studio/data/organizations/organization-payment-methods-query.ts @@ -31,7 +31,7 @@ export type OrganizationPaymentMethod = { } } -export async function getOrganizations( +export async function getOrganizationPaymentMethods( { slug }: OrganizationPaymentMethodsVariables, signal?: AbortSignal ) { @@ -43,7 +43,9 @@ export async function getOrganizations( return response.data as OrganizationPaymentMethod[] } -export type OrganizationPaymentMethodsData = Awaited> +export type OrganizationPaymentMethodsData = Awaited< + ReturnType +> export type OrganizationPaymentMethodsError = unknown export const useOrganizationPaymentMethodsQuery = ( @@ -55,7 +57,7 @@ export const useOrganizationPaymentMethodsQuery = useQuery( organizationKeys.paymentMethods(slug), - ({ signal }) => getOrganizations({ slug }, signal), + ({ signal }) => getOrganizationPaymentMethods({ slug }, signal), { enabled: enabled, ...options } ) @@ -67,7 +69,7 @@ export const useOrganizationPaymentMethodsPrefetch = ({ return useCallback( () => client.prefetchQuery(organizationKeys.paymentMethods(slug), ({ signal }) => - getOrganizations({ slug }, signal) + getOrganizationPaymentMethods({ slug }, signal) ), [] ) diff --git a/studio/pages/new/[slug].tsx b/studio/pages/new/[slug].tsx index ac424100810..70f25698dde 100644 --- a/studio/pages/new/[slug].tsx +++ b/studio/pages/new/[slug].tsx @@ -1,11 +1,23 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' +import { useParams } from 'common' import generator from 'generate-password' import { debounce, isUndefined } from 'lodash' import { observer } from 'mobx-react-lite' +import Link from 'next/link' import Router, { useRouter } from 'next/router' import { useEffect, useRef, useState } from 'react' +import { + Alert, + Button, + IconExternalLink, + IconHelpCircle, + IconInfo, + IconUsers, + Input, + Listbox, + Toggle, +} from 'ui' -import { useParams } from 'common/hooks' import { SpendCapModal } from 'components/interfaces/BillingV2' import { EmptyPaymentMethodWarning, @@ -18,10 +30,12 @@ import InformationBox from 'components/ui/InformationBox' import Panel from 'components/ui/Panel' import PasswordStrengthBar from 'components/ui/PasswordStrengthBar' import { useFreeProjectLimitCheckQuery } from 'data/organizations/free-project-limit-check-query' +import { useOrganizationPaymentMethodsQuery } from 'data/organizations/organization-payment-methods-query' import { useOrganizationsQuery } from 'data/organizations/organizations-query' +import { useProjectsQuery } from 'data/projects/projects-query' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' import { useCheckPermissions, useFlag, useStore, withAuth } from 'hooks' -import { get, post } from 'lib/common/fetch' +import { post } from 'lib/common/fetch' import { API_URL, AWS_REGIONS, @@ -38,19 +52,6 @@ import { } from 'lib/constants' import { passwordStrength, pluckObjectFields } from 'lib/helpers' import { NextPageWithLayout } from 'types' -import { - Alert, - Button, - IconExternalLink, - IconHelpCircle, - IconInfo, - IconUsers, - Input, - Listbox, - Toggle, -} from 'ui' -import Link from 'next/link' -import { useProjectsQuery } from 'data/projects/projects-query' const Wizard: NextPageWithLayout = () => { const router = useRouter() @@ -73,16 +74,16 @@ const Wizard: NextPageWithLayout = () => { const [passwordStrengthMessage, setPasswordStrengthMessage] = useState('') const [passwordStrengthWarning, setPasswordStrengthWarning] = useState('') const [passwordStrengthScore, setPasswordStrengthScore] = useState(0) - const [paymentMethods, setPaymentMethods] = useState(undefined) - const [showSpendCapHelperModal, setShowSpendCapHelperModal] = useState(false) - const [isSpendCapEnabled, setIsSpendCapEnabled] = useState(true) const { data: organizations, isSuccess: isOrganizationsSuccess } = useOrganizationsQuery() const currentOrg = organizations?.find((o: any) => o.slug === slug) const billedViaOrg = Boolean(currentOrg?.subscription_id) + const { data: paymentMethods, refetch: refetchPaymentMethods } = + useOrganizationPaymentMethodsQuery({ slug }) + const { data: orgSubscription } = useOrgSubscriptionQuery( { orgSlug: slug }, { enabled: billedViaOrg } @@ -148,25 +149,6 @@ const Wizard: NextPageWithLayout = () => { } }, []) - async function getPaymentMethods(slug: string) { - const { data: paymentMethods, error } = await get(`${API_URL}/organizations/${slug}/payments`) - if (!error) { - setPaymentMethods(paymentMethods) - } else { - ui.setNotification({ - error, - category: 'error', - message: `Failed to retrieve payment methods: ${error.message}`, - }) - } - } - - useEffect(() => { - if (slug) { - getPaymentMethods(slug as string) - } - }, [slug]) - function onProjectNameChange(e: any) { e.target.value = e.target.value.replace(/\./g, '') setProjectName(e.target.value) @@ -196,12 +178,6 @@ const Wizard: NextPageWithLayout = () => { setDbPricingTierKey(value) } - function onPaymentMethodAdded() { - if (slug) { - return getPaymentMethods(slug) - } - } - async function checkPasswordStrength(value: any) { const { message, warning, strength } = await passwordStrength(value) setPasswordStrengthScore(strength) @@ -575,7 +551,7 @@ const Wizard: NextPageWithLayout = () => { )} {!billedViaOrg && !isSelectFreeTier && isEmptyPaymentMethod && ( - + refetchPaymentMethods()} /> )} )} From 28c704fdebb3acc7262983b3c497711773b742fb Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Fri, 11 Aug 2023 17:44:10 +0800 Subject: [PATCH 12/94] Refactor and shift all GET calls in org v1 billing settings to RQ --- .../BillingAddress/BillingAddress.tsx | 264 +++++++++--------- .../BillingSettings/BillingSettings.tsx | 96 +------ .../BillingSettings/PaymentMethods.tsx | 120 ++++---- .../BillingSettings/TaxID/TaxID.tsx | 173 ++++++------ .../organization-payment-methods-query.ts | 3 +- 5 files changed, 298 insertions(+), 358 deletions(-) diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx index 510117e4e2c..4a873cf5cac 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingAddress/BillingAddress.tsx @@ -1,26 +1,33 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' +import { useParams } from 'common' import { isEqual } from 'lodash' import { useState } from 'react' import { Button, Form, Input, Listbox } from 'ui' +import AlertError from 'components/ui/AlertError' import NoPermission from 'components/ui/NoPermission' import Panel from 'components/ui/Panel' -import { useCheckPermissions, useSelectedOrganization, useStore } from 'hooks' +import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader' +import { useOrganizationCustomerProfileQuery } from 'data/organizations/organization-customer-profile-query' +import { useCheckPermissions, useStore } from 'hooks' import { patch } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { COUNTRIES } from './BillingAddress.constants' -export interface BillingAddressProps { - loading: boolean - address: { [key: string]: any } - onAddressUpdated: (address: any) => void -} - -const BillingAddress = ({ loading, address, onAddressUpdated }: BillingAddressProps) => { +const BillingAddress = () => { const { ui } = useStore() - const selectedOrganization = useSelectedOrganization() - const orgSlug = selectedOrganization?.slug ?? '' - const { city, country, line1, line2, postal_code, state } = address + const { slug } = useParams() + + const { + data: customer, + error: customerError, + refetch: refetchCustomer, + isError: isErrorCustomer, + isLoading: isLoadingCustomer, + isSuccess: isSuccessCustomer, + } = useOrganizationCustomerProfileQuery({ slug }) + + const { city, country, line1, line2, postal_code, state } = customer?.address ?? {} const canReadBillingAddress = useCheckPermissions( PermissionAction.BILLING_READ, @@ -54,7 +61,7 @@ const BillingAddress = ({ loading, address, onAddressUpdated }: BillingAddressPr const onSubmit = async (values: any, { setSubmitting }: any) => { try { setSubmitting(true) - const updatedCustomer = await patch(`${API_URL}/organizations/${orgSlug}/customer`, { + const updatedCustomer = await patch(`${API_URL}/organizations/${slug}/customer`, { address: values, }) if (updatedCustomer.error) throw updatedCustomer.error @@ -62,7 +69,7 @@ const BillingAddress = ({ loading, address, onAddressUpdated }: BillingAddressPr category: 'success', message: 'Successfully updated billing address', }) - onAddressUpdated(updatedCustomer.address) + refetchCustomer() } catch (error: any) { ui.setNotification({ category: 'error', @@ -80,122 +87,125 @@ const BillingAddress = ({ loading, address, onAddressUpdated }: BillingAddressPr

Billing address

This will be reflected in every invoice

- - {loading ? ( -
-
-
-
-
- ) : !canReadBillingAddress ? ( - - ) : ( -
- {({ isSubmitting, handleReset }: any) => { - return ( - <> - - - -
- } + + {isErrorCustomer && ( + + )} + + {isSuccessCustomer && ( + + {!canReadBillingAddress ? ( + + ) : ( + + {({ isSubmitting, handleReset }: any) => { + return ( + <> + + - - --- - - {COUNTRIES.map((country) => ( - - {country.name} + /> + +
+ + + --- - ))} - - -
-
- - -
-
-
- - {!canUpdateBillingAddress ? ( -

- You need additional permissions to update this organization's billing - address -

- ) : ( -
- )} -
- - -
- - - ) - }} - - )} - + {COUNTRIES.map((country) => ( + + {country.name} + + ))} + + +
+
+ + +
+
+
+ + {!canUpdateBillingAddress ? ( +

+ You need additional permissions to update this organization's billing + address +

+ ) : ( +
+ )} +
+ + +
+ + + ) + }} + + )} + + )}
) } diff --git a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx index b453da92d71..5198576d01c 100644 --- a/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/BillingSettings.tsx @@ -1,12 +1,10 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' import { useParams } from 'common' -import { useEffect, useState } from 'react' import { ScaffoldContainerLegacy } from 'components/layouts/Scaffold' +import { useOrganizationCustomerProfileQuery } from 'data/organizations/organization-customer-profile-query' import { useProjectsQuery } from 'data/projects/projects-query' -import { useCheckPermissions, useFlag, useSelectedOrganization, useStore } from 'hooks' -import { get } from 'lib/common/fetch' -import { API_URL } from 'lib/constants' +import { useCheckPermissions, useFlag, useSelectedOrganization } from 'hooks' import OrganizationBillingMigrationPanel from '../GeneralSettings/OrganizationBillingMigrationPanel' import BillingAddress from './BillingAddress/BillingAddress' import BillingEmail from './BillingEmail' @@ -16,7 +14,6 @@ import ProjectsSummary from './ProjectsSummary' import TaxID from './TaxID/TaxID' const BillingSettings = () => { - const { ui } = useStore() const { slug } = useParams() const organization = useSelectedOrganization() @@ -24,16 +21,8 @@ const BillingSettings = () => { const projects = allProjects?.filter((project) => project.organization_id === organization?.id) ?? [] - const [customer, setCustomer] = useState(null) - const [isLoadingCustomer, setIsLoadingCustomer] = useState(false) + const { data: customer } = useOrganizationCustomerProfileQuery({ slug }) - const [paymentMethods, setPaymentMethods] = useState(null) - const [isLoadingPaymentMethods, setIsLoadingPaymentMethods] = useState(false) - - const [taxIds, setTaxIds] = useState(null) - const [isLoadingTaxIds, setIsLoadingTaxIds] = useState(false) - - const defaultPaymentMethod = customer?.invoice_settings?.default_payment_method ?? '' const customerBalance = customer && customer.balance ? customer.balance / 100 : 0 const isCredit = customerBalance < 0 const isDebt = customerBalance > 0 @@ -47,88 +36,23 @@ const BillingSettings = () => { const selectedOrganization = useSelectedOrganization() const { subscription_id } = selectedOrganization ?? {} - const getCustomerProfile = async () => { - try { - setIsLoadingCustomer(true) - const customer = await get(`${API_URL}/organizations/${slug}/customer`) - if (customer.error) throw customer.error - setCustomer(customer) - setIsLoadingCustomer(false) - } catch (error: any) { - ui.setNotification({ - error, - category: 'error', - message: `Failed to get organization information: ${error.message}`, - }) - } - } - - const getPaymentMethods = async () => { - try { - setIsLoadingPaymentMethods(true) - const { data: paymentMethods, error } = await get(`${API_URL}/organizations/${slug}/payments`) - if (error) throw error - setPaymentMethods(paymentMethods) - setIsLoadingPaymentMethods(false) - } catch (error: any) { - ui.setNotification({ - error, - category: 'error', - message: `Failed to get organization payment methods: ${error.message}`, - }) - } - } - - const getTaxIds = async () => { - try { - setIsLoadingTaxIds(true) - const { data: taxIds, error } = await get(`${API_URL}/organizations/${slug}/tax-ids`) - if (error) throw error - setTaxIds(taxIds) - setIsLoadingTaxIds(false) - } catch (error: any) { - ui.setNotification({ - error, - category: 'error', - message: `Failed to get organization tax IDs: ${error.message}`, - }) - } - } - - useEffect(() => { - getCustomerProfile() - getPaymentMethods() - getTaxIds() - }, [slug]) - return ( {orgBillingMigrationEnabled && canMigrateOrganization && !subscription_id && ( )} + + - getPaymentMethods()} - onPaymentMethodAdded={() => getPaymentMethods()} - /> + + - setCustomer({ ...customer, address })} - /> - setTaxIds(ids)} - /> + + + ) } diff --git a/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx b/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx index 39076b09d92..6b208ea9264 100644 --- a/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx +++ b/studio/components/interfaces/Organization/BillingSettings/PaymentMethods.tsx @@ -1,5 +1,6 @@ import * as Tooltip from '@radix-ui/react-tooltip' import { PermissionAction } from '@supabase/shared-types/out/constants' +import { useParams } from 'common' import { useState } from 'react' import { Alert, @@ -17,37 +18,38 @@ import { import { AddNewPaymentMethodModal } from 'components/interfaces/BillingV2' import NoPermission from 'components/ui/NoPermission' import Panel from 'components/ui/Panel' -import { useCheckPermissions, useSelectedOrganization, useStore } from 'hooks' +import { useOrganizationCustomerProfileQuery } from 'data/organizations/organization-customer-profile-query' +import { useOrganizationPaymentMethodsQuery } from 'data/organizations/organization-payment-methods-query' +import { useCheckPermissions, useStore } from 'hooks' import { delete_, patch } from 'lib/common/fetch' import { API_URL, BASE_PATH } from 'lib/constants' import { getURL } from 'lib/helpers' +import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader' +import AlertError from 'components/ui/AlertError' -export interface PaymentMethodsProps { - loading: boolean - defaultPaymentMethod: string - paymentMethods: any[] - onDefaultMethodUpdated: (updatedCustomer: any) => void - onPaymentMethodsDeleted: () => void - onPaymentMethodAdded: () => void -} - -const PaymentMethods = ({ - loading, - defaultPaymentMethod, - paymentMethods, - onDefaultMethodUpdated, - onPaymentMethodsDeleted, - onPaymentMethodAdded, -}: PaymentMethodsProps) => { +const PaymentMethods = () => { const { ui } = useStore() - const selectedOrganization = useSelectedOrganization() - const orgSlug = selectedOrganization?.slug ?? '' + const { slug } = useParams() const [selectedMethodForDefault, setSelectedMethodForDefault] = useState() const [selectedMethodToDelete, setSelectedMethodToDelete] = useState() const [showAddPaymentMethodModal, setShowAddPaymentMethodModal] = useState(false) const [isUpdatingPaymentMethod, setIsUpdatingPaymentMethod] = useState(false) + const { data: customer, refetch: refetchCustomer } = useOrganizationCustomerProfileQuery({ slug }) + + const { + data, + error: paymentMethodsError, + refetch: refetchPaymentMethods, + isLoading: isLoadingPaymentMethods, + isError: isErrorPaymentMethods, + isSuccess: isSuccessPaymentMethods, + } = useOrganizationPaymentMethodsQuery({ slug }) + const paymentMethods = data || [] + + const defaultPaymentMethod = customer?.invoice_settings?.default_payment_method ?? '' + const canReadPaymentMethods = useCheckPermissions( PermissionAction.BILLING_READ, 'stripe.payment_methods' @@ -60,13 +62,13 @@ const PaymentMethods = ({ const onConfirmMakeDefaultPaymentMethod = async () => { try { setIsUpdatingPaymentMethod(true) - const updatedCustomer = await patch(`${API_URL}/organizations/${orgSlug}/customer`, { + const updatedCustomer = await patch(`${API_URL}/organizations/${slug}/customer`, { invoice_settings: { default_payment_method: selectedMethodForDefault.id, }, }) if (updatedCustomer.error) throw updatedCustomer.error - onDefaultMethodUpdated(updatedCustomer) + refetchCustomer(updatedCustomer) setSelectedMethodForDefault(undefined) ui.setNotification({ category: 'success', @@ -85,11 +87,11 @@ const PaymentMethods = ({ const onConfirmDetachPaymentMethod = async () => { try { setIsUpdatingPaymentMethod(true) - const { error } = await delete_(`${API_URL}/organizations/${orgSlug}/payments`, { + const { error } = await delete_(`${API_URL}/organizations/${slug}/payments`, { card_id: selectedMethodToDelete.id, }) if (error) throw error - onPaymentMethodsDeleted() + refetchPaymentMethods() setSelectedMethodToDelete(undefined) ui.setNotification({ category: 'success', message: 'Successfully deleted payment method' }) } catch (error: any) { @@ -104,12 +106,12 @@ const PaymentMethods = ({ const onLocalPaymentMethodAdded = () => { setShowAddPaymentMethodModal(false) - return onPaymentMethodAdded() + return refetchPaymentMethods() } return ( <> -
+

Payment methods

@@ -119,45 +121,45 @@ const PaymentMethods = ({ your account.

- {!canReadPaymentMethods ? ( + + {!isLoadingPaymentMethods && !canReadPaymentMethods && ( - ) : ( + )} + + {isLoadingPaymentMethods && } + + {isErrorPaymentMethods && ( + + )} + + {isSuccessPaymentMethods && ( - {!canUpdatePaymentMethods ? ( -

- You need additional permissions to manage this organization's payment methods -

- ) : ( -
- )} -
- -
+
+ {!canUpdatePaymentMethods ? ( +

+ You need additional permissions to manage this organization's payment methods +

+ ) : ( +
+ )} +
+
- ) +
} > - {loading && paymentMethods.length === 0 ? ( -
-
-
-
-
- ) : paymentMethods.length >= 1 ? ( + {paymentMethods.length >= 1 ? (
{paymentMethods.map((paymentMethod: any) => { @@ -233,7 +235,7 @@ const PaymentMethods = ({
- {!canReadTaxIds ? ( + {isLoadingTaxIds && } + + {!isLoadingTaxIds && !canReadTaxIds && ( - ) : ( + )} + + {isErrorTaxIds && } + + {isSuccessTaxIds && ( {!canUpdateTaxIds ? (

@@ -180,71 +190,64 @@ const TaxID = ({ loading, taxIds, onTaxIdsUpdated }: TaxIDProps) => { ) } > - {loading && taxIdValues.length === 0 ? ( -

-
-
-
-
- ) : ( - - {taxIdValues.length >= 1 ? ( -
- {taxIdValues.map((taxId: StripeTaxId, idx: number) => { - const selectedTaxId = TAX_IDS.find((option) => option.name === taxId.name) - return ( -
- onUpdateTaxId(taxId.id, 'name', e)} - disabled={!canUpdateTaxIds} - className="w-[200px]" - > - {TAX_IDS.sort((a, b) => a.country.localeCompare(b.country)).map( - (option) => ( - - {option.country} - {option.name} - - ) - )} - - onUpdateTaxId(taxId.id, 'value', e.target.value)} - disabled={!canUpdateTaxIds} - /> - {canUpdateTaxIds && ( -
+ ) + })} +
+ ) : ( +
+

No tax IDs

+
+ )} + {canUpdateTaxIds && ( +
onAddNewTaxId()} + > + +

Add another ID

+
+ )} +
)}
diff --git a/studio/data/organizations/organization-payment-methods-query.ts b/studio/data/organizations/organization-payment-methods-query.ts index ca5faad6d9d..46bb30643ad 100644 --- a/studio/data/organizations/organization-payment-methods-query.ts +++ b/studio/data/organizations/organization-payment-methods-query.ts @@ -3,6 +3,7 @@ import { get } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { useCallback } from 'react' import { organizationKeys } from './keys' +import { ResponseError } from 'types' export type OrganizationPaymentMethodsVariables = { slug?: string } export type OrganizationPaymentMethod = { @@ -46,7 +47,7 @@ export async function getOrganizationPaymentMethods( export type OrganizationPaymentMethodsData = Awaited< ReturnType > -export type OrganizationPaymentMethodsError = unknown +export type OrganizationPaymentMethodsError = ResponseError export const useOrganizationPaymentMethodsQuery = ( { slug }: OrganizationPaymentMethodsVariables, From e33ad322b353276c0d82f406c9ec4bc080022cbd Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Fri, 11 Aug 2023 17:48:35 +0800 Subject: [PATCH 13/94] Update --- studio/data/api.d.ts | 469 +++++++++++++------------ studio/data/invoices/invoices-query.ts | 1 + 2 files changed, 239 insertions(+), 231 deletions(-) diff --git a/studio/data/api.d.ts b/studio/data/api.d.ts index 835dda10d13..0ee3535b234 100644 --- a/studio/data/api.d.ts +++ b/studio/data/api.d.ts @@ -225,6 +225,14 @@ export interface paths { /** Gets the upcoming invoice */ get: operations["OrgInvoicesController_getUpcomingInvoice"]; }; + "/platform/pg-meta/{ref}/column-privileges": { + /** Retrieve column privileges */ + get: operations["ColumnPrivilegesController_getColumnPrivileges"]; + /** Grant column privileges */ + post: operations["ColumnPrivilegesController_grantColumnPrivileges"]; + /** Revoke column privileges */ + delete: operations["ColumnPrivilegesController_revokeColumnPrivileges"]; + }; "/platform/pg-meta/{ref}/columns": { /** Gets project pg.columns */ get: operations["ColumnsController_getColumns"]; @@ -321,6 +329,14 @@ export interface paths { /** Searches project pg.columns. Return maximum 50 results. */ post: operations["SearchController_searchColumns"]; }; + "/platform/pg-meta/{ref}/table-privileges": { + /** Retrieve table privileges */ + get: operations["TablePrivilegesController_getTablePrivileges"]; + /** Grant table privileges */ + post: operations["TablePrivilegesController_grantTablePrivileges"]; + /** Revoke table privileges */ + delete: operations["TablePrivilegesController_revokeTablePrivileges"]; + }; "/platform/pg-meta/{ref}/tables": { /** Gets project pg.tables or pg.table with the given ID */ get: operations["TablesController_getTables"]; @@ -961,6 +977,14 @@ export interface paths { /** Updates organization member */ patch: operations["MembersController_updateMember"]; }; + "/v0/pg-meta/{ref}/column-privileges": { + /** Retrieve column privileges */ + get: operations["ColumnPrivilegesController_getColumnPrivileges"]; + /** Grant column privileges */ + post: operations["ColumnPrivilegesController_grantColumnPrivileges"]; + /** Revoke column privileges */ + delete: operations["ColumnPrivilegesController_revokeColumnPrivileges"]; + }; "/v0/pg-meta/{ref}/columns": { /** Gets project pg.columns */ get: operations["ColumnsController_getColumns"]; @@ -1057,6 +1081,14 @@ export interface paths { /** Searches project pg.columns. Return maximum 50 results. */ post: operations["SearchController_searchColumns"]; }; + "/v0/pg-meta/{ref}/table-privileges": { + /** Retrieve table privileges */ + get: operations["TablePrivilegesController_getTablePrivileges"]; + /** Grant table privileges */ + post: operations["TablePrivilegesController_grantTablePrivileges"]; + /** Revoke table privileges */ + delete: operations["TablePrivilegesController_revokeTablePrivileges"]; + }; "/v0/pg-meta/{ref}/tables": { /** Gets project pg.tables or pg.table with the given ID */ get: operations["TablesController_getTables"]; @@ -1539,22 +1571,6 @@ export interface paths { /** Create an organization */ post: operations["OrganizationsController_createOrganization"]; }; - "/v1/organizations/{slug}/oauth/apps": { - /** List published or authorized oauth apps */ - get: operations["OAuthAppsController_listOAuthApps"]; - /** Create an oauth app */ - post: operations["OAuthAppsController_createOAuthApp"]; - }; - "/v1/organizations/{slug}/oauth/apps/{id}": { - /** Update an oauth app */ - put: operations["OAuthAppsController_updateOAuthApp"]; - /** Remove a published oauth app */ - delete: operations["OAuthAppsController_removeOAuthApp"]; - }; - "/v1/organizations/{slug}/oauth/apps/{id}/revoke": { - /** Revoke an authorized oauth app */ - post: operations["OAuthAppsController_revokeAuthorizedOAuthApp"]; - }; "/v1/oauth/authorize": { /** Authorize user through oauth */ get: operations["OAuthController_authorize"]; @@ -1563,13 +1579,6 @@ export interface paths { /** Exchange auth code for user's access and refresh token */ post: operations["OAuthController_token"]; }; - "/v1/oauth/authorizations/{id}": { - get: operations["AuthorizationsController_getAuthorizationRequest"]; - /** Approve oauth app authorization request */ - post: operations["AuthorizationsController_approveAuthorizationRequest"]; - /** Decline oauth app authorization request */ - delete: operations["AuthorizationsController_declineAuthorizationRequest"]; - }; } export type webhooks = Record; @@ -2536,6 +2545,33 @@ export interface components { /** @enum {string} */ tier: "tier_payg" | "tier_pro" | "tier_free" | "tier_team" | "tier_enterprise"; }; + ColumnPrivilege: { + grantor: string; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "REFERENCES"; + is_grantable: boolean; + }; + PostgresColumnPrivileges: { + column_id: string; + relation_schema: string; + relation_name: string; + column_name: string; + privileges: (components["schemas"]["ColumnPrivilege"])[]; + }; + GrantColumnPrivilegesBody: { + is_grantable?: boolean; + column_id: string; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "REFERENCES"; + }; + RevokeColumnPrivilegesBody: { + column_id: string; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "REFERENCES"; + }; PostgresColumn: { table_id: number; schema: string; @@ -2796,6 +2832,32 @@ export interface components { table_id: number; table: string; }; + TablePrivilege: { + grantor: string; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | "TRUNCATE" | "REFERENCES" | "TRIGGER"; + is_grantable: boolean; + }; + PostgresTablePrivileges: { + schema: string; + name: string; + kind: string; + privileges: (components["schemas"]["TablePrivilege"])[]; + }; + GrantTablePrivilegesBody: { + is_grantable?: boolean; + relation_id: number; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | "TRUNCATE" | "REFERENCES" | "TRIGGER"; + }; + RevokeTablePrivilegesBody: { + relation_id: number; + grantee: string; + /** @enum {string} */ + privilege_type: "ALL" | "SELECT" | "INSERT" | "UPDATE" | "DELETE" | "TRUNCATE" | "REFERENCES" | "TRIGGER"; + }; PrimaryKey: { schema: string; table_name: string; @@ -4214,55 +4276,6 @@ export interface components { entrypoint_path?: string; import_map_path?: string; }; - OAuthAppResponse: { - id: string; - name: string; - website: string; - icon?: string; - authorized_at?: string; - created_at?: string; - client_id?: string; - client_secret_alias?: string; - redirect_uris?: (string)[]; - }; - CreateOAuthAppBody: { - name: string; - website: string; - icon?: string; - redirect_uris: (string)[]; - }; - CreateOAuthAppResponse: { - id: string; - client_id: string; - client_secret: string; - }; - PutOAuthAppResponse: { - id: string; - client_id: string; - client_secret_alias: string; - created_at: string; - name: string; - website: string; - icon?: string; - redirect_uris: (string)[]; - }; - RevokeAuthorizedOAuthAppResponse: { - id: string; - name: string; - website: string; - icon?: string; - authorized_at: string; - }; - DeleteOAuthAppResponse: { - id: string; - name: string; - website: string; - icon?: string; - created_at: string; - client_id: string; - client_secret_alias: string; - redirect_uris: (string)[]; - }; OAuthTokenBody: { /** @enum {string} */ grant_type: "authorization_code" | "refresh_token"; @@ -4280,24 +4293,6 @@ export interface components { refresh_token: string; expires_in: number; }; - GetAuthorizationResponse: { - name: string; - website: string; - icon?: string; - domain: string; - expires_at: string; - approved_at?: string; - approved_organization_slug?: string; - }; - AuthorizationsApproveBody: { - organization_id: string; - }; - ApproveAuthorizationResponse: { - url: string; - }; - DeclineAuthorizationResponse: { - id: string; - }; }; responses: never; parameters: never; @@ -5499,6 +5494,82 @@ export interface operations { 500: never; }; }; + /** Retrieve column privileges */ + ColumnPrivilegesController_getColumnPrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + responses: { + 200: { + content: { + "application/json": (components["schemas"]["PostgresColumnPrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to retrieve column privileges */ + 500: never; + }; + }; + /** Grant column privileges */ + ColumnPrivilegesController_grantColumnPrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + requestBody: { + content: { + "application/json": (components["schemas"]["GrantColumnPrivilegesBody"])[]; + }; + }; + responses: { + 201: { + content: { + "application/json": (components["schemas"]["PostgresColumnPrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to grant column privileges */ + 500: never; + }; + }; + /** Revoke column privileges */ + ColumnPrivilegesController_revokeColumnPrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + requestBody: { + content: { + "application/json": (components["schemas"]["RevokeColumnPrivilegesBody"])[]; + }; + }; + responses: { + 200: { + content: { + "application/json": (components["schemas"]["PostgresColumnPrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to revoke column privileges */ + 500: never; + }; + }; /** Gets project pg.columns */ ColumnsController_getColumns: { parameters: { @@ -6413,6 +6484,82 @@ export interface operations { 500: never; }; }; + /** Retrieve table privileges */ + TablePrivilegesController_getTablePrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + responses: { + 200: { + content: { + "application/json": (components["schemas"]["PostgresTablePrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to retrieve table privileges */ + 500: never; + }; + }; + /** Grant table privileges */ + TablePrivilegesController_grantTablePrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + requestBody: { + content: { + "application/json": (components["schemas"]["GrantTablePrivilegesBody"])[]; + }; + }; + responses: { + 201: { + content: { + "application/json": (components["schemas"]["PostgresTablePrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to grant table privileges */ + 500: never; + }; + }; + /** Revoke table privileges */ + TablePrivilegesController_revokeTablePrivileges: { + parameters: { + header: { + "x-connection-encrypted": string; + }; + path: { + /** @description Project ref */ + ref: string; + }; + }; + requestBody: { + content: { + "application/json": (components["schemas"]["RevokeTablePrivilegesBody"])[]; + }; + }; + responses: { + 200: { + content: { + "application/json": (components["schemas"]["PostgresTablePrivileges"])[]; + }; + }; + 403: never; + /** @description Failed to revoke table privileges */ + 500: never; + }; + }; /** Gets project pg.tables or pg.table with the given ID */ TablesController_getTables: { parameters: { @@ -8458,7 +8605,7 @@ export interface operations { "application/json": components["schemas"]["CreateVercelConnectionResponse"]; }; }; - /** @description Failed to create project connections */ + /** @description Failed to create project connection */ 500: never; }; }; @@ -10142,97 +10289,6 @@ export interface operations { 500: never; }; }; - /** List published or authorized oauth apps */ - OAuthAppsController_listOAuthApps: { - parameters: { - query: { - type: "published" | "authorized"; - }; - path: { - slug: string; - }; - }; - responses: { - 200: { - content: { - "application/json": (components["schemas"]["OAuthAppResponse"])[]; - }; - }; - }; - }; - /** Create an oauth app */ - OAuthAppsController_createOAuthApp: { - parameters: { - path: { - slug: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOAuthAppBody"]; - }; - }; - responses: { - 201: { - content: { - "application/json": components["schemas"]["CreateOAuthAppResponse"]; - }; - }; - }; - }; - /** Update an oauth app */ - OAuthAppsController_updateOAuthApp: { - parameters: { - path: { - slug: string; - id: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOAuthAppBody"]; - }; - }; - responses: { - 200: { - content: { - "application/json": components["schemas"]["PutOAuthAppResponse"]; - }; - }; - }; - }; - /** Remove a published oauth app */ - OAuthAppsController_removeOAuthApp: { - parameters: { - path: { - slug: string; - id: string; - }; - }; - responses: { - 200: { - content: { - "application/json": components["schemas"]["DeleteOAuthAppResponse"]; - }; - }; - }; - }; - /** Revoke an authorized oauth app */ - OAuthAppsController_revokeAuthorizedOAuthApp: { - parameters: { - path: { - slug: string; - id: string; - }; - }; - responses: { - 201: { - content: { - "application/json": components["schemas"]["RevokeAuthorizedOAuthAppResponse"]; - }; - }; - }; - }; /** Authorize user through oauth */ OAuthController_authorize: { parameters: { @@ -10266,53 +10322,4 @@ export interface operations { }; }; }; - AuthorizationsController_getAuthorizationRequest: { - parameters: { - path: { - id: string; - }; - }; - responses: { - 200: { - content: { - "application/json": components["schemas"]["GetAuthorizationResponse"]; - }; - }; - }; - }; - /** Approve oauth app authorization request */ - AuthorizationsController_approveAuthorizationRequest: { - parameters: { - path: { - id: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["AuthorizationsApproveBody"]; - }; - }; - responses: { - 201: { - content: { - "application/json": components["schemas"]["ApproveAuthorizationResponse"]; - }; - }; - }; - }; - /** Decline oauth app authorization request */ - AuthorizationsController_declineAuthorizationRequest: { - parameters: { - path: { - id: string; - }; - }; - responses: { - 200: { - content: { - "application/json": components["schemas"]["DeclineAuthorizationResponse"]; - }; - }; - }; - }; } diff --git a/studio/data/invoices/invoices-query.ts b/studio/data/invoices/invoices-query.ts index 1031d9650d9..1c63e92b39a 100644 --- a/studio/data/invoices/invoices-query.ts +++ b/studio/data/invoices/invoices-query.ts @@ -19,6 +19,7 @@ export async function getInvoices( const { data, error } = await get(`/platform/stripe/invoices`, { params: { + // @ts-ignore: [Joshen] Might be API spec wrong query: { offset: offset.toString(), limit: limit.toString(), customer: customerId, slug }, }, signal, From 982858ebc294599c64b782cf6dcd2edee08e8721 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 20:09:31 +0200 Subject: [PATCH 14/94] Add zoomable image to vercel blog post and restore borders --- .../2023-08-10-using-supabase-with-vercel.mdx | 9 +++++--- apps/www/lib/mdx/mdxComponents.tsx | 22 +++++++------------ apps/www/styles/index.css | 5 +++++ 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/apps/www/_blog/2023-08-10-using-supabase-with-vercel.mdx b/apps/www/_blog/2023-08-10-using-supabase-with-vercel.mdx index 867c4b07920..21606166b4a 100644 --- a/apps/www/_blog/2023-08-10-using-supabase-with-vercel.mdx +++ b/apps/www/_blog/2023-08-10-using-supabase-with-vercel.mdx @@ -25,7 +25,10 @@ Our new [Vercel Integration](https://vercel.com/integrations/supabase-v2) stream You can now [link multiple](https://app.supabase.com/org/_/integrations) Vercel projects to a single Supabase project: -![Vercel in the Supabase dashboard](/images/blog/launch-week-8/day-4/vercel-dashboard.png) +Vercel in the Supabase dashboard Previously we mapped each Vercel project to a single Supabase project. With this release, we're introducing the concept of project 'Connections'. Supabase projects can have an unlimited number of Vercel Connections. This is especially useful for monorepos using [Turborepo](https://turbo.build/). @@ -33,7 +36,7 @@ Previously we mapped each Vercel project to a single Supabase project. With this We've improved the way we manage your Supabase environment variables. -![Vercel config](/images/blog/launch-week-8/day-4/vercel-config.png) +Vercel config Supabase keeps each of your Vercel Projects updated with Environment Variables, managing your secrets (like `service-role-key`) and public variables (like `supabase-url`). @@ -76,7 +79,7 @@ After Vercel has deployed the app, it works without any additional configuration We announced Database Branching on [Tuesday](/blog/supabase-local-dev#branching-and-preview-environments). We've designed this to work perfectly with Vercel's Preview Deployments. -![Vercel config](/images/blog/launch-week-8/day-4/supabase-vercel-branching.png) +Vercel branching For now, Branching in Supabase is limited to development partners. We'll be rolling it out to everyone over the coming months. If you're interested in testing the new features, [sign up for early access](https://forms.supabase.com/branching-request). diff --git a/apps/www/lib/mdx/mdxComponents.tsx b/apps/www/lib/mdx/mdxComponents.tsx index 6568225002b..92a7c63f8de 100644 --- a/apps/www/lib/mdx/mdxComponents.tsx +++ b/apps/www/lib/mdx/mdxComponents.tsx @@ -94,20 +94,14 @@ export default function mdxComponents(type?: 'blog' | 'lp' | undefined) { Img: ({ zoomable = true, ...props }: any) => (
- - {zoomable ? ( - - ) : ( - - )} + + {props.caption && ( diff --git a/apps/www/styles/index.css b/apps/www/styles/index.css index 20c211ab220..17712e0971c 100644 --- a/apps/www/styles/index.css +++ b/apps/www/styles/index.css @@ -782,6 +782,11 @@ launch week /* Zoomable image */ +[data-rmiz-modal]:focus, +[data-rmiz-modal-overlay]:focus { + outline: none !important; +} + [data-rmiz-modal-overlay], [data-rmiz-modal-img] { transition-timing-function: cubic-bezier(0.24, 0.25, 0.05, 1) !important; From cafe478e3d7ef19b934135f1284c39a0eb2ad6f2 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 20:15:39 +0200 Subject: [PATCH 15/94] Sync zoomable modal bg color --- .../_blog/2023-08-09-supabase-studio-3-0.mdx | 18 +++++++++++++++--- .../www/components/ZoomableImg/ZoomContent.tsx | 1 + apps/www/styles/index.css | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/apps/www/_blog/2023-08-09-supabase-studio-3-0.mdx b/apps/www/_blog/2023-08-09-supabase-studio-3-0.mdx index 4a79f060d79..061e1c9639b 100644 --- a/apps/www/_blog/2023-08-09-supabase-studio-3-0.mdx +++ b/apps/www/_blog/2023-08-09-supabase-studio-3-0.mdx @@ -59,11 +59,19 @@ Today, we're releasing a huge improvement to our SQL Editor. First up, we've add Supabase AI is aware of the SQL snippet in the editor and can modify it for you. You can ask it to change `customers` to `customer_orders`, for example. You can interact with the code the same way you would converse with ChatGPT until it's just right. -Create a table +Create a table Next, we've added a diff view for changes that Supabase AI makes to your SQL snippet. You can tell Supabase AI what you want changed, and visualize it as you would a Git diff. From this view, you can accept or reject the diffs, and keep asking Supabase AI to make changes until you're satisfied. -Create a table diff +Create a table diff We've wondered for a long time how to make it easier to teach developers how to use SQL. It's fortunate we didn't solve this problem too quickly, as it turns out that AI does a much better job than we could do ourselves. @@ -110,7 +118,11 @@ Massive thanks to [HTMHell](https://github.com/HTMHell) (amazing handle btw) for Speaking of commonly requested features, this one has to be in the all-time top 5. Your beautiful, hand-crafted SQL snippets used to be yours and yours alone. Now you can share them with team members and let them bask in your technical prowess. -Share SQL Snippets +Share SQL Snippets You can create a set of project-wide snippets for doing common tasks, making it faster to collaborate and build. To share a snippet, just take a personal snippet that ~~Supabase AI~~ you wrote and share it with the project. It will show up in a new Project Snippets list that's visible to everyone on the team. diff --git a/apps/www/components/ZoomableImg/ZoomContent.tsx b/apps/www/components/ZoomableImg/ZoomContent.tsx index d76a994efd4..8ba8a64ef18 100644 --- a/apps/www/components/ZoomableImg/ZoomContent.tsx +++ b/apps/www/components/ZoomableImg/ZoomContent.tsx @@ -8,6 +8,7 @@ any) => { [&_img]:rounded-md [&_img]:border [&_img]:bg-scale-100 + [&_img]:dark:bg-scale-200 `} > {img} diff --git a/apps/www/styles/index.css b/apps/www/styles/index.css index 17712e0971c..fff26b1ec50 100644 --- a/apps/www/styles/index.css +++ b/apps/www/styles/index.css @@ -792,7 +792,7 @@ launch week transition-timing-function: cubic-bezier(0.24, 0.25, 0.05, 1) !important; } [data-rmiz-modal-overlay='visible'] { - background-color: var(--colors-scale1) !important; + @apply !bg-scale-100 dark:!bg-scale-200; opacity: 0.8; } [data-rmiz-modal-img] { From 2f8d7d3adf9dc730e137ec9e478311ee58b03907 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 23:10:32 +0200 Subject: [PATCH 16/94] revert lw8 logo and favicon across apps --- .../docs/public/archive/supabase-dark-lw8.svg | 27 ++++++ apps/docs/public/archive/supabase-dark.svg | 23 ----- .../public/archive/supabase-light-lw8.svg | 27 ++++++ apps/docs/public/archive/supabase-light.svg | 23 ----- .../public/favicon/android-chrome-192x192.png | Bin 0 -> 8275 bytes .../public/favicon/android-chrome-512x512.png | Bin 0 -> 34962 bytes .../public/favicon/android-icon-144x144.png | Bin 7997 -> 3914 bytes .../public/favicon/android-icon-192x192.png | Bin 12640 -> 9435 bytes .../public/favicon/android-icon-36x36.png | Bin 2048 -> 2078 bytes .../public/favicon/android-icon-48x48.png | Bin 2138 -> 2568 bytes .../public/favicon/android-icon-72x72.png | Bin 3208 -> 2214 bytes .../public/favicon/android-icon-96x96.png | Bin 4544 -> 4447 bytes .../public/favicon/apple-icon-114x114.png | Bin 5731 -> 3914 bytes .../public/favicon/apple-icon-120x120.png | Bin 5955 -> 4299 bytes .../public/favicon/apple-icon-144x144.png | Bin 7997 -> 5379 bytes .../public/favicon/apple-icon-152x152.png | Bin 8698 -> 5816 bytes .../public/favicon/apple-icon-180x180.png | Bin 11605 -> 8727 bytes apps/docs/public/favicon/apple-icon-57x57.png | Bin 2595 -> 2869 bytes apps/docs/public/favicon/apple-icon-60x60.png | Bin 2713 -> 1854 bytes apps/docs/public/favicon/apple-icon-72x72.png | Bin 3208 -> 2214 bytes apps/docs/public/favicon/apple-icon-76x76.png | Bin 3332 -> 2412 bytes .../public/favicon/apple-icon-precomposed.png | Bin 13182 -> 9435 bytes apps/docs/public/favicon/apple-icon.png | Bin 13182 -> 9435 bytes .../favicon/apple-touch-icon-114x114.png | Bin 0 -> 3914 bytes .../favicon/apple-touch-icon-120x120.png | Bin 0 -> 4299 bytes .../favicon/apple-touch-icon-144x144.png | Bin 0 -> 5379 bytes .../favicon/apple-touch-icon-152x152.png | Bin 0 -> 5816 bytes .../public/favicon/apple-touch-icon-57x57.png | Bin 0 -> 1712 bytes .../public/favicon/apple-touch-icon-60x60.png | Bin 0 -> 1854 bytes .../public/favicon/apple-touch-icon-72x72.png | Bin 0 -> 2214 bytes .../public/favicon/apple-touch-icon-76x76.png | Bin 0 -> 2412 bytes .../archive/lw8/android-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/android-icon-192x192.png | Bin 0 -> 12640 bytes .../archive/lw8/android-icon-36x36.png | Bin 0 -> 2048 bytes .../archive/lw8/android-icon-48x48.png | Bin 0 -> 2138 bytes .../archive/lw8/android-icon-72x72.png | Bin 0 -> 3208 bytes .../archive/lw8/android-icon-96x96.png | Bin 0 -> 4544 bytes .../archive/lw8/apple-icon-114x114.png | Bin 0 -> 5731 bytes .../archive/lw8/apple-icon-120x120.png | Bin 0 -> 5955 bytes .../archive/lw8/apple-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/apple-icon-152x152.png | Bin 0 -> 8698 bytes .../archive/lw8/apple-icon-180x180.png | Bin 0 -> 11605 bytes .../favicon/archive/lw8/apple-icon-57x57.png | Bin 0 -> 2595 bytes .../favicon/archive/lw8/apple-icon-60x60.png | Bin 0 -> 2713 bytes .../favicon/archive/lw8/apple-icon-72x72.png | Bin 0 -> 3208 bytes .../favicon/archive/lw8/apple-icon-76x76.png | Bin 0 -> 3332 bytes .../archive/lw8/apple-icon-precomposed.png | Bin 0 -> 13182 bytes .../public/favicon/archive/lw8/apple-icon.png | Bin 0 -> 13182 bytes .../favicon/archive/lw8/favicon-16x16.png | Bin 0 -> 1396 bytes .../favicon/archive/lw8/favicon-32x32.png | Bin 0 -> 2056 bytes .../favicon/archive/lw8/favicon-96x96.png | Bin 0 -> 4544 bytes .../public/favicon/archive/lw8/favicon.ico | Bin 0 -> 1150 bytes .../favicon/archive/lw8/ms-icon-144x144.png | Bin 0 -> 7997 bytes .../favicon/archive/lw8/ms-icon-150x150.png | Bin 0 -> 8351 bytes .../favicon/archive/lw8/ms-icon-310x310.png | Bin 0 -> 23344 bytes .../favicon/archive/lw8/ms-icon-70x70.png | Bin 0 -> 3100 bytes apps/docs/public/favicon/favicon-128.png | Bin 0 -> 4544 bytes apps/docs/public/favicon/favicon-16x16.png | Bin 1396 -> 4112 bytes apps/docs/public/favicon/favicon-196x196.png | Bin 0 -> 8213 bytes apps/docs/public/favicon/favicon-32x32.png | Bin 2056 -> 4593 bytes apps/docs/public/favicon/favicon-96x96.png | Bin 4544 -> 4447 bytes apps/docs/public/favicon/favicon.ico | Bin 1150 -> 1329 bytes apps/docs/public/favicon/manifest.json | 80 +++++++++--------- apps/docs/public/favicon/ms-icon-144x144.png | Bin 7997 -> 5379 bytes apps/docs/public/favicon/ms-icon-150x150.png | Bin 8351 -> 13573 bytes apps/docs/public/favicon/ms-icon-310x310.png | Bin 23344 -> 47471 bytes apps/docs/public/favicon/ms-icon-70x70.png | Bin 3100 -> 3461 bytes apps/docs/public/favicon/mstile-144x144.png | Bin 0 -> 5379 bytes apps/docs/public/favicon/mstile-150x150.png | Bin 0 -> 13573 bytes apps/docs/public/favicon/mstile-310x150.png | Bin 0 -> 32880 bytes apps/docs/public/favicon/mstile-310x310.png | Bin 0 -> 47471 bytes apps/docs/public/favicon/mstile-70x70.png | Bin 0 -> 4544 bytes .../img/supabase-logo-wordmark--dark.png | Bin 22282 -> 27240 bytes .../img/supabase-logo-wordmark--dark.svg | 40 ++++----- .../img/supabase-logo-wordmark--light.png | Bin 22033 -> 29761 bytes .../img/supabase-logo-wordmark--light.svg | 40 ++++----- apps/docs/public/supabase-dark.svg | 40 ++++----- apps/docs/public/supabase-light.svg | 40 ++++----- .../public/favicon/android-chrome-192x192.png | Bin 0 -> 8275 bytes .../public/favicon/android-chrome-512x512.png | Bin 0 -> 34962 bytes .../public/favicon/android-icon-144x144.png | Bin 7997 -> 3914 bytes .../public/favicon/android-icon-192x192.png | Bin 12640 -> 9435 bytes .../www/public/favicon/android-icon-36x36.png | Bin 2048 -> 2078 bytes .../www/public/favicon/android-icon-48x48.png | Bin 2138 -> 2568 bytes .../www/public/favicon/android-icon-72x72.png | Bin 3208 -> 2214 bytes .../www/public/favicon/android-icon-96x96.png | Bin 4544 -> 4447 bytes .../www/public/favicon/apple-icon-114x114.png | Bin 5731 -> 3914 bytes .../www/public/favicon/apple-icon-120x120.png | Bin 5955 -> 4299 bytes .../www/public/favicon/apple-icon-144x144.png | Bin 7997 -> 5379 bytes .../www/public/favicon/apple-icon-152x152.png | Bin 8698 -> 5816 bytes .../www/public/favicon/apple-icon-180x180.png | Bin 11605 -> 8727 bytes apps/www/public/favicon/apple-icon-57x57.png | Bin 2595 -> 2869 bytes apps/www/public/favicon/apple-icon-60x60.png | Bin 2713 -> 1854 bytes apps/www/public/favicon/apple-icon-72x72.png | Bin 3208 -> 2214 bytes apps/www/public/favicon/apple-icon-76x76.png | Bin 3332 -> 2412 bytes .../public/favicon/apple-icon-precomposed.png | Bin 13182 -> 9435 bytes apps/www/public/favicon/apple-icon.png | Bin 13182 -> 9435 bytes .../favicon/apple-touch-icon-114x114.png | Bin 0 -> 3914 bytes .../favicon/apple-touch-icon-120x120.png | Bin 0 -> 4299 bytes .../favicon/apple-touch-icon-144x144.png | Bin 0 -> 5379 bytes .../favicon/apple-touch-icon-152x152.png | Bin 0 -> 5816 bytes .../public/favicon/apple-touch-icon-57x57.png | Bin 0 -> 1712 bytes .../public/favicon/apple-touch-icon-60x60.png | Bin 0 -> 1854 bytes .../public/favicon/apple-touch-icon-72x72.png | Bin 0 -> 2214 bytes .../public/favicon/apple-touch-icon-76x76.png | Bin 0 -> 2412 bytes .../archive/lw8/android-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/android-icon-192x192.png | Bin 0 -> 12640 bytes .../archive/lw8/android-icon-36x36.png | Bin 0 -> 2048 bytes .../archive/lw8/android-icon-48x48.png | Bin 0 -> 2138 bytes .../archive/lw8/android-icon-72x72.png | Bin 0 -> 3208 bytes .../archive/lw8/android-icon-96x96.png | Bin 0 -> 4544 bytes .../archive/lw8/apple-icon-114x114.png | Bin 0 -> 5731 bytes .../archive/lw8/apple-icon-120x120.png | Bin 0 -> 5955 bytes .../archive/lw8/apple-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/apple-icon-152x152.png | Bin 0 -> 8698 bytes .../archive/lw8/apple-icon-180x180.png | Bin 0 -> 11605 bytes .../favicon/archive/lw8/apple-icon-57x57.png | Bin 0 -> 2595 bytes .../favicon/archive/lw8/apple-icon-60x60.png | Bin 0 -> 2713 bytes .../favicon/archive/lw8/apple-icon-72x72.png | Bin 0 -> 3208 bytes .../favicon/archive/lw8/apple-icon-76x76.png | Bin 0 -> 3332 bytes .../archive/lw8/apple-icon-precomposed.png | Bin 0 -> 13182 bytes .../public/favicon/archive/lw8/apple-icon.png | Bin 0 -> 13182 bytes .../favicon/archive/lw8/favicon-16x16.png | Bin 0 -> 1396 bytes .../favicon/archive/lw8/favicon-32x32.png | Bin 0 -> 2056 bytes .../favicon/archive/lw8/favicon-96x96.png | Bin 0 -> 4544 bytes .../public/favicon/archive/lw8/favicon.ico | Bin 0 -> 1150 bytes .../favicon/archive/lw8/ms-icon-144x144.png | Bin 0 -> 7997 bytes .../favicon/archive/lw8/ms-icon-150x150.png | Bin 0 -> 8351 bytes .../favicon/archive/lw8/ms-icon-310x310.png | Bin 0 -> 23344 bytes .../favicon/archive/lw8/ms-icon-70x70.png | Bin 0 -> 3100 bytes apps/www/public/favicon/favicon-128.png | Bin 0 -> 4544 bytes apps/www/public/favicon/favicon-16x16.png | Bin 1396 -> 4112 bytes apps/www/public/favicon/favicon-196x196.png | Bin 0 -> 8213 bytes apps/www/public/favicon/favicon-32x32.png | Bin 2056 -> 4593 bytes apps/www/public/favicon/favicon-96x96.png | Bin 4544 -> 4447 bytes apps/www/public/favicon/favicon.ico | Bin 1150 -> 1329 bytes apps/www/public/favicon/manifest.json | 80 +++++++++--------- apps/www/public/favicon/ms-icon-144x144.png | Bin 7997 -> 5379 bytes apps/www/public/favicon/ms-icon-150x150.png | Bin 8351 -> 13573 bytes apps/www/public/favicon/ms-icon-310x310.png | Bin 23344 -> 47471 bytes apps/www/public/favicon/ms-icon-70x70.png | Bin 3100 -> 3461 bytes apps/www/public/favicon/mstile-144x144.png | Bin 0 -> 5379 bytes apps/www/public/favicon/mstile-150x150.png | Bin 0 -> 13573 bytes apps/www/public/favicon/mstile-310x150.png | Bin 0 -> 32880 bytes apps/www/public/favicon/mstile-310x310.png | Bin 0 -> 47471 bytes apps/www/public/favicon/mstile-70x70.png | Bin 0 -> 4544 bytes .../supabase-logo-wordmark--dark-lw8.png | Bin 0 -> 22282 bytes .../supabase-logo-wordmark--dark-lw8.svg | 27 ++++++ .../archive/supabase-logo-wordmark--dark.png | Bin 80014 -> 0 bytes .../archive/supabase-logo-wordmark--dark.svg | 23 ----- .../supabase-logo-wordmark--light-lw8.png | Bin 0 -> 22033 bytes .../supabase-logo-wordmark--light-lw8.svg | 27 ++++++ .../archive/supabase-logo-wordmark--light.png | Bin 83296 -> 0 bytes .../archive/supabase-logo-wordmark--light.svg | 23 ----- .../images/supabase-logo-wordmark--dark.png | Bin 22282 -> 27240 bytes .../images/supabase-logo-wordmark--dark.svg | 40 ++++----- .../images/supabase-logo-wordmark--light.png | Bin 22033 -> 29761 bytes .../images/supabase-logo-wordmark--light.svg | 40 ++++----- studio/public/archive/supabase-logo-lw8.svg | 26 ++++++ studio/public/archive/supabase-logo.svg | 15 ---- .../public/favicon/android-chrome-192x192.png | Bin 0 -> 8275 bytes .../public/favicon/android-chrome-512x512.png | Bin 0 -> 34962 bytes .../public/favicon/android-icon-144x144.png | Bin 7997 -> 3914 bytes .../public/favicon/android-icon-192x192.png | Bin 12640 -> 9435 bytes studio/public/favicon/android-icon-36x36.png | Bin 2048 -> 2078 bytes studio/public/favicon/android-icon-48x48.png | Bin 2138 -> 2568 bytes studio/public/favicon/android-icon-72x72.png | Bin 3208 -> 2214 bytes studio/public/favicon/android-icon-96x96.png | Bin 4544 -> 4447 bytes studio/public/favicon/apple-icon-114x114.png | Bin 5731 -> 3914 bytes studio/public/favicon/apple-icon-120x120.png | Bin 5955 -> 4299 bytes studio/public/favicon/apple-icon-144x144.png | Bin 7997 -> 5379 bytes studio/public/favicon/apple-icon-152x152.png | Bin 8698 -> 5816 bytes studio/public/favicon/apple-icon-180x180.png | Bin 11605 -> 8727 bytes studio/public/favicon/apple-icon-57x57.png | Bin 2595 -> 2869 bytes studio/public/favicon/apple-icon-60x60.png | Bin 2713 -> 1854 bytes studio/public/favicon/apple-icon-72x72.png | Bin 3208 -> 2214 bytes studio/public/favicon/apple-icon-76x76.png | Bin 3332 -> 2412 bytes .../public/favicon/apple-icon-precomposed.png | Bin 13182 -> 9435 bytes studio/public/favicon/apple-icon.png | Bin 13182 -> 9435 bytes .../favicon/apple-touch-icon-114x114.png | Bin 0 -> 3914 bytes .../favicon/apple-touch-icon-120x120.png | Bin 0 -> 4299 bytes .../favicon/apple-touch-icon-144x144.png | Bin 0 -> 5379 bytes .../favicon/apple-touch-icon-152x152.png | Bin 0 -> 5816 bytes .../public/favicon/apple-touch-icon-57x57.png | Bin 0 -> 1712 bytes .../public/favicon/apple-touch-icon-60x60.png | Bin 0 -> 1854 bytes .../public/favicon/apple-touch-icon-72x72.png | Bin 0 -> 2214 bytes .../public/favicon/apple-touch-icon-76x76.png | Bin 0 -> 2412 bytes .../archive/lw8/android-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/android-icon-192x192.png | Bin 0 -> 12640 bytes .../archive/lw8/android-icon-36x36.png | Bin 0 -> 2048 bytes .../archive/lw8/android-icon-48x48.png | Bin 0 -> 2138 bytes .../archive/lw8/android-icon-72x72.png | Bin 0 -> 3208 bytes .../archive/lw8/android-icon-96x96.png | Bin 0 -> 4544 bytes .../archive/lw8/apple-icon-114x114.png | Bin 0 -> 5731 bytes .../archive/lw8/apple-icon-120x120.png | Bin 0 -> 5955 bytes .../archive/lw8/apple-icon-144x144.png | Bin 0 -> 7997 bytes .../archive/lw8/apple-icon-152x152.png | Bin 0 -> 8698 bytes .../archive/lw8/apple-icon-180x180.png | Bin 0 -> 11605 bytes .../favicon/archive/lw8/apple-icon-57x57.png | Bin 0 -> 2595 bytes .../favicon/archive/lw8/apple-icon-60x60.png | Bin 0 -> 2713 bytes .../favicon/archive/lw8/apple-icon-72x72.png | Bin 0 -> 3208 bytes .../favicon/archive/lw8/apple-icon-76x76.png | Bin 0 -> 3332 bytes .../archive/lw8/apple-icon-precomposed.png | Bin 0 -> 13182 bytes .../public/favicon/archive/lw8/apple-icon.png | Bin 0 -> 13182 bytes .../favicon/archive/lw8/favicon-16x16.png | Bin 0 -> 1396 bytes .../favicon/archive/lw8/favicon-32x32.png | Bin 0 -> 2056 bytes .../favicon/archive/lw8/favicon-96x96.png | Bin 0 -> 4544 bytes studio/public/favicon/archive/lw8/favicon.ico | Bin 0 -> 1150 bytes .../favicon/archive/lw8/ms-icon-144x144.png | Bin 0 -> 7997 bytes .../favicon/archive/lw8/ms-icon-150x150.png | Bin 0 -> 8351 bytes .../favicon/archive/lw8/ms-icon-310x310.png | Bin 0 -> 23344 bytes .../favicon/archive/lw8/ms-icon-70x70.png | Bin 0 -> 3100 bytes studio/public/favicon/favicon-128.png | Bin 0 -> 4544 bytes studio/public/favicon/favicon-16x16.png | Bin 1396 -> 4112 bytes studio/public/favicon/favicon-196x196.png | Bin 0 -> 8213 bytes studio/public/favicon/favicon-32x32.png | Bin 2056 -> 4593 bytes studio/public/favicon/favicon-96x96.png | Bin 4544 -> 4447 bytes studio/public/favicon/favicon.ico | Bin 1150 -> 1329 bytes studio/public/favicon/manifest.json | 80 +++++++++--------- studio/public/favicon/ms-icon-144x144.png | Bin 7997 -> 5379 bytes studio/public/favicon/ms-icon-150x150.png | Bin 8351 -> 13573 bytes studio/public/favicon/ms-icon-310x310.png | Bin 23344 -> 47471 bytes studio/public/favicon/ms-icon-70x70.png | Bin 3100 -> 3461 bytes studio/public/favicon/mstile-144x144.png | Bin 0 -> 5379 bytes studio/public/favicon/mstile-150x150.png | Bin 0 -> 13573 bytes studio/public/favicon/mstile-310x150.png | Bin 0 -> 32880 bytes studio/public/favicon/mstile-310x310.png | Bin 0 -> 47471 bytes studio/public/favicon/mstile-70x70.png | Bin 0 -> 4544 bytes studio/public/supabase-logo.svg | 31 +++---- 229 files changed, 372 insertions(+), 380 deletions(-) create mode 100644 apps/docs/public/archive/supabase-dark-lw8.svg delete mode 100644 apps/docs/public/archive/supabase-dark.svg create mode 100644 apps/docs/public/archive/supabase-light-lw8.svg delete mode 100644 apps/docs/public/archive/supabase-light.svg create mode 100644 apps/docs/public/favicon/android-chrome-192x192.png create mode 100644 apps/docs/public/favicon/android-chrome-512x512.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-114x114.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-120x120.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-144x144.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-152x152.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-57x57.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-60x60.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-72x72.png create mode 100644 apps/docs/public/favicon/apple-touch-icon-76x76.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-144x144.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-192x192.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-36x36.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-48x48.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-72x72.png create mode 100644 apps/docs/public/favicon/archive/lw8/android-icon-96x96.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-114x114.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-120x120.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-144x144.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-152x152.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-180x180.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-57x57.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-60x60.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-72x72.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-76x76.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon-precomposed.png create mode 100644 apps/docs/public/favicon/archive/lw8/apple-icon.png create mode 100644 apps/docs/public/favicon/archive/lw8/favicon-16x16.png create mode 100644 apps/docs/public/favicon/archive/lw8/favicon-32x32.png create mode 100644 apps/docs/public/favicon/archive/lw8/favicon-96x96.png create mode 100644 apps/docs/public/favicon/archive/lw8/favicon.ico create mode 100644 apps/docs/public/favicon/archive/lw8/ms-icon-144x144.png create mode 100644 apps/docs/public/favicon/archive/lw8/ms-icon-150x150.png create mode 100644 apps/docs/public/favicon/archive/lw8/ms-icon-310x310.png create mode 100644 apps/docs/public/favicon/archive/lw8/ms-icon-70x70.png create mode 100644 apps/docs/public/favicon/favicon-128.png create mode 100644 apps/docs/public/favicon/favicon-196x196.png create mode 100644 apps/docs/public/favicon/mstile-144x144.png create mode 100644 apps/docs/public/favicon/mstile-150x150.png create mode 100644 apps/docs/public/favicon/mstile-310x150.png create mode 100644 apps/docs/public/favicon/mstile-310x310.png create mode 100644 apps/docs/public/favicon/mstile-70x70.png create mode 100644 apps/www/public/favicon/android-chrome-192x192.png create mode 100644 apps/www/public/favicon/android-chrome-512x512.png create mode 100644 apps/www/public/favicon/apple-touch-icon-114x114.png create mode 100644 apps/www/public/favicon/apple-touch-icon-120x120.png create mode 100644 apps/www/public/favicon/apple-touch-icon-144x144.png create mode 100644 apps/www/public/favicon/apple-touch-icon-152x152.png create mode 100644 apps/www/public/favicon/apple-touch-icon-57x57.png create mode 100644 apps/www/public/favicon/apple-touch-icon-60x60.png create mode 100644 apps/www/public/favicon/apple-touch-icon-72x72.png create mode 100644 apps/www/public/favicon/apple-touch-icon-76x76.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-144x144.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-192x192.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-36x36.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-48x48.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-72x72.png create mode 100644 apps/www/public/favicon/archive/lw8/android-icon-96x96.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-114x114.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-120x120.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-144x144.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-152x152.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-180x180.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-57x57.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-60x60.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-72x72.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-76x76.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon-precomposed.png create mode 100644 apps/www/public/favicon/archive/lw8/apple-icon.png create mode 100644 apps/www/public/favicon/archive/lw8/favicon-16x16.png create mode 100644 apps/www/public/favicon/archive/lw8/favicon-32x32.png create mode 100644 apps/www/public/favicon/archive/lw8/favicon-96x96.png create mode 100644 apps/www/public/favicon/archive/lw8/favicon.ico create mode 100644 apps/www/public/favicon/archive/lw8/ms-icon-144x144.png create mode 100644 apps/www/public/favicon/archive/lw8/ms-icon-150x150.png create mode 100644 apps/www/public/favicon/archive/lw8/ms-icon-310x310.png create mode 100644 apps/www/public/favicon/archive/lw8/ms-icon-70x70.png create mode 100644 apps/www/public/favicon/favicon-128.png create mode 100644 apps/www/public/favicon/favicon-196x196.png create mode 100644 apps/www/public/favicon/mstile-144x144.png create mode 100644 apps/www/public/favicon/mstile-150x150.png create mode 100644 apps/www/public/favicon/mstile-310x150.png create mode 100644 apps/www/public/favicon/mstile-310x310.png create mode 100644 apps/www/public/favicon/mstile-70x70.png create mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--dark-lw8.png create mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--dark-lw8.svg delete mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--dark.png delete mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--dark.svg create mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--light-lw8.png create mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--light-lw8.svg delete mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--light.png delete mode 100644 packages/common/assets/images/archive/supabase-logo-wordmark--light.svg create mode 100644 studio/public/archive/supabase-logo-lw8.svg delete mode 100644 studio/public/archive/supabase-logo.svg create mode 100644 studio/public/favicon/android-chrome-192x192.png create mode 100644 studio/public/favicon/android-chrome-512x512.png create mode 100644 studio/public/favicon/apple-touch-icon-114x114.png create mode 100644 studio/public/favicon/apple-touch-icon-120x120.png create mode 100644 studio/public/favicon/apple-touch-icon-144x144.png create mode 100644 studio/public/favicon/apple-touch-icon-152x152.png create mode 100644 studio/public/favicon/apple-touch-icon-57x57.png create mode 100644 studio/public/favicon/apple-touch-icon-60x60.png create mode 100644 studio/public/favicon/apple-touch-icon-72x72.png create mode 100644 studio/public/favicon/apple-touch-icon-76x76.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-144x144.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-192x192.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-36x36.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-48x48.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-72x72.png create mode 100644 studio/public/favicon/archive/lw8/android-icon-96x96.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-114x114.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-120x120.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-144x144.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-152x152.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-180x180.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-57x57.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-60x60.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-72x72.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-76x76.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon-precomposed.png create mode 100644 studio/public/favicon/archive/lw8/apple-icon.png create mode 100644 studio/public/favicon/archive/lw8/favicon-16x16.png create mode 100644 studio/public/favicon/archive/lw8/favicon-32x32.png create mode 100644 studio/public/favicon/archive/lw8/favicon-96x96.png create mode 100644 studio/public/favicon/archive/lw8/favicon.ico create mode 100644 studio/public/favicon/archive/lw8/ms-icon-144x144.png create mode 100644 studio/public/favicon/archive/lw8/ms-icon-150x150.png create mode 100644 studio/public/favicon/archive/lw8/ms-icon-310x310.png create mode 100644 studio/public/favicon/archive/lw8/ms-icon-70x70.png create mode 100644 studio/public/favicon/favicon-128.png create mode 100644 studio/public/favicon/favicon-196x196.png create mode 100644 studio/public/favicon/mstile-144x144.png create mode 100644 studio/public/favicon/mstile-150x150.png create mode 100644 studio/public/favicon/mstile-310x150.png create mode 100644 studio/public/favicon/mstile-310x310.png create mode 100644 studio/public/favicon/mstile-70x70.png diff --git a/apps/docs/public/archive/supabase-dark-lw8.svg b/apps/docs/public/archive/supabase-dark-lw8.svg new file mode 100644 index 00000000000..020bdceabf4 --- /dev/null +++ b/apps/docs/public/archive/supabase-dark-lw8.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docs/public/archive/supabase-dark.svg b/apps/docs/public/archive/supabase-dark.svg deleted file mode 100644 index 9e96fab4ddc..00000000000 --- a/apps/docs/public/archive/supabase-dark.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/docs/public/archive/supabase-light-lw8.svg b/apps/docs/public/archive/supabase-light-lw8.svg new file mode 100644 index 00000000000..7640c30020c --- /dev/null +++ b/apps/docs/public/archive/supabase-light-lw8.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/docs/public/archive/supabase-light.svg b/apps/docs/public/archive/supabase-light.svg deleted file mode 100644 index 60cbc71dc7c..00000000000 --- a/apps/docs/public/archive/supabase-light.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/docs/public/favicon/android-chrome-192x192.png b/apps/docs/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ac2bb1cdbac69133d86643ee129f5ff2596348 GIT binary patch literal 8275 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 7997 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 CpIdeS literal 2048 zcmaKr3s6&68pjWid-J$?ze55fA)pi?k46Fk1wxQS-Vi`V8AAw3PzaKs0yAz_Xx9`F z6a}7)SqNYP5P$*>39w0k15=U#4*--5`1Bwl6G#{o z9-Ykn4?G4L!e`8aYQVfU=~r##*uJ{5++&5A%?KX zA`UT>ixb8phH)rj9#P7{#2ie*Bgwd!gpZFQe3G1pg$hV=0V$l1g}p?|$D}Y1Ou{2c z;XFi4jiew<3c|v0*i?i=MYuE^9vz2INBLBQO@|vp1sK9)ph6ZgG=@+kW;We?)V25m+hH~jBmxYRBnJX$~7c)gWB51})T6!dHnS`Pap=eiy9J9+t zD`lglp+gI38EjN6A}`7dem9NpW1|u-QI;v%StdX{&mPih-4jq|3Y_xGM*db;6m2>D9SUk{ zBBz#vO2p(?J~5m}l<|o&E*i!s%ID|jIR}5!4o_Z*w;-nw+W*(|@3ghPYH9xNSFN?X z6?dS)pI&;cZT_^Lp6;IB+!lg00Ok!S&&)7RHcZar*N9weTIm5`Q6}C4`j>PchLc3E zIXj(rk3^)ZkjsQIcx3`ln2o8H_)G0ymXvVvxybAXH=BYk&=o!(4||8%R!&{(R;9@~ zHcLg@th3zzt#9c4a(^%n6SkN8&lu+-Moe3FI_~CRxpN=?@OaSk{q&|{@M%|QSLC7J zzG0qv;B7p!bV*Rxo`i_#=)^=vRj$t^-o2}*#A3agQ5uIHSmtXox^&zBS;^OFz zuZj7m?*1{c>gIcKiXzH}c*hgOG<9oikZm2=+`sa+3E1#rhN^U24o@1t}j-}p{`|Q&hN3TX2l3tt+01xWU?%Rv9CfhTPsN2>k zPV3y#l()a!_qUrHv_~JF9~&4b>>ZeruxB1lh!xVICC{=>wDPXjcHg=66w6VRee>ch zz|L=d(Au*tzi`u6&7*(65*FAQCA_rz$eQe*KIYTO2M+-3AFSSox|-oNo+CxtYUCWD z1<}nM8^j2=dVSi-`g^g;&b1%a#;1(rsXWL3vZd*H^TroT6n7_W+G?i(?c3Fi*qW%_ zTkri?mrHo`<5!+C35RN4_&sY**^+kS_v^b%_lqV;zVuapdUU*WW_I`!*;y(1t#hM0 zKx@C!&`7xV8U6ZCKR0)@Jryp~QrJDt(b+wH`}M2$|6%i3q~iAVZxz0N3M=gPL*3)& zjQz{ytSP5y^+3dyD^?lvjeBsTkFv)m9A>5!w$R4wl3CP=Qw>O0 z)%F^%UY`f09-uxn|C#a^8Z(|nuQ%CU4yPBW6ErDnHWWdP;I%ye)|9v^yiQy)byP-z z647gtY*)42+fZu1!hp`T5pG+uB@){u6H|>mDY_eo4dxNd{uJgn^vu6@!|xHEy0#h qp|e`!;&mFW3a(k65Eow&XN`psv2cI0{A>Mi1z=9kF&;Cl-TE(-LUT?4 diff --git a/apps/docs/public/favicon/android-icon-48x48.png b/apps/docs/public/favicon/android-icon-48x48.png index 0918c9d5a5f6160a798d5e57e9e7a5501c2aca65..f8d8a7d9c05acae1a80f25ac81c3b1d2388b99cf 100644 GIT binary patch literal 2568 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 XSV8BLY#R|n698}b0Jla$?3sT7J;{qv diff --git a/apps/docs/public/favicon/android-icon-72x72.png b/apps/docs/public/favicon/android-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 diff --git a/apps/docs/public/favicon/apple-icon-114x114.png b/apps/docs/public/favicon/apple-icon-114x114.png index f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0..4aa46d4d25d141e00cd52afea852d9ef460c3425 100644 GIT binary patch literal 3914 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 5731 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 diff --git a/apps/docs/public/favicon/apple-icon-120x120.png b/apps/docs/public/favicon/apple-icon-120x120.png index f740816a8891be4315a0a5bbe2f9d97c066da942..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e 100644 GIT binary patch literal 4299 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 literal 5955 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 literal 7997 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 Riy$Ka diff --git a/apps/docs/public/favicon/apple-icon-180x180.png b/apps/docs/public/favicon/apple-icon-180x180.png index bf1bfbf7f005e35ba508ec932288803563192ca0..2a80dbc2f684eb808bd2b0ee35a273e8ef956daf 100644 GIT binary patch literal 8727 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 NLkDgMt5>&={2weY1h)VH literal 11605 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 diff --git a/apps/docs/public/favicon/apple-icon-72x72.png b/apps/docs/public/favicon/apple-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 TrB|ZP00000NkvXXu0mjf#zCU^ literal 3332 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 YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD diff --git a/apps/docs/public/favicon/apple-icon-precomposed.png b/apps/docs/public/favicon/apple-icon-precomposed.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 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 diff --git a/apps/docs/public/favicon/apple-icon.png b/apps/docs/public/favicon/apple-icon.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 zcmaKSby!qi*Y*qyG33x44vlmT&Co4KNXL*;!_Y`KNQwf2q@sxA2+}nmf=Ehth)7C< zG#@_i^LyU!kMH@;b)B>0tovSTueHt}d$03U|A9I&0X+c#03g=XP%*e`F@JA-+`Fg2 zygS}qL+7h%>TBrfjo>ewb`i{WE(HFrQ=;4m^kq(rD{)<=ouK#yh5X$;55nnes=>HgH zs;kec?CI^uDkUJqZ!aVy#0rxV5QYici@=-^c6_WNLLwr9LXv{Q68s_}(xT$hV#2Kd zzMyvsy&asS4OG5#hg+;P-ig z^hE^nBYoKZVNh}OvG;aC`MP)_S^qL3>^%K^<)C-Q{?95rQ2(Jt`uy8dcRmvgM4$wP z1%&>t>K{Q}-T%L+hsS@UeS8fZ|JUCCC$W#w6O^N%fuoP7pSS&8?3~#CszOOCdpjb0 zJ-v-QJ>CCtr2b=1Ur(RMo+wrkF##b~Ze4`E3-a#_&%YqLy3(3RA72F0-ceIU4thr- z;Ns#Sts<D5Wh@iq^aDCA#)JB_9X-({PnN}# z1?x|Y0O)o(5y%)$^AsEv*G~PoWDDnI@FkGhAhSzBXLc<@PFHN%0n%r&T>|9(%>lVW zXCo_vM8o*O-`Ld5C;;l`9W?%t==9@j3QAwXV6$nqt^#WRQcHXYg@ny?UDwd-y_^w3 zcgj;A1S$TU;Wv<^-n2)-z&*%CVp{Bi;Er?bD>4Grh`z2HvuTcFCUPjo9C6FOb702> zx13JtLQ+X2x5JdW&nnRzUG>y#Ku&_o0EEr!y{G!{<=L)5W;!TXzZihqRQ>FT;sV%< zAFMOo*2SBIz-^ouyZrQ6b;Gljdq)dViLD42zsxSXpbjOC0e0i+MON(UVHtrhGtt_c zM_iOZbo+)KqWmHnP}-99L{Nj3lF&cG!u-hT9{3sLlsn}r2Kwazib8nrTjZmt=gvcU;PrxFfxOVu8GRd@B^%Gp>Sbj2*4BL>y74zZ;w1J4QxJah zByi((yzNAp@yOyLNoHoI{=!Z3@{REeshqCrI+gKRh%7tVeI)` z$~Gv#^=2(L2*&NP+p;Hrwk8IS-(-5_M3I1CpE<<+uNCK^kSP2IU4l-*{e#9b&mx#&LZM~ z&u7(4$sBgJqSV?AgMV<<2S>irEj|MZPV7N0uqCgmTt|l zQ~UG`l+E<+>dCgTBI{1ZIuRo#LkDfd0;bhK^ej5p@BUb zDosmW78js;#gLc-CsB0O{r7MuZ;JhIlHDYJ%2$KG^_$%J(bxIV8n(Vb_5&veqN21~ z_{M<7`d;G+5z5?^gH9h;s!sE(C8{-#tnAj216_}dkQ@YIQ=5*d>jUuB*NHPnn$8F@ zxv@tL@6lTN0`)=%6wZ;yh-QoTb?|}v za>@i0J-8tny|u366=I2}Ap`}I6?I2jBNnCxKDs3o|e zs~mLW@HJ14*;GBi_UE5)um)?7#tj8fi;;=vYo0&f+v>buS+b}vGrD^cehN<7!jBTj zh!X%D^v8!@#Lt?;>Mi>m>6nj$N^YMU%iQQy;3bMC#ykaZ&>l~6-m5z^S{@YN-C&{p znsXR^f7T`kSMpq*tY|#KnosTWcmleSKMC~>pRJ4-ERoK6bM7H+(-hARAuBre4W}2O zNh63 zbrT15ny%o8k~mGyMBJ|hy(H&WtG)Bx*J$hcuQe#neY#?Yk?rl!rSt_q{)LqsMX(i? z@Zl3E9K3mxq%sox9efzz;qIK(s$i&5l-_kXLaQ&%O;(ifJsm6ToA7doTL~Y^UeRXC zSD`lbEX+UQ2?buiD;G~Bnl<$l8v;xuDLqo3i1b-?0T_eH@HR-8)Id%{L<7_`F_p9w z34kx;$DFIs4XUAVowk>U15Lq`eVMKgN;H@hIBj*NRKFDnE$q2qv0_o`jojDy$|MkF zogM1#uUDP5a;));*e{1SG&}1Ap|zabl3+s3|C3a&`(M(ABXh)8Q52Y_GnJ|H6u8O3 zk}Z5-fXepkH>i`L>?ayqjACfyry>|J>X3VRYQVc(rpfBH&^3!=e{s3br)K?KWC-GB zQ6plbNi9td343m+(n*^ogg#;~pQNISAkdlDq6Cv6mU>%$wV8Hd zd(L40+AEsQ*Q>)+pr^K_4__tXCVJJw!Aus<){X*h(XiW?Wpl!-r$_09|4H_MWt&{N zQ15Cg;fcb1wBTc7gB~0Z6n=}-mc7<=K^Y;K@^Wa2rtv(OIhji5n$&fTbZixT0B2W} z&57|90gkigXqB8;pi)waKi z(9UBOA~iZ}!e4E21-90|67lte6!*})wywchELq40XOg@ zO6403a!DfTVJQ-Sv62`@tw2I|zLo%ZD3q{I$xHu~(_+ytta_-@yu5sDKEY$(=?X=_ zTi>9#7I&@xeb!n+g_aS7lI1d!rLpz)f&ZC1J@qzjM%8u~Znm_}kEi~~)v+Rour%iG zr<2!htsZ}xf+|ABWCO{o*bVTzlxnmG^6F}8Qp{i+#EE2DkeC5Ka6u?wX>b zi$#(LBbj{9qQoeOiB78|S;~|uo+_x~o zk~wxE#pOKE9xiFY*_)ybat^w_xa#xg6%a;xZgqcEUx1JF z+)Z1txrxBvN`b0b0Y+)spbX-kEef!s=x&!Wak84XmX|f!#bheLeIbzN4zuodH z)R`s1)O;zL#S)srTg)pCs;bH~X>6z!jnKoX8YZ~$@qG@84=E(#{ScJ<{0lZvhKo2_ z`AAKNirSV8ooz&DYP{J|B;)sH_vradqS%8%8L~(|2Kxq|}&)!+vnE{xT(2q~) zvh)jymYs)&CzpG(HO-DehLs&M&*}Mo!!K#fF&_j5SFQVB0F*A!+V8Ps0-m?*Q|U{q z$%Sk1M@#&;KgvnNzhTBy%LW=7&328pbSh=_^PP;}$h#6|D#SKX^U#$)zxDPr?^DIL z^>X!~9=&~@YfMD$l?GTScDuJ=K+Lxa0pc?L=CO57#;!+YRUDagOjiuYCL2XIPHKRK zMajNZyy1D4O5~lq&Jvo*D!HCoU|;T?u>L&PGM~70;E{lnzFB`tPG^QnS%!gkd6=P{uja;q}8W(d{7Jqw{0~Z*mB^T^T>g&s*kBMm!V-htkOr1R9cP-Z%%~brxWmtYRaWIIZrnD2erp% zj~5UV*sV{n`8d&o#sUeu`E;|_20Ol1%pgpW$%fu36WMWr?CjXJ7TirTWJJbn`GBv2 zQ;AL4G!H{*4RVW(ddgj3!kWW#p0~RGlhpYaYM7WDmD@}T8rw?xDBJ1jZ`bu@`&5kG z-@kDV{uF>6LGt>tLmtPD<^itI>9K2jZ|1V`pT{2l`!uEQ+kkpwQ&H&=Z(TlabcI*k zkKiZ6Bl_y$bw!ar`P@#HgDIwSI}enPO<>%rQt1KdNpKVYDz6MGYrp$8x|G&1KEgAEd>w2mjm)+MR=lkss=H`y)iw1j%a z^uIqwA!$Y~w!A+shDI@%F_$zH*CubyXX%XkKEL2|N+HW&mEn0i{3}{0WJZ0Z7(`YS zv7x2x-f3j3g>5mhDQT)j&F3*#mlGNL*q2%-6!(fE`B#%`Pi8#$d_G!9MI#}3bc%4t zj0H*jW+Is!58tTwgSZ;w&NgT1rB^t7tXe*%I}+IhD>8cc3WUjU*5(%?JGQ$>G3y#| z_v6}*9U7jiQm6*hRK~9LmDVuV7R@uiaH{Jt0K6*yRZlvamC>;^DedLk#&#fx+vfQ@3ZWOyXCL7W@4K-TCHJj?LB4BKEgj*pT^K>y z<0IzePQSh{$zP;>Hhx{$8GAAe2)7Uz9H&Ej(IdKnefvwuh_aJQZTSs;QmmrrF!X(N zi!j=p!5r{2?K1Kr9`pIh4O2$jk4W*wp;}Z~73ip-Mnx^TlmBFJo;9t$%soyj&eXfi zZUh~|Fn;^a_{us=j#BFdpigrDj|EU(4xmp4i_$T8f~V@I=&UJcK}!xk&cKAm)M)saPC(fM&z3<&DWwTEGg-3I&xlB$M-%Jbgqa@v zWKRU~v} zhyL6-uL{>RiE6IcLQPjKV~H4#?F~KbYic$8??WBC%F zZyOifb%Nu>=TT}_ix;O*H{%f^gCA7?67P#JcU3BI=@X5}b^x|*RWm0~n*47b?V0zB zS6ZTL@{x1)raK7*?MPhAMhubI6I-LWyq5_gRkn(=D$BYZSDvG7jbw5bs%L}g=(@Rn~iH}mm~}Mrk<;Ck&sF?@JY)2 ztlCb<@$Oz_h`E}vpr$H_W+OBrVOLGt(Q>|?sh4`VK-a_np$P5jD(c~2vEU!QC@I!j z!$faQ&!{MPx4o1?;QpBTE{855^L4TST0LN=bHkqZyLshz`TG3nAW}VEF;Jh5%og(w zvKJcjy&U_5@*T@)$^!`>Oi_RdS29G=vqIGBIlu1Rethrhhr*6~`oytTJ})WJkJlaW-_84x?@u4Fd^L1A=in+MF+8Z{Z;ja`1*+#EVb|g zirNA@z|vBVoW#f`#k@uYiA~!I>nGXvnT1h}_dXQBL>~P5z7XoN-~5gw^BGFdbPJ`a zpc@NI#B40*_&hSRhQhxq@@P6{O=Ftpl7x#7@*Q>IxNX9vi@x~gVGUrdrbvFW zqP*CS@G#+qy{#INxbjfNXs?J?ldlEcie$$(LDB9G7T<{7p8_0rZY>L3Fcrj~YDflm zDoHv;up2KyDkJx&g@1h1)vr4d+Gp4N>q%|a{fkRwjr{kgu=bcBN5(u&Io3S)fx_f=QbUW{w;v*5<@>(93hRP>K_BZw-G?+$*R{2cbLsc#My z+KwJla5#~Fe7?#RU2+#QTU0F0%7M2k(epw-%!VTahu32ZHnO4$MtRfulKE&wPZM0V zTPF&molSbNh1|R7?Oq#T(Q#ZyuI9BGTBym_QMoEe!vB7j$&$~8#;CeFY&LFs6!szz z;WLVBgDMe+z|^fitNcSsf3qeR7vH2In--)(^4VwV027+NFeu!N48C#RlPR-c=wYY! zQP~)a*WX`bfn~d-r~#reqArAChZF}L9sV|$+RKGuHCFH8V3)~D5f!t{@i~J>?+z~x z*#Z8p{*uW--h@Pius~*Pq*v-wYxY>b*+%|yHL}{Hx!ktz!Re6c>wJj#H{@pu{vVK1((46hN z!BbE&y*R<>rdX(UOcVgmgz>R@8Z*-b2kAYagsNX%-wUoWA~-iK3Z=T9hQggr1D&y! zmFwn98xMg%O0V&STt?Y>qM=>R8WFb?lT2SGN_29dGnyg^`rKf#yW$GB;5iw&Z5=xF zp=D)L6P?ptxy8!L>ezz}s>=ByvZRDFTP6UR@zN?9G)?Wuh+2HI{=Gppfl;z_=#@BO zPcj{a6i~mqB4sPlIp2>unMHy5u5z+z!KRX^EzrdNt^YT9{g91Q2uE4@%l! zTr#M#von`Yp}ZAI71@taL~saJYig~IkxBd2VLxJL`lA>j1Uhz0NF$Ieav2>+c6$Kc zPe%t7H+$RLvxQvFEtQx>pvE72dcKU@Q>C$@Tyy+ry^fO!NN_F=!O6oJl0DM7b8fL` zI;xvZfx12P_HyZ^IGhY?s(n!yydRwKSPl?LXxFe5CL<;$2ItLulXr!XEDQmeC>V!edy~b6N#$T`89E|kplwyQtqR(&M zX}|1h^jal2AonD^^c;lo*S!6bg!hW@fP^_@Us0-Vg30{e%=}HSb zW^4Lb25&T)UX>#Q9He#a@{YHdHhI4rfP|i{#Cr!@0DYNXt3;$KIDCaPp3b^CVl3b` zm{05ODDChdc6cSsO6LwS(-I&!AAWm{cApVBzh`7((oZ}b(+TAB#H6#(G-dIbVTn2o za35=11G4G_vbaP=S?22^qwG$$CiatTuCS~FS8yZ)_lqpgFuUZ*-{bbZGo-`(0LX&o zt+H~5EHq2Io6c^?0)64>vsYJb>M>FFzh~?AyD9WA{em4t7WMAwku^)MIL^3N&k`u# z0hitjt;R1EcR-{=&QOwT8HUSlHkb5yK0{L1RM` zf=3mm_nh(Au@~dn@WQe`6+N2AbQ0hR@L4LG1@C<9?dpC?u`+I`m)X*kDzn>o6Q(_d zZ$W>mKAH6815Q^MOrK?=KrXnbuFjaA95_}Q^MmR9`@#0s*3Vsj->@q>1Y3Fgj}HZu zMB8gyJ00Llyo*FIM+|Y-1DbkK0xY8-vSYL3CUPwRQ`b#9qSd%cZCm&%3g$ zKVOtJwf`x{!A;Kl_w{4z+T3>Yd^@l9es3-aS-Bd%2 zm5M0v^;c92TITYC-JeqYVhmGR!Ju3yhlub>LWj#e=VI19Ag<3mBUfonN``M>qduQg zsc&7WYXd<388SB0Y{yoR3%c#t(077B&wKb0(}Fv>UC3ivO;$>J)0}-(#Qn5WrH7L& ztF8w*UDogR;`Lc~$o%us{TSVTWnnTvWH3IeE)c9T?)3`3A5p1;7C#PGdGhcP<^eGU zX0YGxnStUG%L;zv#MfKCowV3S$?f<@9AmKy>^lt0layrmZ9pfwJ#1K~0h+V6f+hIG zHdwIYd!y;}wPrp3v zk|*8G(s3sjH8QQEQPziB&7)*Dqb&ZQztcNm3p<{_M*A%nXvTN!3BIeBP6p%BU$qKzPwWKm>$9K)ie=1sp*@xB?&`PK+QR`2Ipb;5wwYstSB&z?#TQ zOF(@5cVu@I#eb$CILQ2PhJav{|1Urm2qu+$Cc?SMDoVl~!owj0U^P+xiaH>TPD%Q3dS3#hl z)ZF4}eA59BO z*-7QRMEv}a*_vJJ$snrm_LY_1fX$>uxn>W|xWYhRQC*8UZvAD;I2PwuI5u%+dEA%a z=|nAq4u1!SfGVGN7K|^hQ0YRxxFEly#jCO8F1OvDo~zwF)q9ZXSR~~<7i^v$VIik( zYV#rD^!6GnGq)W95s3cIk?5K>*43XeYZn#IlqOjDhwt>O(uiih4RrE=RLT^|dRZT!J(J^QGn%&quJ`*!6Amt}(CY)Cy$`tG`S9vr-R9`w$T8tX_i3AOe@Q%H zS4~^nEvdVk+hs**seRCok0@xfcdblzphIB-TW`k`2i>fF4UDzL%VaxtCX8tNegw(P z0_j~@Vq)T8Qc^N_9lZZum7ymTSd{7gt71L*NZYUtYBWlo`~2bp+;n~}{}?Nkx53hQ z#ci~On0F0+HkWU(4i+T05T*yo4|JK5vG;UY($L4UF4)5!?-}YNf1hqmuesJflFq{* zMh;uVoX(IRmH%iX&`hhc&$RSj*adC4yaRds!2&<~f@9CmF4p)7G}$e$ufNoSF-=Zm zHRKF0S1J~AXzbNhN-rgVPUR7*uB=Dl?&(6*^go#jv{VvuR zn$HWpwcF32$?!fk<7Lc2AgCQpA9=1LoQ1yW(uN@FUAXd7*mE|U{|PbkHGiF1`sF-? zX-pf18w{H|hP)9;O8m>~Q-ikd?YoVVC2^T^TRm1B0Dx^*vyJj_L)*PZ4YAc2^Q<3Y z;gns&{u9xR8}Gzwx5vE;m9a7{2{{zL5zZ+rv;w!({aikIbfMyeeP>$!(4 zsjniV<12I7v3cwC$$J1z=jNL=(liSJ|2!8t*vNwN2cziGPaiW-_PoZU#KihoE#)P8 z&gVF1w|Ig$b2Z})y42h3`xn!J_Ly3%4TQyX^0^FS1-cE!aMONAXLRJv(pDx|ZAz?B zs!{vd#NO%IY*x8PNqUqrzB}~^oR>0E#jO1vctma42=q#iW|Uhvnxx$tQVxW4SY$m9 z@AwZWq1$d3)?RRy+hH}yEjRB6FC@sG8nBEdyLiV1-udiufFwGDxh(iS*uP(Xy9Z?P z|4y#EpjZHgy6ukcUmZAw)`v~_$~}fU9n+xFn>ZK!i)JAqu<#-$?D(ibM)Pye$g7L=ADLzWQA;k z3|F7;MpZ1^4eO@wBRbO1aH55Vf3g%dmHdOT`NGtfLv<`8;e_3f#G%fE*;LeJuy3xG zg#GrCeCmKQ)=dN;A*oUE`|_)8E(VAIb)vFU1Xv1jz|@J^Khg2iz%m-(hawfSNft=L zsG2N{>|agdKI2=|uaxO9TUL`cNvY&i*URZuj)@OP-PzOO2!<0xy<*2kK)qLejp;C= z%OQm|$wMz1Atu>un-$$y-ZW-yq%J{ZEjX|3EX_N*Yw)#24%RZYbO~tBkntmcSx3@v z%gD?jXGDs(hdRKBt0a>>p^q)Aw^e7oigrI=N9+F4*ddFqi%yqM0q{cD#j;5sR&SaH z%yNdbWd394)GSTZ2oFI$6zx%+#443&ym57$>8fFwIW#gkj?q#ivg}EYV@8Ta67c!@-U3HQ!&*<-YOc~s5 zAkM$q+m3}W-BP()OO-D1d!>4C!5@#HFf21c4(IB=LqA{*eVbBkN?bMs_LazpRV)Wm z#TvWIdj6F;xNFWaENZdNTGYIjind?ClT2uBn9Xk%QYUoWx zZ&7A^St#xOJ)_jJ)%*LH^F2HO&uf}c`J~BgE46-vxqvQ^cE9!E0veA>U#NDwdh(6K ziUX@+U5vdUW*(BSTrXQ;tAjuORH5avFm=dH^5IUtSS1@94l{m1Pn4_Sbwf$lp`Bl< zC(Z=?+YlcDgC94yS$i)ts5Bj(Q07~V6pUO%f)x7} zKqNt7tUB8*%hwWQbY_x9ow$kAm7#|B6I0@~J@-v}cbl*fLFcuW^tVXhAZ}{}jkpe7 zKdi{JBic~Zx-9j!!^GG`?WRsQXXM0^aQU_pXWQw#=Ss69j0goI^_7}#EtT-Z|cx-BNM`|ZGg} z8oG6s3h{mQ5aW&kosjQuFOg8wINzcET4vrsvyEP@2{HKBQFjkm$AE}OO^-iOMNBYt z^u!BgiQ9-;jO{3oc5fs}FZMyAPpWZ)u8ENbmq#FlE2Y7r=)i$~15%+Q z{v_Fz*;3ohr~A<%vRM)JBSLoeuW|@KiSb%BLgEugQLqQo7J^3uvbbacdYAT>{p+1=TXQz^*nY zb62&K7HRn*ozsE@eQ*|=jf(tVIu|Z8raGt<1{hW?R0=n!Y+sMx#u;f};-bf@n^z!( zAt~UZ3oe!x>!$iOIOEkxfpcSCyj-yM{x%Qytm~zn+Z==DQ=ko(@*#r} z34>3syGw+7i3+#y6X6ADC_1J5bHouxxEm z2pjl@ir39Ry5`jbh_8OM(zS~6Ge{J5(k4-RX6IYDvcan~mVUiK^M)8&IX~%wh4t0x z&afrz(M{eA>uYoir-;m`dR+DQh3nYt!84#rFqLo63iphV1!kmniD4VS)S?Q&iNgHj zChCx<-f}1kVv*)%5)RS*F8s}*NK(rL&R4b>U*1n$*|;YSFDGz2JD1CPbf~mv{sObA zYVvHgF%qp7H+*fKmB23CtpNIIL03x;yg6XGrz&V&-pi8lX1>;Rjleji21$VFWm`rw zkgI8v8gE4B+j*TFspmKW<6MCcvLDK#nNifEF z0KY+)a@a+>hZgfRV^6Fq(ciN#e9NoZ-dtb^Ev5~w@pJ2S+7s`%k%Ow&)*hKfb)VNA zHyXT=aRoc?y&ytS@@zZlFk|ydjWQFN54oY^uFg_ zGIaBMdKw3;Q-n>0xku{VKm8RUDD~VXlz-HPAm-|IIje}ck7E-Pc)rpfRXEY*Xjg3S;+IY+pBsKP0zjhYAJwfeU-^OSDUF?;*J-eOhD0>i^M zi|6b3p1q}E-{dYt*OG=^a@TQ9IQGtetqoLH_|I>OFjRm;2nrS>cT51yj>m${zpskYy>q#cBsI6Ulgs=tZqG|8JWHuxw5BC$rrH*XT!~^m-MdJW0Csxe3!yS z_TF_ED2yG^MSW>$U1)C+kA)|*A0dwF+bf8pWC)1rw}8&hw>#ecV##Ki5Q zOZ-m1jqr#w+aPMYKk+JttQ%-i{T|9VbY};U2}(5L3r3;WYw#ev*nFZ=x?6C_?0z6}WFXH?h2@GPboNn-Z9^`ur)p0G12*bKmk~c_l`~JeI!@b#57dWcT zR=49SK(Sx1oFYw;#-2beh(K<|Tq%&gU_a?@tFrww{<0_I^aJw?pX#29Hv)+2G36}^ zG+^~DwO_Alj7*|01^9OgKMkc8w;0|JE`lITf#mx~wAG(@8z;o0$k3+ki~HDJv&*@f z>DTc+e*o-Hg&}-l2zK*=l+;_HDBJ#m%q{iH3~M(jzmqihTe_zzK?N@OoLKSke|%wlS@YBEKAxkDTT2yP~Zx& zLr7Vmz0Pwdb$g2{O)&)9A!wQn1c+ol@ zzI1grNQ3TP5;V0*^>=aHx`AkJO()kyY0sgxMoNr`AXpJA)IafYbaJz&@Pw`Dif_DcNY z?%jy}wshNO?{bu3_d^eF4e8eww=9_mZfm2(8=H7lJ=+oYAm`K=Va3ZoTeF8aoH1_d zpXJcDGHgGPeRX(nq*&xF<8E=JzeIJouC?Fz*)gt#U+O=xcmO}>AUaTme3>toJpWpd z@Pz`O{|p;E;QaO@{rSOc zh1PQ|Zw+l=c^$}yz^|hYBXlNYT?DMdJBMisn=gM}>4h4xh(8%|uPIYs(E*I zZ%Js=?n48baZS^jNzXA3i$g{Q6|VZ!=yJB5;hh38ZFc;6MhF3-|7(4?d*!?H+ssVW zMCb>4Pj>IUJetyk+MzwGExzQ zfeCUrWZ3!;!lVs;UbPWO){m7wja^rVQ_g(M5nK~K+8_Habavg!XtbUAqM@fsLIG{M z{+~^x-YUgv+BLHeUWTciA&L)7om`dqJ(q3r#VR_M&?>p(@LfL23Cj|m(6qYKp>MB@ zNo!m)i!$iCO=GcUtqXBQK4v9z5cx4CUzSt9=QLTsA-j_(ncd=@?0c)N`i-vCP?!dA z><*3#Y(>LTogq$gXN~cxnN!rZTJr*teo8snqhF0b;H#vIPzM;L>+fG`{}S+|FhnY% zeaTj)y^3i-+ifi{%xvS2h158JfSa9*x!~)3-RWz*NW3P~f5k*%3clApN^`NtNNU(!nfO z_5)eF`Vl_v%=IcZU(R)Xvh96iOsEUz09+r<8FERM=WU2`qFFc&gDaOiKldL$jpQ#xPS|;{*44j-L&ugC2}bSIB=(hz zQi!6Ne-I@qWfIp|CjyEKl~U6u%>A(4(W96BK-&+G+L5t)a2{N5XG;jXF4``ww`Ko) zmacSErj_bZT7YAv0D7&cbLY%y0h6tlz-?s?U+NT3xxh9zto*xrv+sSDQQUXHfBgeX zDbV(w{5j(#jB|p2i>OogrMj2c@P{s7x@P)WG6`%d9FKb$$107pcUT`b?7>Fjp47}T zg@W#t=l{S}Hhe?+RH(J5$&7Ua+gDi}Nk)3|cAWkZfxnd_5zDCqr52l6Z?2tDgftJ( zf@CM#saWnNBD9EXcBsI>sXp7+&B2t4Nu#RP@Ma5pTP*57+cTJ_<;NEFSjIbne`(;& zJ;u~l=QOZTjtSo0NJxtyVO=oGg1INLvrHjO^B&F9mwoVX(I#rV{9o0LOS)-MZD)<& zG8stH@DLgsAryR*ru&W*&Ok3@CMk9C!$u;sHGswUSV;7r7I3llzNl4a?-`VD4}X(K zNUv5GMA%EyWaExuQIOR>h>u5<20FC4v;XEr@P?ZLQcuByQ1ov`ucIE0kEf-BmTnsv z4mJ@$m?+zWwC%GzSRD#l?=FM;U5Mx(-Zw%5~A`2ww-dleEU|JS1nuY~D zzc|_0DqV(@X;t%uz9S}&Q%RA^KXG?8uO`cCC1G7cTXyyM62QOy;ADP)BdY#?1{F5B z9Z@l9T(yEov_~ye3^I)p93MrP|9;6D?g-I{%^Z1J!fwaGeOPeWiD*XO?)2=9mwLVj zn#@5)hi{uF^su{~ZT7e_y`$N|H0)bhv7M2hWmi8FXlhNG#+ih@2Wr{&yQ|^Z2#yN- zpzlh01WkBeQ>&s?U1aolQm^oY{eal+)*HY|%j#oDCLKpMZ1_`xOW?+abcjRgu#)|pE zf(-6N2hMv06si_obI9yP$)(r4f(NkRuijyfjHTI+xQ{S_-w6L$vj5e^Xt=A zV%@ufi&((;^z2_le7U^3NG)uN6bfd!rW`r4hSI!3npLXI7-UjZScB-yBFR7d+^}EN z72h4`^Hqy69X8Of(2&)G=u-}1AL-WEL0|kAX2CJP0{cqSm|mU@m8W{~>mb6pkkxSU z9I>P%WZW~%lYqbw! zV7h=S&^6R=adqxeuU4yfSY+|?8rsC|F#pZPv9$TQcF^zy+>fiS-X;vg+NXGzJ7geN zmTR0VohW+fIBZK%b*Ct1UQDO_u<^p0@>X4Lq>=PYC*|fBj&}60MlQWnSuGN#XP2RJ z!blClT$$}pFu%t9$X(UkpBuPKhOvn*nxm?mlnrtR0&i?24h$-z;u*R7bTz+MN8Z)zd!qcDiW%HjOZ9Wr1Y+u1+@Wt> zy!X6G5Qpm%q%RMhfgI)Lp{#Qr@0uq^iKI}UugO2tPj}dRbs6_66~>npu2+O~3qJXDZM)lPgT)_T{F1LKv$49T_GyIA$oC;77<*oF}-91lUd8KV2{Ke#wq25(xzn zYchtA1%=3{n<#Q*dX;{W?7FdAMSX`lUOq#;3;EziXVq`%BUd~ND~gn?7j8y{DJbOd zMCiY^L}-vs{X~HysgTT`jjTFoYO=mv6(8Y7Dmi>X2mm%X52sV*>)myG_pe~qdMzb7 z*%*l{pn?+-+5qpYfjtJVG(}PFw`uHwdZN}FJoN?m`_T4(tC3OY7Cj!Ke0td7BAalpF=r5KyBJvA2PuYDrRVoG*4_`N&xSUb#qm< zVnEtTqX*3mCC-CT%Zyr1yLj!u0w=_Qy|-_}4DX>q>%t+3CWNFB)$emCj@_C$@(DVj z4Au11-yC%t`G?~A;1FMiF^s%HSNPM1>JJYibEg0)$|1C30;rI5+Kl*nEW@xf0eeU$seyPWtwc zdk-+`ge;{f>D4Vbized|M$M|UBSUR+IkdUWXk~*KjOAw@+Ot8=?eYvT%0pVp0o6b$#(08I6Wdn-g!ZY$3^ z-?x?-+D4&R?uV@FUmJIyOgCe9)nMUI<`gT`35$%khE7|!qKe6{0NsLGwEna+pL@_t zbNglj7tZs!5U((Ym@C`ZmOwxc{AU+Cw^!dbd;>NJrd*~`np@o<>$mxap~~t7Hw24EqOTIh*k`bRU22Qq=nNv{klq9}t-O*j`00bfg!f>o4xY*;bIRY? z13tftz{c7O2EE%5eueiN(pPGTVW_~Lcp8didP(4I!YbHu^TLAVsGZ4)vw@{T2=Wl3 zU89z7V-vsFNAl*4)T?1Mg~sw~=J3LfwHGq+ZJ=K7qtp*euymP&&BM;Q3N*WO!s?ar zn6W-kC;xUp`we%>L<|@j&_vH?4!|k@L4zMtZ3x`G9-rK5crV(P_F8>R#)C#k`{H~v z{Nor1v)Sb5E718nekQZfa-Osu3y-`|oZG*}|9LH8(Ihy@qv3$)gcn?ZAmv>Up5=!k zNlnqSi@W59!E)i30c^-HHeBR5t{Ze0T&dMReQfDbRSb2?Y^fE002U!`;y)7_vj;e2 zCZWFwNLGaS%bgIqE1EoGw4O_cB)fHmUfTO(B;qUT(%1e{P)DV(GiLKYkEQ%cszbHD zyG7XiAQ&S=&O6&x;A&38GDmfNxoy35uJaohw)W8LTC$cacC=0Vs=WQl8}Pnggo)Qq zn8ADBKK(Eu3Tvk~6DGTWoCIVk%IY?qa+}>JtPE4R(BwkxLvnkvJ6OsM+07M-@%S1V z2Q&fc|1BK}3P0P7@&-KXm^!g&$6#f>^&wDjq9%E%ay{Vx2}vi7V;+2{4zF%Xt~W}1 z!7fTUhp3&X`aarCg6i?8+2sqY+MM%fppte?BQ}03nJHoh(;2LKJK5YdrghG>(x8LT z%Tseo`2H9ZC~%0Tl+&il=IAk#lY|eC;~+G>UT@Y)W9s9IqE1@EwCkHbrZw%X5Jhqq zUyb#%?6k-m9xvJNXt^j271M!u1h7m~eA-zzrG6Pn+U6&`M39k0aL8SeRj>>^P~ydB z>24bzrvKAP#tWiMtMNML$meD@*lQ6qn8aY!pFp>dG=g679cuN{An;Mg_J6H^ zpGrFSAtGDCuxToM*GbdCg1@pxuu@fe%&$`Xm~&ToOqkO8Aq->E0En?uYhNH>Yk53m7(tQv*9I=k@Sxr zXbtAi2^khG$ILLkw_12x;7064P5Rs62zM_*RQqpqHoC))=-=v|H0Q9QhCu@wW%tHV2+N>a>pygCR4z{Tia>^R(E7 zz9%1vUf+9{`P{mhM=nHf6nT)Zj;>sA7!(#L-r&aWeJ-|UrLs}3a4!O@e&;sti$-St z;(j-FMZhgREPw4#d1^@(>ldl^FM<*_hcabxsO-x>n3Zbas%>kbaXO>$nhpN(~vg)GiWtlYGwJhLZ$ej+>)T^VX8!JXM4o~XMYC^=j zzl9jlqKFEt)N^tF=9Y5=&;hPk`HN83)XR!*`74E=wbFsq9L0u&=7YR#nNR0DlkQE* z6#z9%fc42$Ki8x|=kL8Nk5*2LUorjqaIhGeq=zaNLs#wRW1&UNUMS=}2aZ_fbaD4R z)@)fSh9J%1j@S%$ze{vptB-JNs9m)bsGv3AIMEIhU*EmbNv8fD&>+DsZw@Y)gXJa0KS-C>CkmOvI*SMuS zSs27}Y)BNSBNTg0if&i7LV9Rjax|tK!;OCtS1d;;c>P^7ur(5ioBD4A;c(3mZr)R5 z7H3Xv{DFwh*zIwGc`;kGixQK?S(i9Os)58 zL2laoMBH!`n{aaE!JOZqCzmMLA<$gktAK$*o)yZkYIznrvdYZ!!^J%X4No5FhA;vq ziN8~gg|m&lf!Vk-Yq-vV-PEGI9(}O8UL6aGAh|w9j<@Qn)+^e8^wbjaNIN4GTw1;A zlU{=+!Nf-Z7HtZ)slK5!X4JH@9J$BluPi%;%MoT`3YjwE=3tfFAb?b44mkP zUc!K9=2rM$m9#=RNz`7WCpcIg_Fa{YiKMN9;)@NMZ|4O{a*FeQCngag#Td=uQjgI8 zb_6S^{zAw$GM2q`Z39k9ADEOR?*Ac?>Vj$7R2W=3HCu3iqAM0LmX8M?$`tGoqPrzO z*chC$BD6y^Ky%6Y5;Z~MpNlUG<}B39woSWq7@Vr(lb@IWqH65+MCbGJ*y*+kt+bRz zm-cqvo;as^R$OD<2@!r5@po5Jt(Sl*UHihy`@56a)sXw!lcvrs?v-oIwr;DZoVCff zlIR~7^T_IXGt5X@SL!$lk_@-UrXF8;y^`SCe=gYgb1q9cpsHFMWcu{_Dyub9j9K(A zzO1dNk?+^6_vjGL(4>q14&aex*#)xNGw+w%AF~UH)sDtIumo67nOg>*l*=)ULl@|> zg$(MOKs6J9Y_sO-b5-Pby4>rl8y8OI0t0ZmR)wNMcVmph?l2VZ6rVHf`&#f@O2u(x z$%tjfUoZtXGahin*S6>@9$Yj^eYTVDxS2M92uzBg=6Whs^SK|4M^LkFwVE9lrNzQw z`pFLtNKbnRVVd5SN-`-p4QjVYI3QrC}2*Do-Qu4chRPq`RM<$K@);m)#~h6=&t_BxlgOZs-%>3{S>9_2}Mg^lTq$w!uI0mlRbOR4uJ+&&5bx zi#itIKU$JE15cd3T|U0-NsOekAH?*?hGsJsNov+6vpl%XtaL6aYBsDlbv7jrNT#D3oMzV5t@T9M5OAa;)Nab}^2y4EZn#y`Jsxc~*Znb7gE?i)G z$eJfVDg-o5T3(rq_i`*`pFtFw;&O<$A~C-j#2=4%!se}QZ8RoTBie#?N(d{0hj zpzE4`dr4n&;4m9=Yv3zjZD0oCMiiUjY07GH`%CK{}jCqzG@x8 zlO|d>rJ@#b3y{AiCwn-?k!!^kuylDl;8#zoVz-cz0rHl{2#b39`}xYyFyyACY?doS z$hEo?b>kTUj!c2R_m@dYO5p30m61?s|0k5jay)p#JKX99@9qBi#D))uEn%R&VXL=` z!;~#fn?_$;(36jIY&V)a;>L^es3=WA$nL>*!bLcR(gtJg$^8Bh3{aSV}G>$0HH9C`z#m?9z>POgNyD- zRio?sPH_(^6L+imR;f%~l;%BoGR)^o9{I398Lh%~B5#6^km!P%IVdhejCoVKz>hir zzB({vi!T}|BM)Q!#aCfc&OZC0b|(&m{aj=QKEA%&Gcz&^+#Hlu`d#01Z*;qNe#~2S zX+CY)`{4!mK-jl~Uv{iGP8Ks0uVI-)__ZvI zzC8=?@Ei*%L_LdP-G2CqnPgAomE=6Si6g1g6;tPFe%&m1*#jM)i%ILPXK1W67N_F#l@< z!vDK1q5A`l)5{H5=Y6g6xr>6@MN-?v%-F@8&(z8MGlF0Pu(2}%c$fg(8mw%596Wpg zHU6adO&Bg)vti^* diff --git a/apps/docs/public/favicon/apple-touch-icon-114x114.png b/apps/docs/public/favicon/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa46d4d25d141e00cd52afea852d9ef460c3425 GIT binary patch literal 3914 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/apple-touch-icon-120x120.png b/apps/docs/public/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/apple-touch-icon-144x144.png b/apps/docs/public/favicon/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/apple-touch-icon-152x152.png b/apps/docs/public/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..310532c4648a52f0f8282bf695eecd92b0fa18cc GIT binary patch literal 5816 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/apple-touch-icon-72x72.png b/apps/docs/public/favicon/apple-touch-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..e4418058cef5fb2d846d844916a047462248c311 GIT binary patch literal 2214 zcmV;X2wC@uP)vlf}Hm6vzEMgzK?@z~JB@!^6Yawq5R$ zn!y-DKA)$xwUx&ndyIAK*3r<=Q0cO9V3{Y}0>1A28CV{7m8#Oy)5GrFyBQuHPRNAn zBA?H*b?a6(Zrq4S*#`VCzzPwuJ%Tm>y>X={CMM|a?xwdlw#aRT4I4JFbLUR#>gviB zds0MR@HA*!Tq#v$$BrF$3^@ROeSLIyccZH1iaiZr)EPdkj4O5U;6eKO`Vy{U?a|xY zOHWTvxgsl7b-n@C6VqWF9UW!w-o0tmFB90aXAh&JqjA{=SZ{z8aV7fu`xzP zz|hbT{r&yrimWg|TU_qIz(C@a${H%z*k*wH;&M-(JehcfvW5ya-e+*;b4udk#fyno zs1)qxyC^)6hw^=sR8YajnHFV6^wsDg7h0RRwrv?|8LU5@q5juzr2fn>D%fahIuoc( zGZ@?QIkYYZKw-(;T2`kdYDduY9AiIt6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP z1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTKV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VE zN_$Y9q43NKWKIL9qBzoH02>9BOp0{X2(q7QhlP1iw?C-rcMJtV1(>QKrcZnZ)-G@x zE7x~K9FhQo0kKh2oSp@wPtXI6@YEyMO>sKSyP&H6#FeeC4i%;fL30{l+e)O)!i%kF z+vO2wjKLV=^o0tk*6OB^9zk^mwylKx3^zesuQA1)LmZMs1S^+g+%o8Rb{I;HAo)%^ zv^E!~d4I(_7eriwj3Jk^7c9 z$d^9r3N94eCILsT=NJ);F^C8w?Tw62j5{GG#`iAI?E>$U&^?PWvSJ?1dtb+lPTsOD z$+xQu^T_ue4VrM*HgQ`n-(x&tL=c|{hfh^!HN|!X+!u0H6m=Ro@7zs;K-(tf&EWDA zpG?G@WIbqhJ?6)&VOq}j5D&h`xMyLaoG|i!2}nS(Lpd5b_Pt68NOB)JHh)$kCM8FZ zWiZ=TA&u??Wk_eD$Da03k(w} zJ^p#vgTh|pe~RG!go4oRBo>X(oU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IY zB*c+ppCkg$34+Uk26qWM)uIuS0Cl~ph$xu##}8;Y`C$^KB_qrT1;jjKeVi8XZ- z!b0u^r8RVorUP$*o!n3*5rXt@=RztX*AZ2UoZ@~=l$}6_ioD3pEAk-Mdt|&o^RM2- zT%Ab5Bp-8qX$1xmY*2OXA9(Wr` zasDWK1VxSYb*4C3CJNm1o43i0BrD2MWRRd6_&$I_(+g*q{{Ben)yW(|8X_pVuIPo= z-LG6=)@$jAauk^(==%BSVw&pTy+UJOdZHXf_6V{AVUFsK_0c%<4xCC=l%uH0+I(4* z(jWyXDD$2@g>@xeQH~;e9uyYbr`V~bFIL=&%J~7(RfYkW8rL_ zE=g1_m#c1VfZ4AN@v*^6$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZ zcrPxutu1z!!X1Ofix-#6e$U{%k)R~ju3ejWg|dbUHojqiBXPMM9UZi^v?N}ste~Z( zg^rGnaz&09;1E!98Pc*Wwr}5FX@BQ!2@#>Is|(AD9c@hlhm44v2Vyr(tzNyF&d$y> z>R3~Bc6PF6&6;vW`bFftyV|Q?0Ae>zsVe*S?PLG`{h8eYexoqPuzB-lHf`EeDKb`x z$jg2SRsB8A_RLruKYpBDyLR2S`^Xk8T0~b@7fY8etyJ_y5%~&))(TYh)4<<>+2yWO zRZg5Zaa+DvpuN5QM)dR&@UV!Sfym00s(u~#Eg2kwR0%fl4H0?XODH13&FHFjtulnJ zFgXzSl>yaffS)jRJjn)rBqF<`8LO^Yz4jsB=haa+Tk+rJK$#`QgH|IO^qQ`bq25+=QV+CID781 o{F*>;2noL?@TiFV_eL-NAMoe90o$o)vj6}907*qoM6N<$f&&^LP5=M^ literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/apple-touch-icon-76x76.png b/apps/docs/public/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..9a76327f94bed655a4ed5081cf8c36d9a68559ed GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/android-icon-48x48.png b/apps/docs/public/favicon/archive/lw8/android-icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..0918c9d5a5f6160a798d5e57e9e7a5501c2aca65 GIT binary patch literal 2138 zcmZ{ldoDx8b2TQq8DV2b>|AS4ZW*a; z*{V&7BC_4GcjdA-Y1~dXp`*5#()l^-taUnjt+U?s{GRnb&*%Gn-uM0ImwPb4Q&mYv z2><|9Z!foCD1)1!AP0R9!Pl~(grK?jy8yt?1=o<}0LOO&fG`sP)}fN{ z6#yhd!Z)!1fGY<86i3t+gohe(alW2zz}L-H)qbT2swi^2B9j2X!gn)ZV#m^}P*I-m z?e8xCQbAq?lpRF$L6)-byxm+v=~E+7zHB{r_jq;VwnoPVZ|r7H(_t1239G11TnZgQ{18t%rrAWZ`n@>d;W^x}`z zoq*OcdzYHpKR%A~lheXtV!~oD%TA^^{0Wtcm$~ij>p^Do3!3E`lWGK>m%zPKB;h_-nJAgXBo6qHOo&f?zxwOAq$y%bMW5ufb*H0 zcyaOBLA*6SW$}jieX~a`4dkr*E$;0u41R305{*RYZg7Opf7-#L)7R(-aVr8a+EW-U z;(4kdM1vf>%}v#y&#(cfVYQ&#`Xjtp8)6EI%B4 zQ?a#Fao0|)cGbm(sh8Gx^H@K>HnRWA->OHPRb5N@w z<1)5>ARG9#s_5+RGh`8`I`QjB+J(foWbTa0k?~bEycVbFR-XJjT{B6LpZ&!l64PX# zbbYTN$4cO?UPkPEGACV@WOO1GrRC(dA>+SJ68dM0xC4otK8#0P8W%PYf&zD6i}kAC z(21&0@lJWrbdB59i_DrNA8)1QahHJ7>nQNG)0oT+VfYYP^=w9?evy-iqtfAQV&Px$ zF#2_^+>s2gR2%hQ1O%8)Ec{Ep@WK1s7S27MP94ueg||Mcp7zK~T3f4pM>)G2P%9xm zdNSvb5*pe?wWt;ew@jKy^8-0asFLk@uecor~zS5h|vs$@`j;rieayW#ezBTph;=8xF6<)8koBA|G1}E?><= znZ9^v zONdnDvffsMK`j(F?#12lsSd?H{Z^4?_3>!Imrg8Jpo9){5(f4}FK1|GTnN(Iio_dV z@<(r0P8`CaTh+)OueiX~CZ=phuN{FwiSmR0y`DS&^d}1Wz8&_hicJvBHiRV zP?d}Du5sKMrbXbX#H^hh`LUxfW>~W{^5k$rJ*D{R`_c=7U3t!W+*Wyehf+hsJIed5 zSz~G4>$6M3R~xa!iSFE^hF!ug*1Wutu=Cm^B6V0 zIGLyRuBuEocvx6b_Xpz)K1|x(uta~L-{91dvp;`t)e%HXpNA;)%HtHHo3Nx~s1{0xzM&p>(UyBNq5|jRmA!#M%SF)2)Plezee z%hNf6H)*!Z<3P3LQTjkHy-%lcv7u_mm!yPAv)y#k|)XV7MTEK%5O({#nQ@} zhsg_q4ZjRi;r6!5!})a$m+uxjYQEgryfB(Qr?%K~1UPMUn~wjs$GnHX1tWZo%r)t_Kkw` z>bH74d8qwsIW@wHl;*4$=_k2Vo^NKc48GALS7bLjl3?i3Y-?HJ=h^0|0(2mE0e z(F`VuMumbwK5E70(e4fFUxL`}n`|gOnHh(}xv|N~Oe%|y!ySasB*6O0*SqMyG2WXl zIGh)iL8J2lYX^*T3^xp7P~Z6chdIQc@adb#(*{EY2+{rq@nv011TRnga_^EBu>QSg;`oB+(wjtSK_U&`PkR8Yl6nhfM4r`CG1)-U74t7|I9mxt( XSV8BLY#R|n698}b0Jla$?3sT7J;{qv literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/android-icon-72x72.png b/apps/docs/public/favicon/archive/lw8/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 zcmZ{mc{J4j8pprZ8M2i%Nh8^^%)&6nNMxDG5<{Ypov|;2(6xkY(@3U}J!K3PqwGug zSxbs6iN;J(wo*!jxZ|FC&i&nc&OM*=e4g`pp4an!KFdF!bZaX!L4Ij|000DWSYtff zWA_cr%bw4Fd1A(P+&+euh5$g%Iuzpl4D9WX(spVNJHi)&bqogpHS>Mrc%XlW#twprI7<`IXD~yYlXf)1@r2e(_zasCB1Ex7btUR#2E)`2!aURE_*`J9Plvj@SL#}yXuki)+UxgkCR-w2 zxf@tZT&Y+ZqgBvn3p_Z@mtWbb0fD@1dKC zc*&f8X_`Md`3;mJFn>p(V(!RDr|8#|<*3I_@r%rARP6Vf()>TO{Vy*yvQWdCFH~PV z1np$GyF4w$BkyEC_?gi=FN^h7ti{N1D) zYQ5E`b{6Q~r@SJo3wur5yqv1+xdBB^qwB(Z$XQ|Uow9iOpIl&=yyx{7z8oPF{FEIf zUCZ(8g71^-ckD*pLR5{xyoL)8J5imE{;pLtLA%>kAif^4a)r6$(=t*=xh=csbj@;E z#g`Jw8;+QZA$?q=Lj0#G1k3b9P>gspywbqrX2G+PwK_fHPoxBLF;9zBtYymWZO_`@Uw~EkPiAAe z`20RJ%xeks-EZZ2b*??d@{w~>%TKw-YDGo^amYPVY{kyyTfGHmW5=|B?D`^{+1TB$ zBizL$aR;^)+)fD$9v2y8JDxZ`H(b|HQLW!h};twSzxsbFWsXS7FwA;0$ z&l7(HT9x9sc{^oJTZ4)<%PjRm0^a3cJkNY1!slDTxu)sPA-y zyWZx(rw?2a{a}1O4M==DFakzudk5(agXzun!l@Nm~&R2;ci)TrKjHu_#gs@_ZXVFJdYcBRAYAnvq!ZzWSCTtd!Bv+Zq zW!qo-=!ZKGDkYz{t2idrF9PvW_TFiFUJVKU(JEGE#d(AGmqmwA^!UxWOFDJP^)qCQ z!VOA`2xu_SIwzpu;D^Pp)u`HCNs%$~jXJ~XT4cnU>2$l~%le*|%jCdFMbk7(Mv%?TF<1Eltlaa3zNuu*zrR;mt}&M z^rfz$QK$%k>DE-iP8Hc9%t!61>;M;J?#`J*gL-8@v*Hf6>z-K2zj`!QF`l$wlAixw z?zqWe9}GP&`*S(vA|;);S~PY5W)!e0)0ar|5E+AOKhO5@fu&}9%+DlvvVOXSK8C9D z{lfYG6w*#ldb;FC#>n@Wt~w4`9P3ZsPEPTIgE{rkP>=Sv+Wb<1kq1NF9&&HM3^sMP zSVksH8i<L*3bjG}yq|jE*GnaS)x?WVx7Ii$<;+k2G%!3Gu-ryUvVE3p=1dXQZM{EE-vEhg zrq%kdDgSyLTaMS44fFuy8lDQfwm0hAs#_OfPkp^_j2`VCSnx=rzJvCh3*hwsQ86KV zTvC=h;wg0`I#3C5GexsHVQ>Ud(O#67e~OIT804)&GE5_NryiO7m??TeS)!u@9(d1Vq{bK*|XSNK)C+6$8%xO2+I7>D5lUPHYdQc~nD zp2U25d#scmx+YJlG^-SDG^F011h!hkI%5H{_i8l0+?nG6yksK2KlLr3qH~m;@Yf z5b)Ma04Lvem3`7K+GNmnk;AI!>LDincRrr)`7bPhyZwOfpXY z)!X%G*U{DDwc8~EhxJVPMu7swzXgHT4%nsQy4#F9P;`IqcdRj#GRzQ zMCQeB!y91|g)6JMl@^bhcrmgx`c#|RuAImgi_6IgmHwMG11`MiodC8|L)g1;WV|?P z^%}`qt4z*U&5$vFL=@&8CXOVQFTWfRPUVpXMcG4{qus}tKk66{ z`fp|L*4?~+pAcA$u_$+dceLG9U(e&ReN|s|#pgVU>Dsl&&%RR!p|5v)^_;HQJ^!Mr z5cjjXZFD{*v^j9vQJ@cYRVu5+K`?gHY;~har^#JLz|X0X#i#i|YTv_ zp!C2Yf#363|WsmE;AP9g^XI3&P9 zW)0ExXK#<;Y=&t$aU@gsBxsf6_?eFA%-QwVULcy(c)0#P?A=Eo zp7jteeR>_#QEN;SD{HEyC7ovYJ8}$os%I=iBd4zFH(Jj77>)m!bn&Zd2B(6_XCU1G z);y-6tN6Ra#ISO3|M-U0R*9a?jT zQ=T+izDZicaz01h@B7hq4kI_LM^1{YJ{qdG)@^fjXNs^g6%#^T-A=u^E9%UXS!!-u zP8K5@Jj!eP_A9!(35e=6^jGk z*gr=FqKO01(~anb_6YN0I{*PgXsW|d>M$KUI0CJOLcfz;zL)okP#F8Ogut{F}Kz z@Fe=~BX1tcf!WC6zaf@{Krdo+h!^m$T|q;Fd<^RBt^P;H(vD35aBW?<79634Lfko+ zrNTyp|E6P0i17koMn;r-r&ic0`@f~m<8gpDA;61$bZB4@F(B9n>g^Uu@CXhHhyLfv zp_*=52qaP$;i2oH>#5`Brj61;Xu;S$-F3B5p4x62>R2!ceUNEhi%nxOPvB}(st z6h*2*DG`tkA_&}g=g!>k{xf&Z?AdvDpMCc1?wK?5Mj7a7GSPF=0{{RfZ7p>pinjYJ zz)O_}e?9V6>KzE&vcH1OO1i0DxnPi9iMbe4zlqnjHXu zNCyDeaM`VfiWJ8s2b88d;Qa5(Bfd_eSmtGGOk|fOX1(tIksk3E$=oMeRc1@D2?G$Vi za*}ehucGdjVc93Ss)`Ea^!fp>-Ad|&f$2-Fy$_O_7vt{DYtX`!%z)~X?lM`LLbFNw zjF+DFNV6fenumW9sVGbz-DE>r8(RKg3 z+tY_l6Twb>l|LW)oS95sup^(4{aUe;*XwLIhoz)ct(yCFOr%Mja*G$F6JUEQdatPt zsVuA#=wa6b5=2^t5p2)g+NRKwfMEZZD=SiJNZ!j{I)jjJm?m z0y-*oGH?tCquO2;u~3l$34;V3N@E4E`8d!gDZ zy-#A0D0(G8*q~=G;dyhXqZMbA@)3Es9G$qjo+e=-kQUoEY&1&g)=4CP!tFEg&9lrS%qt0uVwn>(Uo9UDwj* zdz*1yCfgAm358D@Kh)IpzMvmcB`l7H`X1$p8_*kLA9|YBxxRjkM zS%W?1jgQ`_=p?4>@ozM_^((rZmvb609W~+^@5J5523#i@awqO#x#+DY&7Jf(Gfb}6 zqhi3Cd4qlApIDCAjAQ1FtYf-L*SWA5;xAm#Z=h*p49gGk#k7q1n(Q<)AwyOZg~Z=K zjHZ^fGeX8{u3tjeHqw2a*>-i~ea`@}zqfu3&^~MSm?1aP!`D*5&}(@|*~HoERT7&_ zbcSFVnAm?Hy#Ps@&tx}{!*Vt0oion%Zc#t&U=KCu>RsWPbh+q4%=5IUWGe^9BaH!% zjhcdrdc_GMu6sf$X>mpdn<29-Jnvw?spb@atNrsp6~#`i5A@Vtl3)GZ(m1`5*Lo{) zn&qHcN$YH7RR?5YyO81F#(g5|k#(lPd6Oo~igm`0gugS-_>{FS64tE-6D_;C{3##UW3G8tfa1>h}zvebvg6GDlf4|Jlbw zoUEfl(Bl0XUa3vE@u)?#+IJzY>;T4}GfbQ%_QJrDI)G2YZ!u0@Xx<1KOub@QCB_U>u08V##A-b~mX2oS82RVw{a=O>vkk2`B!f z#eF}rX3mMR6Qn^uB4WPAh@I$mEJD;5v8HwYp317Ol8g3J-NY{w?=H)f_QiQu^hvzd znl5c0RiZN`zzAfI6LD17XZo(b)S6kC+$l73AvuXmcNAHm0ZgB6Xna758H_ZBXd%%t zU-o-PB1xk+{Ya$Y@9CwUzL%6r1{(HE5Q&oY9OAknsdb@CiMMW}*#!ISVgsbVD4haj z6~wGXQRwb*i9f63o^M$K7kPMf?_Pcq2l1m-GHBJ^$Z6%h)w|{Q2G#LGyOw#*JXv&E zY^`8GLJy};j#H!B;M!_S2XAB_@f_BN#B$1TttERU+=v$9$^Koo4vRcLSsXOxjT0$$ z-fgCPOo(!C!Sro=sjY)4Q;ABIv)0+Cc5tIQY~)qXor0(r&suGrh#$3u(5D3okFEMX zulBV;8f5T%c2q0Ac@(Jc-};V;*6DHhkK;yfZ>1%9)3?k`cW-0oUF0^AfoJfM%J+$RKE`9_0ye0FYTJ>a4~lu?!1N0&Io(4xEu0G zR0tasM-RLo;LMw0r&Fz@bg6ftM4GS8AN_9t`a-(Do}nO<65L}M*FKS=B3Mgt?Cq%1}E4OE~2$`e_gbNgLK_g&9T zn2;S^yCjGt{_EIB?6#pnjOYUB-j%WrVQPBCok*a%%!UVVXJynQZq7rKyJ0+4r0!iG z^R?WRg=X^vXi?ju3*Jxs}Eh2L#Q zvd!NGvUGIKY~NT(d)b+C#zDQRpF(DTSQ0yi6_@GXDbN&~kda$&h)kr*J)4%=DpP#4vXr&%Hq-QD8Nl;?AQg-y1R>HY#Gc&OYd~4 zLSJ*A!x6-x>K)n*CvSGL9q+w^3ii9V1w5-TH~#q?k^Ak-xV_b8t}H?Sn!cO2T5Ok4 zWS>!(9@duljYYJ8Re+l}hb;Q}f=?7aM4o!& zHVC+S>%4bo+1cmOyV}+dS#ifeufvS=PRkbp5*zOn3b*PdD#{y!l!A_E)c@(|T0V0b zmg4T6*`A>P!^!|d!RgR}&Q=<~(DN7~w~RC!Vx$?_7KTPe?gVV9(H%*u(8j!b6`KlS znYQCf#6?Y0pS@9TvOH9Ixg`<`q}u$}JqUu7^U5^N1o5E^Q9631tYUR;G*Ax5ww4Q< zcsin~Gv*=ui#9bZDEt2DE#!SriU*CfO|_O$)Am5TWg9P;xg~I^tP!_lPm`6=w?kj; za%E95Bf!A0_;ZDLiBq23 z10>;LZHG<_W*T*<)%~&d_~m`&q_ryYv&6}7CHKdQmn-NHSE^M)4yIgb=Xy?tM$!3u znS%cAZ{(`izgIJ6#OSEX)p%c11A!Wr#h+&zr$x8YYwCGM9Lv`o!jV?N7m$}xnz~ew z@C=(ZlcX2FB4*|W8)ydOMn0WA`)xje=43o9&CHX$v|Y9>!FUp?gtjKF5mSXE{E!i z$y3HzmPyVj-$1xM6)`YYaShzrKK% zw$2#?+>D{aJSS!PNG^@z}Pi#w3FeSSS?^r!jBskv$dtb494};$U&q=7qO^ zn#l1{L|fg=U)|G_);xcfesOXwq?>TPxiN3BBZe98eIgvyTm$U6nu9OMe_j+7qEe{n zSjg}t!?pU2W%f?3xC;M`r$w|u&F(F?8h&9ncx%a{qPs>qBZF;+_e zg1H*oZek-?QOjYi`Xxg8Ws=L&9UriR`VDPSfHT$fz!F)bh)r%`EJ4uaPp z>k*c3#svjUpZC@`y1aQL%JhEDM$Cfs-mTjn2df9_4WyXGkjntYT__U9yxXQRx`&X2 zt|3eZW3EZCO(YDL_%$Z`CUhp=6do;PPHd7#A|o=*P(ELYzDf@cj#pBaQ-t5nZ&D4r z`PPjrKS;c-Z1PEbRdi~;5CntyC$yp~J|`X;pG0-oRX+?`)CGhxe`$2T9{2<7>zD|Cm>YZUp`QsMEYnbC5?eQ1{+8aYr z05}vbEdiC6fXW%e;E0>@2q;_}3PnJnz{lp`{}bTu>FDAV@c#z{@RPDB0pPzGd_0}- z{`TG&02YtO`5>gET-@!QF%)q@yGnX`JGYH;=TNZhf3e0`Uv~!tLfsSX>yGijBM=4@ zs1E@4`uwfbe_*u#vLFyz7#C+O9spB-D_eV+P%v!&;`twpnTsPH`xi1%&IhDGIQ|9E zb#cew18^9?f1gSU=i#hWYpVAjJi5jd6aXfx0J{l;-;{@^f)Ye2kjww#x#tpy0YFt% zlM9d=6qo70TqZ`^04EnW45f4_cMrUqr?Zrky`Kx()5AyVe_JjkZGRIkBclLEE1(q| slZvp_H5s3bOK!vi6dc2uaHMNY_3UQ8ECuHT2XgRqaCm3!({M7XSbN literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon-114x114.png b/apps/docs/public/favicon/archive/lw8/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0 GIT binary patch literal 5731 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon-120x120.png b/apps/docs/public/favicon/archive/lw8/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..f740816a8891be4315a0a5bbe2f9d97c066da942 GIT binary patch literal 5955 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 Riy$Ka literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon-180x180.png b/apps/docs/public/favicon/archive/lw8/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1bfbf7f005e35ba508ec932288803563192ca0 GIT binary patch literal 11605 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon-72x72.png b/apps/docs/public/favicon/archive/lw8/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 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 YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon-precomposed.png b/apps/docs/public/favicon/archive/lw8/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/apple-icon.png b/apps/docs/public/favicon/archive/lw8/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/favicon-16x16.png b/apps/docs/public/favicon/archive/lw8/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc90100bf3a0c061a211fa8dbc7b47b2c3696b0 GIT binary patch literal 1396 zcmZ`$Z)_7~7=H)$uGjYZ=X$+%|4LijKUmxAt?RZ6Ft&7TWv;Ya*)S8*uDy0Q=(^GC z8ZcSFXd(l)X^>z<6EwuBYykp%P(Nvu%>kP%bNa!A4;l^nO$>=~n@`8oN#dL5eV==u z_xJps-}Bt5fWMhk6etivq_4%>4qltv^38CT+ch2Fo=G&cH6V0tO!;R-26s!erM(TI zLn=1EIW2f#*U^YJyhDDHTqUxSqsmHEz(z z8I9bi&6$aU@-i)$Ql?YND3wgFlF?+&3~G!4(-HX^%t#Rc(`hghMHFhWd_7U5#%Yy| z(qRQOQLMuXX~L|*844>h5L?ukL5~$Pga!EZn3*B0KtkhNj0&3;GZ}D;NwL*{TTO~* z8QhkyD1lrGD}3_JC@sKXAS_0OwNO>IrVWIxYx_r-iP+9+yFrf{GlIM|B}G2dXsGZ# z9bU}qQ=;u&N8u$9M#}UgMuQ}fZP$cime2caa|g{gYV=|?C3vW~OZx&NFSROn95mk& zZFl=@_exZawfe&e>vY_D+smA!aVzvyLV8QdJ*8w*H5H3nzwEQk2MXTGmu~~*(5wb# zB{SHRI|b_(-R5gnB@d0maJH)IE7d_7H$(ecte~9q(byK40F6P!0z+6`UH$Bb8x;J- zda2#t;ml;8tc-JcWqmDYRbz z;6exL=-m0p_#5e=AyTDK6QuI-nenc0_{Z$v=$VnxQ)f@_YdI4L^#mBn zzjxG6>}@+cy7zP-C_D(HeRI=y?zH%PGhf{cE`{gmq1HQhXPxDh+Z+}4h5PY&-EWT^ zkEbTCd^lAxIk~tP)h>;_I`Przi7~N!GI@k!W8<&)Pbn+xc2S&6_Vrb9@$uI*#LP^^ z_E|CYu=f|YOJJ+Ig2AQx_ZO>KmUCUZ8oPSE^XAv{w-y(w+#XN$%^RDMS(ay6`S1bDe-e_Zm>56y{|U#o zKDY=8mRyB&DlTOsM+MX?Ndsx#=@gTZgaBKN9(JUTCO(}jejBi+95&RON%ru(Hxt%bnMaRRBb@fu}<}E+DqC@!Y$+ zeubyb4Nv>qeJCy-5ukNvvR^uqN;u<@Au*cjPdon|xw9(b=BlgfxM*FpE>;tXcxr1n hHw!g;>O8eEPs9Nk4$$|2S-cDtkgv(_ooWof^cOABiB|vs literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/favicon-32x32.png b/apps/docs/public/favicon/archive/lw8/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..b8fd7965f93fe66c00dd714e3577402c8f2e0c35 GIT binary patch literal 2056 zcmZ{k3se(V8pj8eNiqRK$U75~%!KexX7V5}9wi~X>f$3jv{hR|2qC;7K}GEzrR!@e zS`|?XS`SpzRcy5)t)Ng5w;oVb4o9R1PrDZIv99a!xa?7n?2X&q+C67yes}J7zwdv) z@7_6gX4~S089|5;fgmU-E7NKNz0}vJ^T5;k#UHPLZobQ$ZHA!JJL#|N0luIk)0PcE zYa<|N!yh2%1#oS+4?%S#1U)Q(Ak%&b;#IevUy=wx{;L-ME;kJmMMg@M3Ykt7o+uMX zNl>{24VR)3QZy3t5rqRp(Xuc=Ot_C&xfl=^jT0ta3IpK;QCV+b2U7tYh7T@-$_oL| z0DPto0gI06iDY0zh?SulC=2hu})wAPK0*V1umS_vK|VOa0o-6101Qqr%wxbjjGiQItnB`HuQ5FdN>C?oX*=UMzrtp zca-ASOYs|JvRk3BD2ZKHjD4?R7KrJ3yYwQPA`OMnP&iCLQ!ESnlMOv6q{Xq|FpQpH zVpS%xYZKWu3GC`@!QSOzU&-jnELh9{TMJ+pO8bn=1`^Ksy$c(bz8C^J+_APMIM?N0$qJC$WM=Ng9c zcDYkSm+&`LeZqXd_=M$~v&Wonr@M{IeE&dzxp>_joNUOkjUtZwC7JG_+|nc2E#sCY z&5!RiC~TJ(J-nb9J~lJ7e$92`>|G7Dapx{AmL9PuyJ=|Zbj_ZKKQGGKZ>o5~*E*(8 zT9;%Yn=Hp$J8j2z=h$*aZ%q#$)Jq1##oW9KU5kPnYYvHz*R@PmekmW-Yz`V5<1eQU z*RTJgIb5T;(O`{EMkMmAGpCdu`&n~;{-tui?Z$224(#gMs;6#A?VTR4DV*PNZ1B#w zw5w%NYhs%9hp_!Q#ycfhyS=NQJ!?RCz z!1i;lY(Q&xT$oUBK6-V)?%2*tqg$t+iOI8{+Ip`(x;B(iySKlSr#vs{=z4r>D)#V+ zxPbAY>CVe=Z(z-1Q}q>3`-KY^+S|W=Hm#T#I#a$;I2hrmJki%^9PrlB&yQx#n?c5+ zlmSHQq%-}h=SlLlTG7(n?fIRXo#hPisz#k*-TMA@pJ+?6g|Eh%Gj=YY?4AGl%d0s= zb>D|Q+`*&woZq`f<`MoI`-hSb^{ox+z5V3L?T3pkroO;$?)J}AXfEFGnf*XKJG-x` zt?tp_ zr|Q>a^2)7SF4@VV8Kh?W)5(pDt%g@$`lIQWYt}|h1RFyA2F@ii=_^VZ8F(+&mr^oI z9}4WwSd%KBxae@%?aa&*W6e!XdmlW1u`<2=bi?hxC9S(T{?W^^hlP#l?V}IgHBZ4G ze^;c=%R3M((&mYUvy#&-w~gkJpALY-Ecd1@^A_2?PLre72|7qksx=DIpdj_RDz!;# zFp=t5k~EPd_4mu9znM@`Rpc(N|Nj%}Wk0rp2~uALPgSvZwY}B}m3Y0?9uq;hE9@>O zXl_TDvZ~hAI}&yfX!$;EZb@B5p~+;ea@18gE4?PuVj%TEs-tr~z8}Kdnk-)ylPS~b zc9nP`l~J9tvL+8`cyHzTMYGghPpu;XYv>R zPoC^tpn_C7qe`n%YYpmV=FVs!VZ4B)DF3Zco-GS1c9%QB)`^Nr zZ+VrAD7LS1JE|%@#ILWM(Ac%=_;{n*VRRUa^me<>pjT^2P_xjeGZg9UN-#qS*7qZK R>Fa9H)3DP3004R|O*KQ3w)-no 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/archive/lw8/ms-icon-310x310.png b/apps/docs/public/favicon/archive/lw8/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..474d2d508f49a0a2a294a7ffaf296ff88a55863d GIT binary patch literal 23344 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/favicon-128.png b/apps/docs/public/favicon/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 diff --git a/apps/docs/public/favicon/favicon-196x196.png b/apps/docs/public/favicon/favicon-196x196.png new file mode 100644 index 0000000000000000000000000000000000000000..adb05b434539536d834a3f7323dab922a8994e6c GIT binary patch literal 8213 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 Hu0mjfjv4HZ literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/favicon-32x32.png b/apps/docs/public/favicon/favicon-32x32.png index b8fd7965f93fe66c00dd714e3577402c8f2e0c35..7fa29c547a657b28319a450eee8aac3b1d868a90 100644 GIT binary patch literal 4593 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 literal 2056 zcmZ{k3se(V8pj8eNiqRK$U75~%!KexX7V5}9wi~X>f$3jv{hR|2qC;7K}GEzrR!@e zS`|?XS`SpzRcy5)t)Ng5w;oVb4o9R1PrDZIv99a!xa?7n?2X&q+C67yes}J7zwdv) z@7_6gX4~S089|5;fgmU-E7NKNz0}vJ^T5;k#UHPLZobQ$ZHA!JJL#|N0luIk)0PcE zYa<|N!yh2%1#oS+4?%S#1U)Q(Ak%&b;#IevUy=wx{;L-ME;kJmMMg@M3Ykt7o+uMX zNl>{24VR)3QZy3t5rqRp(Xuc=Ot_C&xfl=^jT0ta3IpK;QCV+b2U7tYh7T@-$_oL| z0DPto0gI06iDY0zh?SulC=2hu})wAPK0*V1umS_vK|VOa0o-6101Qqr%wxbjjGiQItnB`HuQ5FdN>C?oX*=UMzrtp zca-ASOYs|JvRk3BD2ZKHjD4?R7KrJ3yYwQPA`OMnP&iCLQ!ESnlMOv6q{Xq|FpQpH zVpS%xYZKWu3GC`@!QSOzU&-jnELh9{TMJ+pO8bn=1`^Ksy$c(bz8C^J+_APMIM?N0$qJC$WM=Ng9c zcDYkSm+&`LeZqXd_=M$~v&Wonr@M{IeE&dzxp>_joNUOkjUtZwC7JG_+|nc2E#sCY z&5!RiC~TJ(J-nb9J~lJ7e$92`>|G7Dapx{AmL9PuyJ=|Zbj_ZKKQGGKZ>o5~*E*(8 zT9;%Yn=Hp$J8j2z=h$*aZ%q#$)Jq1##oW9KU5kPnYYvHz*R@PmekmW-Yz`V5<1eQU z*RTJgIb5T;(O`{EMkMmAGpCdu`&n~;{-tui?Z$224(#gMs;6#A?VTR4DV*PNZ1B#w zw5w%NYhs%9hp_!Q#ycfhyS=NQJ!?RCz z!1i;lY(Q&xT$oUBK6-V)?%2*tqg$t+iOI8{+Ip`(x;B(iySKlSr#vs{=z4r>D)#V+ zxPbAY>CVe=Z(z-1Q}q>3`-KY^+S|W=Hm#T#I#a$;I2hrmJki%^9PrlB&yQx#n?c5+ zlmSHQq%-}h=SlLlTG7(n?fIRXo#hPisz#k*-TMA@pJ+?6g|Eh%Gj=YY?4AGl%d0s= zb>D|Q+`*&woZq`f<`MoI`-hSb^{ox+z5V3L?T3pkroO;$?)J}AXfEFGnf*XKJG-x` zt?tp_ zr|Q>a^2)7SF4@VV8Kh?W)5(pDt%g@$`lIQWYt}|h1RFyA2F@ii=_^VZ8F(+&mr^oI z9}4WwSd%KBxae@%?aa&*W6e!XdmlW1u`<2=bi?hxC9S(T{?W^^hlP#l?V}IgHBZ4G ze^;c=%R3M((&mYUvy#&-w~gkJpALY-Ecd1@^A_2?PLre72|7qksx=DIpdj_RDz!;# zFp=t5k~EPd_4mu9znM@`Rpc(N|Nj%}Wk0rp2~uALPgSvZwY}B}m3Y0?9uq;hE9@>O zXl_TDvZ~hAI}&yfX!$;EZb@B5p~+;ea@18gE4?PuVj%TEs-tr~z8}Kdnk-)ylPS~b zc9nP`l~J9tvL+8`cyHzTMYGghPpu;XYv>R zPoC^tpn_C7qe`n%YYpmV=FVs!VZ4B)DF3Zco-GS1c9%QB)`^Nr zZ+VrAD7LS1JE|%@#ILWM(Ac%=_;{n*VRRUa^me<>pjT^2P_xjeGZg9UN-#qS*7qZK R>0>H3HypI2d85sfExA&_)FM`5ysm!?m?xa08f@zJ|6oQb!M| zs|Eh&f$RmOU;~lPsN?^H+dG*+@H84334?`)hiiuGXp$&FFfBtvLl|5ermd~9=b=H3 z45j%+XoOOgelehM)Bp;BOe2s&!9N-O{7GkNCXhX`|H*<#{+BkC`cI|yY6gq&Bg3>b z;XkwbP-7aD-GL771INHhrqEK>KF zE=m_+VSv)p)zi{ChO#(jp^bv0j-igCEZ`^uyt2dGCIxQYM`usT?0|w?~p`73lHGY0RUtrxU zc%8#?QJoI%TEgx48~ugagP7=0sXvW>Q$ zShmbvZvlXgwU6rU`5~$k<;A@(3yDBqebx|ze+jpA;LwgKt3Mt9zfH?0Z9jVW_?A{P ziwoeOwUISCKcw;H1v{4Mr~_O=D|IMHwN*=H$eWZAf`g%zr<*)n`=RRU7DS?kisPNM zKU_*62Zca0+B`NbfpHW3tsrY3*-r7EJ0__Wo=^Q}yKmzO1dH%+#1kj)*$2FeP97d9 ze4;A86EBl7Pq2KUO=nwC%SOz;P=Kqfx=Y1JC~@F1@XN<4D^JgY_0;P8C765H%k`Aw zMRN-a?Q`#omfJ)f$5|zJ8J9(rxDSA4a$+Yr$I->Xjb0Pqr{6{_Hq1Vb**bSEKVM0V z-#fopKC|O}UtjXWhboUep9&$yqH8|7j4AHqiN_sgzG58i#BYm3PxJ=hqjGaB_pV{B71EIyz$o`YwJX$OlmSx{tTsLx46RcGo}xD5>rRYxrQ zdp#ph(5Itef-hK`vZTiN8#+NzhSRc*`xf6~qa~WvW;dFbdzVt~->a$uRW;2RUiIk& z9O)eBx>puuiOQ|rj@ao7}0Dgf1NWT1qk4q{Ctt9U1jlg&Wkx0z~u6miJXbaPaYj}6stCz z3R`1GW_?CzgYWfcqCS;xDcbEzE-(~NT2=}xMYutplwFBF9zQpqIF|t#bOjma9N=*K z0r-64vOhLbIJ=JuE`KE~#=)C|ZFS){(&{7u43PxzYN~$n(bjj-&fgll_;oI1`$Dioj;vSajz&C7R2> ze0JUft;aq-Aa`1-ytU-s5!+kee=q_5J;NOCMmY(UH+c>w%$ zO8@>WXaV@Xb4_)qmyN>1><8Jg{Bry9k4u%Uo2Vvw}6$_sh^28;E#&vBUk-jh~rLl8jE!wWdY9L<3xi zf>kvKIH|qh!D5|up)0g>Civ}!-){Ki!G%{5Z@)&7t@PF2vB`n+ zRLPCH#QxXtu^MJ}e;QLZR`Ed`8gMcb)6cuSb`i@^%4ukNOs+RCdoS89nNy;Ij&CZ} zzrp3;h}b0p-~PFEyF7su!{?O(CKsaL4)cQmqaEJ5(r=j0*Q9*;9<85Bv~Ei%o)suq zzIq4tgA{zdHbAQP$Y9P`US3~zv25|XtiRkfPQoc0Xx?+{(_a@;eH|iO{El4fTUopJ zP^R%rkxWn}==?mM!@{6(l<(q$Ggpzx)&w8*9D?=SZIu;rjFpSZ1v)UpL%vw7RxbBj zY<91%Za5TNb~F+z!|B!tkwG{gh4x_#N7^@qySq#dRnR;+RqE_mN9_Z_^;zk)VJDd@ zmc)_LPc$ir3Y9*aB@5WR;C4Kh^+6`)P;o>P`GTW?kI@QymGPA6G+DkQ%U5J4i*ujk z4r@B9j{ox;NO3^qJqO$=4%)g2a!)MN7^)65K9y)xhDKcKsg=C@gg<1Iw0w@Wc{W)- zqP+f~C40i56xTpno#qDAJ0%?+QCcvcWVmNL$9oLzJH;a@L>KA)D~qaOO%P~RFK^{b zIO~QqdZGa(CHL5hLi zB7r0|;m37pxXGJQBDwykD<96=NppHUD6BD&db)hM9+4e9szA5B-e?;;cyXW%QK)Ml zSE|63f54y)a?Tr^aZx6`E|IolWLNuq_5gR?!08KiDon@O;~Xtjb&Rdao6D99O_ndW zEQeCS!tdmge{2-p`8Ksd6Z3`&Lje7{`|2!qM5K1;&qdReA0Cc8zo3w*xXo@?oZ2ZQ zSy82Z7I(g-n!JZyHFC+)$*qo}CkH;dhLym7T_`fcD-rwrTglcI+sP;B46^XUknal zEU1N@?}LumO(_fB(rb77Kr~IssX?z@qe?v(SLY?Db$X=O*uAUxbnbwX+N{ESTFEBh z-4n&WLoqq()^PnWA^Q1l->;Pu0`zu{IP;tY6#bySH0@P~rr+=v)ypfnjSc1WXKJM_ zua533OpPfWqY1{3Za(H7x&Jny_-3aFA9OQ0OM+)+|Cb(B^=)xsw9EY}y)m?% z`do7izxbBXcgUQCpYY<{gn{u~g{MV7nojYzve}rl1RnFY5#V^t@OM$P({5C1EY$YS zU(yyYT(ZdSz-TMaC5jj##5BV^Gxm~avu%78fHe>oUvJi`u;%IEw2liO(e{ey`&Tk0e}C<#gdn!{8po_}7LI-D*WTt2qT@3w1DG!`T2{QW+2Z8Od@7dT#G zUvfJMjYj9UWIhtJ9!6e=U4XvMgwGIU<%=%`mlOYy~lFqhPwRS*xgFjZTohi6oJlka(Ay9&nF7GB| z3MAS%g12+CR-^SzdrrZLQzuW?)k7Q#@A_SJxS>nP(KibjtR)P#%DA~zc~0q!t+@U% zKYyn2`y1$WvkT21UCi|TtB4s=Jr`%$b9Vw)&z?Is*)HjWqEdAr*_ZRwmzNU09O}bX z1r2G%OUHCp&M*YiKoS9Yr?-U_w=QF4Jli{A)Bpue7{}(xF1xn#rbogZW=yJ5Fd1Hkv&d z1;z-5cRlqyh1Foatt5n86jJTEK5XtWF|>5kcy~JX3ol3`P)NpDCiEidE$}tE*fBfQ zE<7tgI$Jeo#E#xwqTItgfrMRMZmI;7cPYl)Srrj`B`5w#vRnRw{g3+DQw(r;Lxj{a zh1p&#T173QhPI^Alvw9EOx(Su^pza_rrC2FvhA{&jOiEejD1Zo*o!j{(FoQt=GEdY n8#Cn*%cygYC3ji?9DsO!2mfpBm*4#SFa9H)3DP3004R|O*KQ3w)-no z6r}g}bbncrB6n8SQ3e2N5@`R}Un6}3k(!1&06?Gs0Dubv08U9J91#HU1p@%8Mk#QBl%? zDNN|ol>mV2Mp|mh#*b%zS-VzQtFt{_Z17yG9g_<`GM=5F)pi%oZnRTV4Gl|Ybyp!* zD+G42TmmkxUp$NA&J&2f$)uxHc$J!h=Ed^OheDse9O*xyDN>jYwyxs-;{N5KkF~3N zo|d4?*rMxVfb(ib#<8@dE7|l!16Ir$Vf(Ov*xhNl-Seky+irt?PWm|T{7HI%bg|v= zhZ(+M=X@u1xPfLL;Dr(g6LDSBUqhQF#%gFaNz5#tZzcDM8cWv4KGC&Xx5PQx&w(}} zXDN64E9&kUlzo<|s;Gd^Y#egit)@=uo4(fE|0u3;HO^>3of4vGMx{38E|sMrFqfo9 zNAbK@k_E2WJn{=qMvC;wO**8tvGu5J2_tI&$sEmTA{Ikr@~f|Xm~BOtVzj2$8$SEB zoj-1x40h_T{Po!9!er`-9r29l*NUFHU1z&BA|at-)jXhWB1!0yS-K*b0NG#FeM@#k zW?_{;1GycLAk;DfV|n4$QDxT`2?M2`yH%#~sz+h~vLc&Mdl4;h%uL4*_z&x5#0}aO z#*<vYiz^%KWOk)xRUTDlyL*M-lLjfQ6-Tw$cXo$@_sE@{{~r@CBO&1Ri3ww?GPFn`cCGu zT*=6-#+C_^6vm`pkUO8_wD0G!PmcOhEoh@YB}ZiuEkGV_rS%qtd>~vh^YT|S9oN#A z`&)5dCOZ+G35CxZKi1UrLVedLfT=!}CG1MWqo+_ZJz>Zjvp&>De5}CGPn^nYOv>(! ztf5}>#wYKTwG&hJc{iKf2IO5X%h~nmPa3gw_v0R-18x%xI1~5L95mKb=1#io878;u z5ivlGyrF*LFEm?h#wo*Q)+u$R>wH)Y{umSVo60mYhUus1Qd-7BO?H}@fC00KT;lJa zhSSSh86o2}w<(adjnv;}cU;}LKhOf~jW%upI_Aut(&k2b_*%*tc&+RznK)a$Nn(+T z&fqTt;s*{T7eQ$YnXLLUXpSb`OS-wfZSv=xtfBhdeXCqkE>~Ufd7c)PEakv>xG~_V zVN+01pD0eqbzdMQEzVGXD`bv|>pkQ**}VL3)qftTAXv%us64fnW!HYUG|p`1wcbmd zVLGf<)Vx?-(`K}=UCeNB<2;l0$hweYze^nxZ+5G;uj_^qKL=Ql zlXX-GQglGwE42wT5w(O={UN}S9YFVMmY%&uVkvD#2_jvBp1-QznRdb%D|=y^fSyQX zo}7@VbgYZ&WUaDJAe&5ZK>AeipRhe0ieqG{SoWBl+e<0{X68#X(#=J*rZ`NMgyVlv zVt$-hGvvhB@n1te!K1##h@9zkE`ijR(57|%o=PgN;!F0^J@~Ja@2^Xh_Q!cw^ozaK zoGI-XQ=~S(D;ZDGZbkI(u5;p zz8>_AMiR#E`Vj~tKhjG*eJK=61{?NGV2R@OY@#|ssdb^tiT4zcEd2d;u>q1_70;=p zbL4_=CpF(>)ZBwhvbR5yU6sYIp9SZg1UJGhY@HFB%vPJ`5n=d8BRL{Hj7Xwm`&$Jcyc zR{Pq(^)tA>II0%kJqgtFZ+%Zs>GU-G=V_z2x8ky_X&Xb+0|oSgi_8{0@B%to`61dr z?E=@Z)NA-0WbM90re`ZFrV{O&GQQ^omLV0}Kb?8x@}7w{2Sd-%ZX0-RR?v&d-GE1| zLQuardho*_d)_Q7wMr$aOMQzaX9k4=_k*tF@AcT-ZI_mo@?<=~aqiGahSzbo6A_Cx zUdhK98Y8hYtMHMJ@}Uq<)o0*tGhRk2dQT_^fQ4Y9T#B^;hIXw8Kqt(2wU&B63@kjF zZX$G$=2^1M`fUF4`>O;VQ;M}EB-*0uqoj6jG*#rYl;!CD!3qRGX)>#8{-FEhq3fjy zJ-oAfj{p+KejERU-Z9XR5ng08x>43CNKPZa8%d=mwduj#RT=e!ll{o#K^RvRp=Zy> zd_6bi^lBwx_@Bc9(2rC;E$;$N$7V5B@)go%aZn=Eq75^VCmc1T!4iwjNnHZDt;<+=c z2)3NWfua7Y@q=059;QJcG!lVNO1Fi@9xfFdyx7(%~3PkeKaV(mp-|y@Q3Ya zw)y)&rq1r!oja>(ue(w%*vQxPQi!aNOJc{-qEZ991sWogQZgG2k%`o~hq?{{7K_mKZGI=NII0kIQ+JtYeu#Nmd!9QZ&C7vv=D@Uq6bgsyMH#MVczdc7q44> zI+z`8KZt_Z%)K}#-6I8!HOA@B2}_2Tsv{B#oFdjYPQ*J9Xh}hRLs1|jO9n&H@_QY! z(6^kIP#Au=dY5w3$(xmE$8B_2!TLaf&$9}3=btYTx!=D|*jsJoO5^ly>A88U#&!!t z_8W%jqHXctnS>imG*&B@(Lz+QkhEPXs^Bfs%o($7LxuxYhbkK$?Pyh!fs)-KdiLgP zBMO=~8P<;xa!+D;bSo~HxvSn&^?k};U}%xs7R}9&W9Bhx<>TbeAqs!F;uD1pktH8h zV5C~RciFeQ;_UO}eQoQ;f3b*UUD#{y!6oXE#sr}R0y>j6) zBEi`=yE94ihnW_FfKnp^ovqZ5kqan1r<5cMY_u8P9)?6j?gnhDQlE$`Q^vf16PpTR znz7?Z#6-=IU%XRlvOH3Ly)6_(_@4+83rg&VFw5irKY}y%&w`}JIGPDFPmo;LR?XP8J^zYJC zyWCh(S>xoeeM%8*L*Mpm_P%=My2|6DL&X+c7BG|*^uf{<$EUX>?s4E3W=adVC5j^~ zX<{8FO>908;Xi@%hM7dz+5 zJ%r;P*LG^hpk@$9nmwOtPhUS&N?NZXzDS(T6(T3+x5UeL%F)$z|-CtpM_GY&7Z ziQLdr3Pfo>J>iYIMy;K$88V&^Izg?zj;1A>u;b|Lo*;l$tK`E!cU~S4`fq7KjPT@Hup ztI5;GWycP`T8PBwlA5Yp)Dt-HG8}IHTk_Ty+vkC;G8_+YO9z%mv5Kx2q#?}~U?m>M4 zH+NAo+oQPvwmgrc7>37LHy?cS*|_Y&O+)79BS}NcwhUob2$4hXq8|^nn~TcXhQDKe z?zQx)jzzYSU`F4rdHY3n_~G=<;OY2|iux3-4^SW#3cY6D+ADo7{O5*1Twaoe>7iMe5pUr7A2cjJfW?DYqyXuA1{O&pM(q-I)Sw(2p5g)6` z2SQyB5Dey*8+$b3GTp<*_@?KZ343bxU}Jq(7LyOyDJ%QbChnD(hxxMYc&1`zdfB|O zvX^sTpoDq-=b~)4%;XM~kMY-JqbcsFwpZtDWp_79S8_Niy`$qN$dCpj4DF?6HRUr} zbCRNY%>gKpmHK&pNqBJOYs0ZPc}@rU()ofr8mXa1LIn)C!Q0|%y`}|3<1{iY%OT)8 zXd}Y%-2^|s>C3+QMwfR_gy}!b+lW{&8{JdzI9xkaYaqldg7?}6bEhP`(6v3;00 zcpYXs6mv_AWinx;#IG^gH=!%>uHaZ9Lt>LG93GKrhVc1@_f>p!c)FUhk|Nl)uthfF z=36(q@+eV3$>g)>n(*{OAtMChpU{e|_>y>Jd=}MdSN%9>Ne2+h@U_wXcKmxUtk+t6 z&IcFi+hdaZ<%s^NT2rLJs^6QiU+W-xw#QDd`>K!vQo*fOOoe9FQK^R#XAkl{Ukq5f zHDpTU!uP-R-uv)`GF~Em9G_ZQ5rQqt8R{Uw8x@gNN*HL z0ia;0q!?IM3@l>|fx_;}!oW~bFc<~~Q#~~Y{vQW-Pe&K0fdAhifR~U>asd9#;N$6p z^|$v%0nk`1#s?-L;o@%Zj3S8((pB8k+qr#=Gl#^o{$-8PzU~e%n3^Zj*B#}7g~9Ym zs1E@0_OealKNzjQQD87ll#4SO3xLQ$m8`u?NDRxr;`|R|=HiG&|3xOtd8kMT+rJPU z7k3mk0D}Vj_pT%`9?pujrn>(TN5_~%0U*+Hkh>7*U0G-MlOLU09ZvO zxd6UNS~C6Dl8K=fz{$l8MJipw-2?09=`7)7@8^Q_^zf1R- zD1s=2B&dhPgB77kK+Hx>T6@TbgeFb4nb-e+@6FC+J4ttTXEyUCe`e;*1itV8|M$N) z{3CD#q?9Q-43S+V>nF>ixwuYNB>Pqf@fCuA$X_KZ$@pM}?Cn~Jr^sexd@)0o^>P*- z@_b_k%}50UI9$L-|s)Rx3{shw1j3Nm&>7}qvNRCvm{`EPm}dXD}De1|MAH2>ebb=be$Q ztu6HR^&yU!pP#Ru*hP-OdGE;b@-pIz#l^+yp{#`nu>a-@xbw*+*w1t#YJ@JJJe))M z)n_5Q+ekncqDH6!?0h!~$m`Wb2uS*g8lef0J?$vJTOi&7LMdSK0#PFz0c}a#`>-G4 zOgk(VV5tzm?tT){|j(`#(qK`ns0_5xGATK|!LP=|iCT$~v^5Bog z1Z2~Y-VE0jpV2Dr~V2UDz0ZS3K(Zt%$VYDLF-|nZYuG- zux&{Zp=HgsHEAalwydlhlCF233%>OTCg5xu)|CP@cSA%PPAUR$a>Om6%EMX&4_W%I zTBX%dx~p~j!v6@0KmrmU3>cE`M0LbC^Mu;>TV73)fm~zWfgsf;xmhPhKhgAec zplU7JlX{{`69Ks7g@=3v(jlm1sB?~luC}&0(*N$1@x!dVg z*3EsLV5y(}L)Y9o>P6rxWKaK9^Row+v%rOJb0tkGIb{@hqr1vJ^ zDI%XNg_HMQL|R5q-`K?Czurd6&0Vxo`b2?91tfM4aOV5Q7OIDVQ|QnZu(!7taYa6# zuO7P20%pAR16bgtNxLf1Xa$0>r0E0Us$MmO~4(7tGCLc_(fGOy9O$FQuiHiuQ z#pKhSDRKkcGVRKbs_$}7irYFIx|0H@GIQ|hk1-VIn%k^C&4oz86ZV)4m?Ovc^NCjg ze;dK=rYz!(BG~{5;G??|n^YQr&!mnK=AgUu#bcl1)~nPXSi}YV;mK7$uHs=rpxdxn nvKP@@@B%w)Y|8mIq8j%BbBSNTBUb6v00000NkvXXu0mjfsdaiP literal 1150 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 literal 7997 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 literal 8351 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ diff --git a/apps/docs/public/favicon/ms-icon-310x310.png b/apps/docs/public/favicon/ms-icon-310x310.png index 474d2d508f49a0a2a294a7ffaf296ff88a55863d..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 100644 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 23344 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 diff --git a/apps/docs/public/favicon/mstile-144x144.png b/apps/docs/public/favicon/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 zcmV+e75wUnP)ID_E0G;lZ4_0tk?JIh)HE^%+(a&p-2iSPSyrk9a8eA$ z0hX{p+<;+uE$p&;@0|WIk9+2EclOS`yF2&Z`AEyooH^%r&ffX*JHPXoxxy%*l$s1I z0B!)T2ReW&fN4N0Fm5#3QG*Nsy}$|J7;q4H2Y4HJPejg)bOU6h3@fFs0PX|s1v;_B zk}`Un1a<_GW@z)I3Ct5z|A4Orf2SONC11f-N|23`b~$8TFo74c(W zm55x7$`~mi+w*K96;HkK3UGgvCmOOVvirmDlZvMvSq^+JDkh4GWxfV{x?)XAsWw(( zX`m=YyD+8H-N36rNl|%9&5;A{EjHm8Dj=oQOkfuqpVo5f{u=kN}Ap*BKP|f0|HV?Ed&0O z3e5E!K75$xpMRdMTeo7GX1V54N+6TTaMxXTv3BiR=FXj436m!9aS_>~Cwc^=lxhTa z0N0gMQ$C+(!-fs4U%#I7=g*g8Dy2*&Oqjr9k3Gh!RjbHkGUb}vjn$R8F^6A3tAQVs zQ^UD)=Xm<*r`fix&>#pO47ha&Pt*sn0?*WUP2}V86xrZ{ubMD+Z9)0xDR6Gf0&z?Oz z_Sj?Ph80%>%bXJfKq+Ma5688b&*xdUZXNHu^G-PpOBn@r@7~S2b?eCI^KnfWz#3aK zt_PY0d@QcT7himlH{N(7Zt;{+X8ZQ-Y}~l991|bG-p=C)=##{Jw5GeeoAvA0m(!S( zG2pr9o};_FJ8toDSWn!z0{Y9ime#LdPj7E;+~O%?#QF2*%l(gkFMy$xYQuVNt7Hxy zJeUsGtC+1@x3Yi#{x*0b1_M|Wr{vzfdpUmmc-)Fp62kH0$Jx7gZ`|V78^HWH zC3o)J8Mo4ugt2SauDC@z3}QZ>vv1$NxRs_PjCbFCH*V1@3}U`DCS-thpK z8C#0Sr5ok}bJj%qzkD<1)Fx001q^;<4o%n#7FsbkZwDx$6hG`Q?)a!W4^3_QLBTJ8OFj#vWfA$3K=puPl@5e7g1Va&OcJ;_ct77$FPzCNBf)YT`Hzq^C{ z&9i-ik>XCrsH=}B7IpIpnTuwSyZ<_Cl1G9)m-Acc=XLYx#HTJkA~kaYxkr{j)+l%% zKy)wUr09yu*2TwD7PbEgHD$@Iy$L2a2E31j*cuW~8Vb+QJ|&#m7LXz2AG!h6VQu;L zcpqI%wst(i5}+ZSNQ|PU1!UgYfqB~;t*f%9joAuP=`cQ$ zn%a@5?(9I_KHn9FvN!e=dN8r~`Y2Dg<~5>lR_8_1fqWFTBcN;BQL7ev=5utBc*SH3 z%sx`~k#{CYp_EuF@^!K|Iu5lVpsCHMFWihYX5HC8<(mc!6_a%VOFYWAC&-c(#XMCC zPzwSYpGAG~7MR*>o%=^sHjZe3;@y{h%`{C63`|id!*3}?r@93s!0N@YaJu6!if1hv z^Vt8`!L?F~OeTYAnq-tp=Yk@rZUKF)1Md7IZAc!09U%LHor1Sg3T4|e41-K2<4#1T zgj2l&x_TOX?#9yQYV-g*Yy+8yHLoFpAwnjTVPIS)T~r-{>J(60Gd%gHh<$T)S-63( z_d)=Fkn9B1&Rmh>fzk!Bp{YIrHDr)4-U2fw0AaUR!hU&kYV$%OP6uYMhuPjo3 zhVz4P>T}m{_WW5y3=BgMG3?1|aXnV(D!!s{eYk&{xAiC#M!!kpdp)%Nw3~+CUl^{n zQKPy9^cPoQ-18wV!THp+{wm~-Nys(5%W~Ji#1fGs9xb*8QT8mh8B&QokL0LH**Waz z?DZx7qJnbw(yGE{HUV?I!No<>=)1O!DH{*a@~dRM6|Q>5s8_WipYODSW@lm4S@qP9 zZJg;rR|tA`*L#R29<&=RZZ~B~z`m*OkFwGofwFUXWB4bH)2xv+Z@^`l(O$`hcdx-Yq7nLIx94~|BZJe%4^FjrW;XJjf+#gp+poz#Q z3P&(S#blT9h-zq5MmYVc4%E2h+_vPjq!?KP`NA#8%!$@{z{}{K#&I>GUDr2^`NZXR zZlVdQP>B(xAiFwxFMD^u`9p>`y=C|f{*5?mbLO;$PErY$Vbe3R?OtaOFa$8heY;JFp3n=K7R+BEtk*8^SEhOuTTVm}?KcS>4< zS0t|25pRB7Jb_?a7m@gEd2zikG&?Uq@Od0PZ_#Uo1YJD37xTzP^JZZV%^u0y-o=+kX+A{kV?9<9=iC-i*xH@u zVf-!dd*Jbh&W5ybY)GC5${HAJZ$>U}4LSw<0`ZC@%uD%WAw5EJ;vHY-<{2@$OCD&6 znitYTUETY5;~T$s86v3GyqCYM0vi7B0^<*+0xF7pdNI-&eD`@kAc5XYOULI)v}6BB zE6m^Mk2foyc!EOk{w~~qt;=#nrM&v^r|V`l8%|Iyd6Oxx96}PbLo!hUk{d6_SbmL1 z7{xq}H^t|PJZcH?OpZs=#8$|tbc==hJz7!TdkfmYNuPc8$3+Dbx|a)0*As0gIO+9n z8s9tP&oQPXM?hHvW95etLwv%}AG@J=cQqWue;A0EeD);#ruy)7WdT9i=UP5pSRRk1 zc`d(3YI*wuT7Ulgh?a~#i4l;@o`lSu0{DD@=2C(liGZ*QCq5zif@#-^t0yrp>* zyocUI{K5%}&R5D?R>F_n*v0;BhaVBBK$oRQ%POFbposLVPO{__Q#T%<;rPYK7K{~% z5s*638@Txrb{5b{n48jqYG0b$9Vsn6pb#fb_drEDIbZMO>AnJ)Lrz1)<(y60ew5}t zvA+mqR7j41x=z7a>q|d^o+WfFhDS{ja!q;j>0>49;vfAWub8&Ei-zOX^IdGoTTDIMPwttYVcd8*#_d-jbElxj zWy42T67&%64nm(Wls24q=b1E5<-TA+3fCoS2o|n7t3KrjRpEFtp>U3t;xPHYkI}OG z)DRUWkK_pmKq<_f$1ryuvmPzZ6pLF%p()?I*_VK>%J5?+N#X4l-8|lSNE9^hJI$1B z$A&X!kSLNVAf3DkV>pKvyk5N>?x~?#YP2;z8o`txSve#V3{o)8&Uz4MAS5Qv|yZRAf*5krvK=7jC()1 zGtE(?0*WGM2DRXeYl==P>LWB2%rp7tzh}a)Pgba*V?!#SDDq~o3&VTv_evib_;vn&@wfSf`*+=_JT}UoDI}78I3Mc|K=ntax zHMSxVv}gG4ooF=r^UQp)t7?O0KdFF*Ls*v-kvoRIZe|(tnM|&&SxUnS_P!t{y z1jQC(!(`?6LX+P*&cwH?J81Tk3MdNS&I^4mC~Bcq_d?AF&NB7Cj*dtZ$C6Y)5vU;o z-NM?Ir-V0yK(^-+GdFZ4>T#S(kqRh^e36^(*~l0^oJWCiDbHmaYA0y+lL{yb|AMHN zUic-xF0HUlto@a48oO&JX!er|D2l3~PfFe)>g}o#JEqLOff~c}*2DohFp_-U!jv^IMB!!LjVL`HI z`>O(Dz~r(GU1ZM=j8+53lvF?wNM5-@DZbtgAc#^-|H)CB4%cqb>?ip<62}@7`=w6~ z5^`wCYtpYyGWnM$My+W{AoV~Ih*=n)7awscnhy8U{_2sM51Rd?0*XL?BSt_Qc0%^- zAeU|YT}{q3N0ADsOeCk6^->oNr!S3lQ^tf;KoLkz6QF6WD10`+@i4Sop*zKEcF^6XO(3NdT>_tt?-@JZ|y#fkTFf^aF3k zvC!7m#_H9p<2E2=j9Im66>V*8af`nxA{U(~_|>>pRZLPPza2UxmV2 z*y}*7FJ+iGaU$RN#y4naNX|D2rwmO)Ljzy``q#?|Kh9uj#uAW-oCCJRwYFr*5}tVC ziMm=Jt5!sW#~**3rAwEVW9C0>&3IPh{}qV+EXqRZzxA@WBVu3C09s7zQg>uH>nwo+6XUlw;~=SXu#mn>CeE zw*%WLW1o;xikDt`iEn-DTU@$SpZkQ9#`y8$`N~(m!UGRHP;QuE0)H+duA}h_$N+u> z#GV{**t>Tx&p!JsyLazK)%mWyu|h;xv}h4eKm9Zd7A&ZQ$t}RgMZ}$W4nD1`)HT2k zpt;=I1_lOr?X}nV&Ue1Ukt0XSHJ4HXvuDp{&6+hVTeggGv5~1$r!r^G92PEI z$o%>9M`~&5E#MA&)xty3h)O9nANVCOZ6sQhQZ<|emWs%su!}`UTXuoZVC|VssZaWW z&lD36L=4wOA1Er9Q|3Ulx%UqB0I^R>__p zS_}L$>BES%jtP7Tcut@1DMm@tl1i!10?z{zVl^!#>GT4Ri^#tZw?N7B+DfTE16~BK zD79=#qB#aUC?X|oE-bk_vMX2uyh0jW*8(Qi62+2I#RDvd@G0OSpuS!TSX-O` z9tQr(zNaNq_6{(mR6FqZz~@P0qiUfacmena5h=?7RBQ{OQfe;nB(NHoTq(OL73B=D z0r(dY*`H^5e`&F_bXGp7@WQQHNtlxha91QuWkYc|$GZ7Zp$;*tZ-VJ&zb#d=6| hKX61uE{;Y6{vVB3;})L30m=XX002ovPDHLkV1nV>Emr^l literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/mstile-150x150.png b/apps/docs/public/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..4de1d9b1cc18a062ecbeb63f90db71c06909dbc4 GIT binary patch literal 13573 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/mstile-310x150.png b/apps/docs/public/favicon/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b1121df62aa0a102760d52ae785b4a3c5ac9753c GIT binary patch literal 32880 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 ^=^^N>C7rucW4yqDElmEM!rhoHc8 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/mstile-310x310.png b/apps/docs/public/favicon/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 0 HcmV?d00001 diff --git a/apps/docs/public/favicon/mstile-70x70.png b/apps/docs/public/favicon/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 literal 22282 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 z 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 - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/apps/docs/public/img/supabase-logo-wordmark--light.png b/apps/docs/public/img/supabase-logo-wordmark--light.png index a01f8c96dd8d3119460dbb06284d234bfea35bb3..2b369e1372ef9c1e91fc7a1761e936b1629359c9 100644 GIT binary patch literal 29761 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%0A!53yy&~P@e7s7U_kS2yUl= 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 literal 22033 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 - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/apps/docs/public/supabase-dark.svg b/apps/docs/public/supabase-dark.svg index 020bdceabf4..9e96fab4ddc 100644 --- a/apps/docs/public/supabase-dark.svg +++ b/apps/docs/public/supabase-dark.svg @@ -1,27 +1,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/apps/docs/public/supabase-light.svg b/apps/docs/public/supabase-light.svg index 7640c30020c..60cbc71dc7c 100644 --- a/apps/docs/public/supabase-light.svg +++ b/apps/docs/public/supabase-light.svg @@ -1,27 +1,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/apps/www/public/favicon/android-chrome-192x192.png b/apps/www/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ac2bb1cdbac69133d86643ee129f5ff2596348 GIT binary patch literal 8275 zcmV-ZAgtesP)cGc!6c$K%Lx20VIZ zj=<6JIOYrxCoGatG3Y@N&ZxMA9TXuO2@wcMNGBmlFX{Jc>bvV#b?@u-zP|6h{(edI zy{~TF<#m5w)%R6>Rac>k&{|J1n^`8EX3}hv-f7ZtCQUPGs!1&-HAARodQ3WK(teY6 zn)I4U8%=sS*lsatk5Wpb3Q))iBkXkVNhY0a(nTiy6@1}uGieNjdgKUv#rTs+zclG# zlm1|op#wQF;tF5{ztL>YHR*DbE;Q*_3u23tm)ui8;^lg(i7-i_i2r^=VX9Rz` z*<5YX3izgtAh?i;^c|Dd8AaHJ5uoA1));V*uuXWCHN*XVAu*^ z1fT5tZ<%x@1YzX3!=#&yBD{rRFf0Wy!hej}+-=hPAbt75$n&U4D~HolG-RPQ!av7s z9)TaKAP9M}$)qJl2{vK~6fgvg@SklqKZ6LrkUtbN_N$-+X3z{;0fHM*-|PtxgzA6> zSbr2$%!6W3CQxAZ{0cInD^w@jO}bz(=For@zzF||@Xemt5QOSwhe>A{C3t-xg$HB; z8R0()er$#azfkRvUwU`YJ>M?_^#T3`epja;)B+@{-x^54eoY{wN!OT7CZldcp;Rhi z@7}%W=;%OaXD7P4x*$|9O-)T`ZEZzcTbq{}8yk@$R~S=hOz!^!ASEdC-xbm>w|n>Gz21P#`HxLg!zUkb1SzT-Qj!Los}W5*7xUcDL*KKP)RH=~4> zmKI!e(M4Fkd^u*$oQVokG-;JlfK;C#RRMy@EYxfqiwbezzyaKK*IihLTI)>Q}#t`|i6Bg3uqN1UKGzV0BkjfOu6&UJ4N_~K|`kUJ@?#$3UFm0>mIxX zSY*;1WXOvzzKGjzzg=v8VbGAw+;-b-c<#C9kTJ9>;kn@lt^ijfLk=H4jGJz{$qQc) zgrPt^h16Y6V@4Tsd9XOMuK?x)+5P7rLuhoD;&=pMIK2Gw%ie%##?Ye7v@&_r0-S16 zW@FM@w{FGVci#;`$O4KMppcmip$G?W)Gbti4_3C|HsrhBJg-$l|pC6!c7~ z%%WFvkpj^A{gaRZG+E`b#~yZAlahX zf*C<^7N?N{oP>;c;)y4u-(RR0G&uIuQ%@m7=8ytpw$#Zp&pZP`s3cU$X2^-80GZ7C zBKu#=AEDCF;A)1UHOG+xWU}G|En7m%mk2^7p)r9B^8~2a`2>gi1r5EE#r%woqJjGcrIHt?Gl;CiKpmW;&Y{3a=hO;kCCR42@#3 zn5CuBoa?%Ebx%Rz$OmSk=Wpjgw>DGMtrvvS@Z=j9`@I*SI>cnmn~E-aHQG6{WDdG7 zJH@mB)W{m)SM<~Lm@PaSombB{^^d$sHg7}$Dn#j|qtNrwxljcbWUJ$l+u~ev{5*NX zRNjaJQ~*6=Ji0$)YWT*2SL16h*B5;q{xr=&Y1R}7`63FCF?xJ6y03aSO4C|ts+}kH ze4>S7KT9o{gkTB7KolTjj$ASirFp^1$M&jAUahZrmXcR1=Zz>phV(9(jou6R%u?n3 z*WMlpyYC2#*jEpt02xs{y&b(5&rMltk_)_Zbd2-@<&7vn2I%RnII{8#=+LHDDk1cd z>7&`cGzGaM3NT!n3h24^Oz5etkxd`UwF-ZT*;BQM0t^Qu@JB8^1)6tfhK{YZVLt<9 z@CL=2`*97gt$zOqWt%>lJ~YU$KX2qOFhoixO~sKAfdHe<*f(y|G>1+d~S$dx6-l1}wkW%WDuvAa6tg28cdxB8s1!A3MDq z$Nb>~Vc`*X>ml8sxg&ppfzUP%#T(9v1Xcy+kGCJDlx`hm4+gjgg(^T4pg&rhQM}63 z{O_3P2)Ryn^>d}*-J;PR>`~!@{QC1o{sR4=KRg?HQLuIx^ITQ%kK6s4<%fe|kxLMS zfkwyZhnPUQBY%ND(C3|q(xs;c0v-r3Gk>hwJ?ajH748rmjLJtp#RRGfL;=d6=S)TE z6YsY2ToXs7nLt)7kYb9Vk}@y9{oIj1K^jw9pg(2o{>fvbEM@g&vN2!Y^$FhVL&~6| zlOxrMl*E`qvMNpP$X~$440h?yECk*;#mH|Qw4=4Q9as`z7UUl(f#(PW-hde-(6q1p z0J$JyLad)ELRtU^{n2^Q^N;pFI5oT5)fraiD((!89Np+7uvS9Z_P=)SA&fkt0GtKK zK>yvT=|UOW|7o_oa+HBN%kjvtuONzTy(7)?C&&{qfkIAfgTC%8sOE-f2}8m+W{_CT zfycJ7)qd<2AUsLM*NCsDovtDw4@3co31gtIHNsC@AjPQ-wxLg;wKK1mb#H1mC5DQo z1k6#LUvivjAs?juZ8A0frxrrJb26{Y`-S)aTX`zB`6(4(e|D3W^+9uGbhiK`yceGY zoO`_g5q_^t!sJ00STf*Con zkq^N7J-xh8HR50g1m#GqBT| zh{gHvvI^txFG^04S$sCdQ1mwl&RDf|!z(1TDJH0_RcYx!3*C1lG zzZK(?R2=3SgHN6Gd;^mj3JoX~l*|sxk%czS zXRua)w+yga34eH?U}}G}FX7O+Gx`+Z{WF2{-{tRz@d*Jc>ISkpKchX(V|uJ|wqAr` z(s4cyh*RE6GooO+Cg}yrlToDrYQeFeL4e5fLV(z8M%*0PoP~Jaq~RJtd5Leh(%- z{3;rE9!9M*I*icPW)wcN2x>|zSVhWeQog6+>NW^q<8oz9a12@kzx60UMgM}bkq~qH z->%KQ7AG{lyjThCE0Z@~5J!>*pMs(+Kd7O@t06dtmaB;KVfpb%r#sH^@9jN&^c+#x ztJ##A3OKZ&9lNf3H+oK-h+3!q6@Y}0=JcL2J(2HZ!~!3D3^%smBPyq0pAzW~-~_#~ zAUNb*}*G1GAvsOHOal%qwM^Dk^DTCtC=_($33pAy=%{kMhB`?6yE$n+L=KtYRS# zTLU=z?3`#XIHtMg0Je~G1=7k=rgF-VfGI|4Tmw2TnN`!PT-Ub(%$*8#<$NS05WHrO zYejz4Y9ACgYvQw`-S8ZCAN!VU#Fr^ue2>_K;kCVHhocfuk&B{b>Fm37UVAQ!A=x0(uN*XGt~*3}%f z;@8$-en7D05|22On?c-NP~avGQjD6|hEG=(cCYZ_+BUzGw(sq>T=ePfbB;!>QlAPi z#te2{b2e~Pi}#TWerTrnA6Od@?z83~mT6@*6_$W2WeYa*0b;WVvF)z{w>i9R^nA8> z@t@GnHrS8F9$*dw&$ZDiVRogXt$V2O_rgpoPVcd;&^7wLv-(p2>Q6Ujk2*DWdRb)~ zWUw3+D1^2ucw5M$Xin}QsHkjYOz_r%ogQyB%T|%TMUND!LQu{7@}`+l16ZaJyMcDU zpDxoPAU2`md!@lVjNsW-R1w(MC^a{rIH5M*d0cl2pw6F#!UePA&u~l+en49$Jloji z>}im`dgz4h&lArN_M@NSMeXZ_=ya3bw&$6d!n-LG=829kU|CmO>l7k?B08*7&I$9i zwzS?WZz`Qyeb+%6{aNHUIqH5>$5)wMhMp z1e?Jw^0akz_YU#XQthmw z#{^flur^NGQcgZoBUNU6SjSt9_}3C%itpP`YJ_NCHwp)OP>a+@3t(#e!auzSDsXxu z;rI5#ES0F4!JS@5ZtQZf99i2?vhxUc1ePmJSUV?L1b)j%Xtk3U-5@@y!&bzS;Yg6v zS{JSR>-CRYp72+rSU%S^+HZM!H&m(bD^@GD-vXFHn8M|MVVvG}tJdN*RM|g`ZQ(#U ze{Q#ik4{mrY;{{{6dNlD$}-il&e7;o5VdBlMN%{UGIVtvKdW|2Xv*WYndh(Q<{XQg?S$w>(qh-&+CE@i(5|Ty zJ*oWK+9{K~3@hL?K|rFGjkg-^SBOv2(Q+=@@)^pY*)>&i01VExEk7i*E6sM&BRjlE z(ORXZ6+j(78HMZ4_PaiLzFmrK1G`-%M{(nA>_4RU?>pD#ErE&^LU9``vbMByKcC3p z;8Lj5N(QAhSkH~UL`yK`-Z80k>R^^)_u)6QtgZOMu|lap_XPNHMWI~R;=e+A|A7;#%9SrPLZTBR#&Af1{&HE$XK zB=kk|BN|qgYZtl2;fxQ!w*BqL*JydM!_@wNMy*q`3ZN*?XU^1=nm-igq*x_Q61#@C zl!hHw$;%;QR~#K0u;_Z!83i5I4Ysi%m~}ONfmA;wmK!B*Z%JH;(9v}e{NbN zq!Q^52wphc*UqyB$`yquuwI&2vtS7_FTfPZ^(Xjfxn_-zGJXEj?taO0e(QnSHGyVN zh5hG?ZG5L#LDUPis{oV7!R}ntw)q^vy#ki2kuo;WKT6wb z0Q#TNQtCvGR00$E0iMyd%C9)mO9kf_o5g%ZyJ*fYso$Js7S3Nqn$Z`Qoi z>r%T4aHQ9%?UOx0c0KIp`n7u6T0C|uk{mR%4yV9Fr`=QS`CqJ_MoQglwNYG&lC1;S zRrxiMjOXFbLCUkc3TTxyJ7YKR$CMwvQnLeI<)~c+c;jtv6Zn!*Yu{&uuF`r%_!-)Y zeC9{fMv?6?0Bz}-F8>IufU-^v@6SyztCCmtcZ?lkrZP-Pv{f#Cf`r;xgAJNj1zst# z_ov=#oZhb5jQ8n_npFV($6fYk!0Dz8x3T29Ed>9hly!l~yy8pc@|rsmPR;J4?6VUn zTQMR*V;aZD0^IIXr9+`C-+m!Hy_{{QlWl@^5zWIj%=hdm;;4H!c|AY%NX;rh>G!V! zhkESTFS~AxVJ3|$_+V$KwALUnnJjm>uqMASbd)VdOJYQ7pfiBB= zW%uFV)Pa$!QaKa&!eNt=&C7oOU zI9GJ-)a)s$cez#q ztUl&WZt%nE<9BTj*ezG&BQR5jtE5hGp!qX!CAGZ@{#^dk7CL(|<$t%LX;&vk1NAW@ ztn&zpYoA5&;f*NFKNf{~)1lhOLpKzl9B}~~14yq80Xt0DClVYL+u>=(fl_^X9EsKf z<4f)nhLti@WX37xD6@0DM-06NH;7N!<`erm+A75lDNOvoH_-aRUW^v%YjNDS4x{w* zOziLGoZ(H&|lOQc${KE&FABc+-7Wd#nw^iW9X;^rLo%%Vv6bV9BqgKB|k^7N=89Jdr zv%)EEfc;S?k2mf&BfaakpyBN!7;T6G6xLvzC9$xYIhG+_8O6e!=qr#H4-ybN1# z?MNRh6KQQmT=_Hap}UCo|Jm$0zk-b@K;AGX7y#@A$b&q~%jM-$nvc+*2o6z=KmAAB zF?NSIy=jO7Q~_QCpx9V|2k-Xec|i%~I>C1NaQ?vL-|xnRCw4gf3OXW2S#6b^I#DL$Q#oO6#29%nh+U18i`4d zktM|C-+Y+3O?&<>=ALI|md0_06^F&@(`GZ;qbcx@EF1dn&q{z&gJ z-`i5NFRacBQGlG$L1;pHFHrfh;b8;(jHRgpVKot;%FQf-HaK+Hp zG4CAXLrgVhk2t+ULlhuqyncG!SFEQG7k$p84SP(Ik=~&q3Xn6Z*Pabi&IgEdcFh(P>hP^CBZ(+L&ZuG__SQTW?h>mw z@*&iKUf`HDo6&GkoZjIgu|PRfC~7;%lSiydraYGe#63XH<_b&~Xn>@_hgWQ>OjFSJCuVeZHzRPecK7X599JC{X-P(BrA2 z;JCOebn2sTVEms(?*g`!L=+%r#=O~u$xr&>%Wj}2G2yumw2{**V_g+NdV#8dsgJzj z&End#_-Hf274-g_5#ou@?m_!Qf0mKn3L*+n1vGT^8YOrgZIACl=kYBjqkyrmANCwy zp|X$y&~LdJ!({B(v1n{;L~pMwzBE)QykY#y2OyNEp`igyO-;y%9`XS)c{ff=OG}my zCJ3pJjJ3A5A|nox0_;Hsw6(Q)t$-j@5|S~JwT#$L3Xn-KIXzT{4<-nyWGrVpNdYo> zGjgF&z^qxbAPALY&YU@(ubC0AkpgT(Mx1%(nGl3ZGJpPjWXL8`fQ`tA1q&89Y3A|kS%03Ymp%nCr-r8H{a|vUxF|csNetATW|Fo;EefpxWh-S9yjR~WXS2K zpN{LVzupUB6@bUC5Y^fBfUPsC(*)~{cW zLx&DQsDCI}^5Tmx_N;;9jynz&hSr|^lo9^_PCM9_0#MxPPfa=>Bf#$6yYavS58$!K z9>d0s8^uScGsv`|c>a%kKvmk+eOAXEW&7~x;lU!j320F4PeXwv&32-Odn?Uxz_c&opH1Fq4H z5*%YTzcZ=gZo421gH7=5{%r#(JYWOOT<~@HJwn?d2-OLV_AVKy@DqdbP|SrXl=L!_ zUWFi37bKG(3}ke`49Tetx<_eFWu{T1f-pqLD!I%E|8Fr!hTN-Tlz>*iqCo};>JjpU z*0w!=ur+_kkUMFE8(sk4;}(RGhNkiU!lbi?D*VK-MkxYk<5H9EfFO)4G&p;4&^a?? zG8@=3CegKK^F>rJf>aRT&+59~2>u#mK&B(RMhQ+cn_En}5b_FEAzO+jJ!aD9jqpE< zjL1B+A&4TSu!*mjbSwm6_)t(A$lWM+X(lSVQsW3F?1&%a3@wT+d zELl+T;5MTOCz{Q5CS8RQ467Duns9N3e-EbUR*Vsg?hF)x*0=t&N%9sAAq`rXjUtc# zGgzUd;*5BBbKoN^GU;lQ&M|3b9?v0E1=N>M^L1%mT3VX(@vLq9{>WAEj53f(bgD@o zGU=~Pnr9NNt1fTcu21MyT-1$8W(~cQfN$V55` zewYRIB+=LcDF&^y+YF(ap(%Uhypq#O@1Ukog>CTHDj8|ZLMtl-Meic0suI79iAF{89#m`W$o(B zZ*@I~-_O|%OAP=#l=E}5vUarfg1oS`b8wMi+ipa#K^$yk*o;IU3qE#JvbA?m5Ad*k z5}^ImI>6Cd(uPe=7V^+f3d_LR*2@aw=j`O-Ddi`_cEeW+`}ulUfDLjp#miBK?VnJ_ zk98qRt{%1!Nq#{-Ye7Llh`1!bkhqYwu=q=>7rYQ*L1AG5K?wmNF+O2oDG^br2SSkl z{IFpc^ssp;rLU~|pXIRMWZ3MzyxgP&1blsc`F%zBT|Mjsgd`;;1q6i!goXLAGx$9H zUA(OP_*^{M|I0zy*3;U_DYpwn}@$uvT_f%)+|C#OSrEmLx*?z4VU6|OOZMxf+@zE| zY^}UpJ)XL{I{nv>y7sPKuAcU;ZV=%I{DP3XkFBg7T&_p%-H<$fET!S%>1E|&ZL6Uy z!-i$T@8Dn~B_S@Rq%5qetStIKNJvOUSwTfXSXoe6MOjfNmB~?D(zB!G!bZ zVF^D{64$%9h&bv2eupmH>=`(>O#jul8tX!ZCeB^>$G2upc3!Gfn`F+@WT&Y<-?%ap zZK9-vzwQ43VJ7YlzAA(gbnAu@)e>=%a+(*lDdrSO*~v_zo}rFgJY@$Ok0cE;dgdJa zOq`Bn17{I6N5?bEB86(%du1RUzFc-1&Z*J&~x-QOD5ty>T>jA8#@r3*HPNP;4D$^6R;{3}K?=1Qb#q_bWiZ?BHV8?MkJ% zI2#&INAri~falwdPAfhlvVXJQ0xQ(BovdVln{2fS9`Nge++M)1>IMv2;4N4YM!V9{ zHuI0AZfgR{MYkf56*&R~aJNe-oF~FNBAtnoJR!0$%xEAKW6nf`mFP*dL-IWLBQqc;AT_k04dgWW2erv-?vt_L;lsauqR=hyy_?uWk5&4yq-l#~QJ-+1Rt znDO}*^4p(6f5gq8&@L!Mmk^oK`dzZR!6=*OTISo9lq4VhfZQJ${f4Pv`&?gd=+E2` znQk8Q8q0vYC)e&Pq~?}=ojC%YFSuC}o&+n2OqKu{!x0~DM3A-o1A4Rwqq61l8kPe5 z6RTw*BU3)`EcxAkcxZyic!9b%W_brTQ_297A^oQ{&+p$X5DBAdC9I!gg6$XIm;+}6 zJYzTRFFhZ?1<=}&s~Erv0e7>k-xAshhy{G!P>Tz>R{hiBRbBR* zMPJIM<$7j9F&wCKHYIHT^Y?3uLClD#=-k+F=MdzCFj~xw2&eU^^46Egnt4Ez!c9<7@H3z{ z>34wTKA;^OuHkF*K{D!3{6*COPw?1dq1T-KUep%{!AjBqO{kGG#GjLiF4>nXXM>R& z&D+7-%jY=c4=u^%E_RmDt6vF!U#n_FIS?>b{p)z(Uvx%8 z8}?2%B?%=&36T#PPr3q7vX_=}xM#;rXqlsO-{unBU~D)gf8=-+jXXGvF=|rOXifPc zCw+F-`a1#e=spxtaJ(LEMRec_J)ahDy~^AUDkO`-x|m*zZHL-om-=Wg6=8*v3MJ@`^I6&Ql#-cdtB$9M-micPrqN?uis{l@ zMfswFiO#SX#rWC1b>!Abt?PO1<4E~>Ub7)RWXdDJ=VHud05q=Rs1SyU^KDYvyq1^l z2}qC=R1tDm;w{J@%OgfqpF{{V#&m(NvM(pIXM?^>Vbf`1mij{yY}Ij6jDo0q!VsCF z31~kvn!iB^H|HI8BerGpXs~7R8RtnJ@*1cNC_}fewzkJwEzNF)=I|r}npRiVrw>D% zgl?VBopg%7vcM{{K*R-lLJ5fjEcB^aRD91Og!x?AJpy7Pp(l|lTU1zl)cjzGZ-F@* zcjO)1b+`qRn+40aBiJ96U1gtr$<}YY=0R_{hG)-P*;>)3ffUsNnEM_a{w_WDa2zzi%0MpjsRqgY5x{73C|7fVI1WVk=FMJX zUj`%NiTZq=C(XS3DY!Jt@(}9Q3jMkiJiBgQIDc&sMdEKbvT8a~596mJ(a~N2vhuU+ zjI)r7E~wc)7G1-iz*x?!SgOaHmPI3vzOwkz%A%gZ#mz3LIZG< zjb;P`P~(IqTyY&jHq^nduEmp3v0azvs(z|4bl$3qGb*nB1)3~AX~Z`sn7rNHJMe*704L2uB} zjP#8m34H-uH8K{L>2HH?keUoX*=)ya3+0(nt>v{NkOF9O$&T;0S>-X3!&>0S53jB4 z7s#wdZs-)PY-pAAzmvu=%PhK#A5<4EpG>=ux@e z4QNKbxrg`2Tp;kRXO}n7Q0JSs+ee|zuvc5xzHM56zCCrUhpgLfupB3_{6)_^)x|D^ zdsT7qt74?k{8~H90X3j>7obF`26>?T%C zkQF`dhI^3T=t^p%Dj=}?D*GAc=wh&jpiQv0Y(j(mJ(*Py_halgTWRr@Pfo6LS$BX6ynSSJH9zxk_AT;UnAdw{s%ZF%Li!g z{RKRKF*L4aaI?Z1XoLFmM95Y>wxFCJ#r${BX=iPb64soKDLK0?o+G$LDk0hc^W3%T z;;lsN2-;+;NNVJ||Xp z0v&L&)Vwt6v_Ck|2sb9BPERG5>%f*3Qy5LaHJgri znSQJ0T!7yjP@Pyt>`3@J?B3^%NihH?0Db(|pn22T^>?8GR-yXbiE3xq{s+JYDR77U zYM%T+gZf&RyGL&c)CrNE#|zXl7dt=B?@rw;X16ivcgpzz@K9~^rZzDu)8u#q`nP*{ z^bfDY!;Ehut?A;lSrd?d`QPtt8(ct%La;n`H43r{oJtyc02NSo4}mpI+i2Tu>!TIgKKs$N{fb}2tHTD;C}GnF@2}alDR=`Ou>)@AHj%+LNeOkYYAAVm=kHD8{)*0H*{fNQky#;zXwBq060yW9LIqo@{Br zR=N!mJq#tf@RYM`iF8)onV^xIWteJya#ewI1=80cg&yj!pt|2+8P?s2ar!vRhwQ0AU-2xi4d#t7epf{bw(>k_KhUlgGS zh_fKmXD8{p*|pxMsQPo7FMs2mL$z<4$)OFI>=kseAr_tt*H}R(M(iS@*R`obs4g53 z$M0w-nn3m7^VRd120%K;;yrQa5uAT&wGkroP$-NyyZ1Heab3(JOX$Q zHlM=Rqexe`P0hg(=kIsra963f_63?lN1Dlv$&EwIJ8_?L0HlD`cM~B0SZjY!hsIy+ zq&gA!Z_&1Y8ny@-_XE&2*@Yl8BzRLoU^K|uKRTv3*8x3pmW_Bw&4vYkF!c)LE@j+2e%>O7KQ4wNJJemdft-IL7lMC*G zHWQvOJjtOBKezO^^wj1U0b;Wc3tVPurEVYES??3R-uXm$fmSR<(9P-n3%kVasar2(tT+cUkW-ttAK z-C3_2J${#d~t_1}(rOFXssAdo0e?M*2 z*}o5oJZ<@-7K_sr3kvrG{Bvgs&BeBab@o{+X7FQ1w)a97WmIa;TvV{-spmoCC@PrHW7zmD7yCTVk~}e>|4D$ON%H4$VvzInv2HWps*p`x4$F77 zd3nlq4*Bhfn(sdk&k~wf7sHt`sS!i{0iqb zP)P~^huDL$y8vPu#94KGi>zJHf^c$V?S_`U_5mt z58<7~xk*;I+h4)HOP2GoR9$4*LhU$uy5}6Km847TUEkzRc=l3$@y-LDd36Td=CgQ_ zR{)|mRwX-tLOoF{W(ayv;MADRcQrhdjX31VFKa0XbzL-(M;byZ=yLBRoM(VDnoV5a zLyB;)$(7P(jhUr+HsfFGJ@-ZqWwz;RdeGl4+e>Lb&caV@f3KJNs&*xt#UVxbwZ9XR z2+qX}yT)tqf~M8fp#>HM_*aD_QUy^ZL6tZlc(xG>B7%1!Kg{1Xr|u%P@xv@QEUcv# zYv}7*YXqP{Ec^THu3HFh&jgZRrROxsp3N5H27TQ6JtbR1S{e%!G|2(5l>KxCx2bEW zBE8dlE3sC*NmU(&Cq0-pM~lJYlNH0D=iAV$xw^|IHLmYhf-h4i{lx$Zo$O9nMyfx7x=LisH4S1d(ms-@FIKi@(NXDDgtY;gS;>diUei{*pk)p7Tt zi&W886(U-3;Jg2%qb#Y}NrlDB_3k-e++rDuCM!LJ!TjSHZqrjx9>QSDg=4WXbJZ>o zRZevKow4#FvBz-YCBc6n>n}dGtwoLr)QhB@@ZurJ%KUriW%u#q-54Vs<>v-5o9~l| z9eJRaV{ba#zRkd%HUenTG|yp2BVt$oCH-2(dKourDHPv<@dSySD3rQ`-u2Xxq1&|NQ z5(U0eluy4@XLcIj$ODA=Ba-tVvQ0R26q~RVQf%)c0#T@UDvbwWR99VzzVK}gybZ+v z%>voy8(+OAKf;MIX&F!5uD;j~7&}q3MHv5tZEd1`(rr5unDh1t*tn_S|H6J33*|JJ z^wea1mfb^k`xev^OeXyT#N)c}ENZmQbJZLgPyP!ua4e}oJn%7W8vLR;>ii_gg7?f? zgUEOv+Y?{c(*n0;uEw2sbAt`f^A{{1Fa5O0q`p+3U>aAlGe6ayv7(8!wDh_-`RN2HfF#;^a=n%&KD@Mj}%s2u$RuMopazqv(X1FMGuadxU&Qt7<6}>!3 z!>+az=tQEAY$7v>G~-ZYk>ycnDK{vc{|B8O?4Q$dsa9PtNd@vX&n3RC%{WL{vOj@D z@+&kF^|CWd>>8Hl zUF~5CYy)%BK>nt>x*Pv;(gy2z%!|E(e#PY>MyvbBi~uqNN#oo4&eRK^m02X`-ryhbUHa<^MF9p1 z)?8W({|Y7e4xf+x9Guu25|adt{;I9fmdjdsI=jI+kE3PbB<7VCTDIgi$FZ|#meGP+ zf9F4;dhY~!Nxb=IJV=}WQ@5(G-hPkBf!PB3{O76sgCWQR+-JPu`;YUI@a-bx998AU z)Ck^7Q;sDOxPov35V$wlaz~)v^T}oMD1ZNn8W3?jQr9YhHzd0Y{wyl*cD5kz{C!=J z_#Es@oe>+{wFbv~si;MkSQGiL5aY*29~`4vzP{P%-D}XwDa;38V1^}Jed{};io>xOp0Vz0YWq$8);=U(We%sfO zw(PKmJ-lPA47K-4h=~3d%=k1H+yw~4evqR|VAgnHZOHU^9rHUYf%q_)%{A$&-DmPX z+hffq5|cJ}bMK$ed!yeg_F}AZvL(RI25$RaV_x6?)zwP3tBf+lg36D>dOf$^Ryxjr zR72VFCGVC@aX4fT*Q3iyZ=EN8@_vZZZZ)?&>M@K6H39g!Ap1j+32@UV;zxDQ9dARc z4tF1tFW{tJ0z;P?Ml`!FgURX*DPsUhR>WgHWixv=K+5QM91?RrEpK1quiRUb85$z{ zPwPW=iw1Lr5^h}QHJDzG;oD0Fm37<6+X`}7Y$Vq_9E8n}k;-fkU@PlR`+)#=5A=1hQheg}VHedmv79 z#O@;-2cGhF+Q>qGVXwS!*`Eb<(0_1~}1!1&-{?w2wB3FhMocIFcd_+yEbGrogM z`kv6~t|2c09NT17lD9(HE}M7Cwai^pd$;Y)+$8HFL9)?D2Ok;h2)o%K9u@NvZOm^; z*~;kPe=C&KEF=0O>}kDJMgPG_Fu~QaY+d42T=N{H2rblFWC{y~qU#|}g%i5fM=~!N z6H^aKK>p@TW|Z$fZER;i9;KGEzaj0z$a+@GKDg;4v?aG5Ivz1)LrqdJMTdxz;sK`6 z3u$f2_jG|~d%Kdi1HYV9#cVTy1W!JpUv$^ya08XKzb%wwI~aU|Lri!x;ngm?g_Y0I z@(zz>1o3Yx9b z5t?BZbpqFxiUtqM+WTSw&x=g3=OEWCp6$j82nU{4cZN>Cg+rgr`L(xfbmb(F^E}g0H9+^8~iIT}Mi=0v6dMWKuAC^V#aq zHzKIJl&N&G^w`LbaaFFHA^Lf#Xj7hS5ROxUK#FFb=mh897JR-*LhqmV!3FW z09%SdZ0|LujiM(yfvR{g&c2mJ>;WMe9X*hskjl>GqXtyGDrev;r8wmuEkb!6u#e70 ze90b-i^3AgBIVF1KAYV4b9oJUPr8Gope3|=U3PZw3(66daHj|Nur0*3TDT|usiJ`v zrEsB>z}kU`wG1=h;)hp=v@>^U=qh9>Mb_(J+Ce7BOj8KLGQ1vE4yZj=(@lW=UgA#PzEi&5rfOoesBb|zn8qfPP)iXe93EyQ`Uj_y7SDLJ-X5xXFlYN zfX!h2ahrIIpzFrUL&my@%Kg2F6?+CUh#$Ta6Y==^;9dEfp6*`jqq83%ne7t+I^=v^ z59#Z=)wdTbQ|CPhp?k(peTR87;chQ4t&y)^f?Yvo4cv0iq0Q#0v7n|Vo?D#{#0Aq2 zKn*y$KQwveZ;DbO2-{gpTNu(EPE5tMJc`zqu3)o4HQONah*ChHQaTEq2I45%lg#Qi|5l_4PX=FU(FIKZ&MzAwq z`Y=hFoCv)H`549_1>`@j*#z}E!ldDa7K%>395mldtVyQn=4UgPVDVabgZzG94pLEN z%ii78AMgqPB^-ats>(}Wlz!%!AffTpdH=c#C**t!IYSUqbYR3DL_y5l-y#3!jPCZ+>Do~_wQ8YL7uI7H5}c+*@82iq#-0$J@qw{`p=kJc1olPje+^2oAm!p#gVdNOWxvkC5HH?xw8P+naH5OWo zdH$Ul+&kAM_mUY#eeOO5A}c-rh8NX$wdfSJYqc*0i4{!12-fU#JIr(3YWg^SdFS53 z-+<(V!B@<{8NuLLzr52~ol*3on}ZFi*U&v`hANg)AK$V|E1G!;h`$?y8~W(1>3(V* z?uuARFKN-hr;H?#}-?5`_JBUSWO$*cmH|~ zuK#j1J9d_jeKLT}7NLoW^ErL^^4*>HE=Z|fpWgAvhARfpTrm&fl>B?&!3cR~Q0>Wd zaNN{ktu?qZt>+jW`@UtQ06+)QmU_5)WvWGRHsEysX+7z`)7JHvir|*h@eqEY%~Xhg zMufA)DZ_J#q6yLr;HT=!Z&N}Eb=kX8v@2z=wtd&F)(rw3g+^wtigeN_vtC+;-&1(o zKp%{gi<#+*3=$!mhy(LSf$v_Qku50CUpOzLPI1ln1XBDHM`D?GO4p|>+Xl-ki_3iJ zYk&BCG8is88z=E5@!3nYu_EkFP}luBNJVPlvfVp_>NpU8cM!|mtGB})PseE9Rm=(8 z7cq6;!(uAd3iVgmOee_Y`JikOvKiOX&IM3< ze5i>E%^wfOo$4DL8-E2)n7q)^E4k%scVOP6ujlb{r>!!tqXGG%9kNd0~^MS z_QdiMk|+2UuR_p#>GGrZ?MaY1YvY_D6T9UVoeD@DJ(;>*CXsNn(1G#iVSECdoI4Xe znX&J#8bqp+jc+|Cicb}AuJHTo{5n3G9Pzp1lKccmWVb?A*;(ntbf)B11Q;!f|qE=#LNgj}>w(K*i~W^S!Lp$w^2Kpnx2gf`-5P`cv9inE+pF zm0HAHa`^jC2X_>q%xf6p8WjLnE%}ch-UgAhN2n5ZUFh13;a>o{#(rEF^VkW`A2pO@Sw7$csK1N5GM)9PmJPc> zpmL=h%uvNf=$M3M?P0^rnVO-jvVZZxZ|9hM@t;fvhILu&!LV}{%47RcSHhj<5dnm6 zKkYix&aQsDb`we#hju>h!9!R!V*26kY}Vb)iF5OnS`;)Un%($_SRY2F{n}8_Vw1O!U-;s7pc9$FmLH93 zmnDRC_*#UfeiPbNVt4A@n13 z-X2o)1n=Of1HL1U-sEhPs#|`alF%n_?x-G%q?T$SoQdixr?$zde_Z`>RbTA0DRoQWkyc zRC0^_iI=OTB^=#l?+4{{7X0%`nOUX-5``{(`?L5YWDk+*`}M1^{5os%fsgU{1ua$9 zK_vNPAIn9(%;_wPM9i1F9xHU0Lvs`%U((MxzRcSAEwH8+zA0Q#3sN z1o3_;%H57)CqCn)4kjBStFawpop*;zm(UAu1L4Wzak!(!>^%!y;R!|2!Ae85PeFzZ zULixCY!8Cdac?_mcb2ZR>{K1xdBS-RDDn2KrdzgW&*HDlihSBJILbfKEN9!g)dN(%ct?Y*NV z-O|NoGa)dFNKF>=qSh}2gxQIYFK8>cQ+TmZU+UiD&%`jlb1H{eo2>ZeUL}%Lk##_)8q(gg8&REFXq;E5Q$VH~S#f;8JRt)1R)lV-Am8+ntlHPCIdgfi8PL$8f zRcqjBbRC?((SgPUFUdh$E?4D3B7*;<_^xNLW4GzrfY0AC;w=&e1K!zlTDUV2e#K-V z;|-{!S>Y#hcqM`T)KUpY9*V;7!gh{QqtE7R-j6uoZ#<3lytGpIWFu%3sAx1<@u2m+ zFp?+L?dTH23+_Yz=G{NTg zqozt(AGR=`2vvrrt#>4`%LiJ=TqSDS#c}K2mzI{4VO=;4rehw=ep{{WiM&2FLE7-S zfp?GkPy!DxyN~AUW~^DR5{;%hrfYUtv8t5Y?O^*^J6AZB0r~x+8M{vUqkOlzZ!pgY zS`BfiqzQh-miM}O2_p{re%#AB7u&;%2(y=e6{ra-R%t_kk zrcJ5Zl!&dX_5;RF({8I)yE&$?jcv)$lk!4YKd9I!(zh_{7)U+&C6$aK9)OqA2lulK zwz#T^d*cM;y?8tuN=xR32OJHkL80_XHniXO{bj~cyLE4ZD<1cqUjHnNmeX#lKnn(c z92foA$1!|~=dE0^``Z)!d~}VC=ep#seI}4miS?7vFRIV&FHTDz9!#Mpe^~4@X1>K< z9JYzJKiG$M*wxlLC=afgbLSsEKkqGe;ae_{S(`m9m;Ni1C@{LZXqkOKh_c^AA&}Vw z-6`DoATlE6J%|rC^e)dE<39d}p|EMbFG_j0zHPO~sC(D%MIsbx79-;4??D#dqGD*m z^!{4BkoneFwWjvbDv&qGX~)+%tK)%@g@ChnSUFDrXsprUo+5hWz3Vn*jGV&Z=DpS2 zcB|9U7sWL1%;Po-eos4k@#4+GyaZE=QO-@76rlnS*HS8_@3f|qt64w~efxO`ulx3K z0*fP)Wz@k7g2!`d`&zoYGjYqo_7BePH2}UnF@NknrBslJz|G##uwTr9T zc!VrGd_Ms$Uq4jwBs#N~x*dcVnG;7tV6mhL=cFIvCBEQFJ)P5gg9ffPOH;i39OzcU zf|E=>ar`D8__Ria82I=0kJnm9?KnSYfsEv#A1HTmnri!T!Wjb44k}aR1(;+hGSSu| zjW(%xIyhDQOjR4-okAgnU%%O+im)53Ux{iONIlTbjvm|1nM+AzW53HrFl#>c;zmPX zFUrqP*l9P%K-8dR{Ml}XHmsAp_rM9qvRnK=Bxl=-gkE zY9xOr|K%vKaru|jC6tURDr0DlbM3dh z6JTIKekn~^@D|^f9wxjEB1_@X8SVwt2q)0{*UxBqw;EJZX&%FJCk_^(3k0-czBZgvzbG;6KLv z`HxJ8VSKw!8^UNQ4AF_>2f~u%Cj@;A6rE(M=X2Tv(fzHjOWsh_-%H*7q`|s5swRBr z*GKTkuy5AF@mK&_R|B9D^B6t>lHFE>O1_zw+3vD%5i}My^aTlob0m!$_(X%9`^9<R5#_%V9u9 z{p7Ryv>1>vl6Lb8r5Y<8ixKkYn2+6S+0sqXm(usX^?9RXSjOLcN?4?8p}ns`Xa9L5CvT19EJdN^Gt>&_fW&j)iH%0L~pQTlabQ~kXCYG{pgM>78SVi-; z2Y$#jQr`&ykbmO#YCXU3KVr#i@1;x(E67gYn~yX4nA|H{>n4^>-@97H9-ht=9LQ>) zp+GI$wCNIJvYR1h!k>bZKRNt>$j|sW_T3YFC)|DcbL_B1#`o^QJ2Yu?CAk$W(nNQ- zo+Z9SR0XXouKh6JJ80@StlFo!CHN|4_Mt%5FoiJL0G5yadfX zVCbpPVL)cFCy{)os-~aGG-1x-s5j^t*nc*t2RxYah6R`aH65!UY} zW#{-~+L*-11`WScjk#6KPUgQpz%-J{Pu?eZS{S+n@P3m~G6{HNnWX8))top|#o#Si zuN#-k85%$&$)ZFG=OwdsaEb4pk)lks{yQ@2kjZNu_W4Ns&lgj`(Jxz$L|fANi99pW z7DUgbjqE1>kG$2f?4Thgsnlzz>I$Wqb1rcWaW4q~8EqsbXw{0X0$HXI>SPRuRvIet z$IFwKq-hK0rzSjh9g-`8rBRopz@W4gJLhBdq^~N^#3qNy3~BmasQnHJTu!zjV+sRhlg3mQi64b!Z^Y8~PC+Kme zUoD&|ZH)7SY@P!{#PX&++h2*V3;w}h^=OwJL$_Xs<%g3d%zF|safiiqMuC4e023$@ zIX&{*19yU!7Z18=yd~(_hF?HCH(=_vRkH=CO5YJ|RCwq*H@25fK z`d@UJyMWC(?MA8!_O{M8jLAZai?ZQ2ZQhC$^ggR;wlJ3YP@DCp{d_Egi;yBi)!8P$iJm3-FaswK6sf= zs_r_zwC2;zzp`F>^Gs@5dKLw+)da}k;{7P5GyV2DU`^xsfSQen&Hyf-SzygFMR>xA zDvz6P%28}6ZBmb6ftqVmgPmc@Wx_2~F(OO9G6e8+uc%5VGn7dg|AEGV<}jnsluVr~ zugQ+bNN$Zx(01bvSwLWBOL?4x~`? zAgtG!hT~JGUp7QqM4vKrTI5>|h3$cDUY8CO|MhcnW9#;m@xLb8nXieH@UGp`W#w_) zxFB~r)AG9RSpkevj6`EKzi&O{lA{?8r~#`Vo5|2;dUR-Meh2*7+ zlOB1e)VgRHjt9UeZ%qCwc+d7H5A5U_(*ajTdm>ymo=hRoh;lGnE#;s9%)=I2Cr*4CTxfGS^T5^!64qsup4c!KOf*@>qpswi#k6j)fi5_n!q z&fj`MzoU{rd#|bQJTu$Q_q#Pw_4y5p(j*GjC2Ge^P_aPA9fC9cJY(NFnCY9(hcSt; zY=Ho4_K`D=w{!*D z*Kbo#wamC|_gz|8rYBzC7hEq16km0x&??Z3X9WF@Lzw9MzOm9^_7rqAm?QIna6Q}# zv+|_3h5Tr#Q1mI6XNi8>1y;y=BdG^7sFS^9sXA%=j4XaD;8&Q@xZYp3`4{c2%U-Zg z18-n`-TA2OGM3KjRo|eLxo&QB$>&m_o~&~76jvtj(UR`&K)r~9L4fX&avsUr0|{s9 zN)N#rkk5U3GUpQZ7`@w^^_+B;F8#W~rq|CdH*xm!EWT%+n_5sWu01Hi?c>p$o9>7< zhyV%HpW)5%PZH(e3W{?pQe_@A`7$*~G5)He*IZ5q_COhIm<)kN&Rnt1&$F~l{|X_= zEK7=I4)4RQEu0?;_Q-zKv;yO=dIiz^u}sxp_96OBqf1Ir>?h&!z5#G5xwzhyPl4;{ z=5#CXQhu9>!Hd+%qoJF;b!B#<^^kz4EJ$EBYAwty0F<)a$Gz6&hv#hW0lNR$O5Upu-B&4`KGV??@Qd;3U(~x} z6N+(-<)iDfo)NhECH1)TeTjp3TyhhJYDv={jV}@(?7T_OyhWM?FGbgWCBOf)+Dc_0 zlvR4yz`B5dD~tR0!;@wj=dgBH|wD#Y&bjwSQO3Q2Bs=P{Lp z={zq|9^3djn6o4yxJ6f+H`OHjg{%|u;d54q5htSj)L;CN zml@i8tz$mYt&QDRA^p*g+mk_h-$@Lv)X&C;JjA~`noJa@jpe@vWaWI+h#h*B`UD^F z@^d}awyeFo5w)R(;f}stXjnBl&oUQN6Wkpq>9+Aehk6?z7N^bUtwvB$fdzp#trQ#I zy?~0WsuQNw3+b14Cq8s)YkvHT9+H36@-8Pnny&wMpm1n9={I6ylrlwT%vUDCsa+ZEiqs8#RU5wOAb~pJGCFG zwUlN+@m-To0w?*C_ccED!EGuSw)3Wu{InqLH-#k)WOmWs+i&cD z$;Vqh?UVH4I16Ab0sQgY`xMsnTSK(M&o>R#n#=TU!#}T8od!|cP~rnL!BG?I^R{jV zCB4wh01EtA1)R?{t6`v z@x#Lj8D4A!hqngF0;19j67_efN}m%w(;@kl8$77TFv}=MdN9U`!#d0mGx9P`plMYJ zTIQLBy_2Xc8%AN=Tn!xZBxNbHiW``Nk56O7Vs-o3`|Msb^97%{?y{m zE4jk2Z$vNpI!#pe{B$UrZoj*;mqiZm$_d*rC!A?yPF43*hP^$TdFD_5<(aJ=(#f-Z z+tq^xtjI=$Z`(6Jv~H^p*&)sKq0-eYGTIPr>ExWNP*-3m6qEfHKt?e~sP!W5Qsy~1 zA10^y^=jBk&731E1a4tzAEW4XmIbFx-F_P5Bck0qlz(D-Wj813Bc*Xw*(D+Hc}afXh*8tv(N@9?|0@3*77La9hRWs1E&kKj`;)(_ZbV zWmZ{Im6DZ;dr}~9=sRa#zQCXoo3YuK1dP)RpQgrqEV=9pap=mT)GoHTlQCWO3Cw-N zB(M7EOKFWpqSwGqUT6+hWO>a7GJa$k@9XMa$&DhtQK!TF))Rl=J1te)25t ztCDja2;Pl}f7y7a@0qk*eGkl^tK2!jsHJZnAm}B#&JrpOM0SLdf$Sx6Ef^ys=Stby{$CS2R$(Qr;_XmW;W1C zRO2#0;5SZx%=0FWBvD7#l-wn!T1ionl0r5Jn9OIVkt=Xk1ugu>w9yal$oF!lefiVf zj{DDay4u+>jlDjZB)(JLG!CW^jpZ@9fbQd^)*{Mn4aIGeQcp`*tynqB*W4T`J9o*D z3AjaFnly{xH3fE@AiGJWK<4YM1~F`tWRiF(9Nf6Pp)+(>G7x_5{kdB^9O+IS zPSK=xpd(Bk2lM1or&Vm+(U{eb&`VNd!MkuHaC*Zh^qQD7IlZY6_nNw;QAd&0kkhC1 z2`ayP;eP>Ulc#)>9r;!K=z(ri4n^~+O_+Dn-zN=w2ERly%7Wc(=C$9q_aNBWOs?ip z1^Yty&EcFvh=o?Q4GrjtUM2<$cae-2+*R4M8=c&v&+nS>rBsTQ3LBff9-TVbh;_01 z5||M&{_Ntp99Q!$z%BBRo*;1QyubEHrdc{7B8V7(z&3%yJ(IOak ze3w!Ay)bL3&|vFnLW4v!32gzg8M zm+XUW^}uBb`O3w$vsTF4kAoA-wnFHu_t|O!MRwnG{^BWGavmQumx@=LNd{Ra;rb6Av~fJ)R6^NhPmioNOO=x2dQcX-Rc4(n1zd-T%$9>?wrBapL<92 z;@SMFoDySZ)+M>0wFJ|nurfjORIg)c3Yoi0FflDo^tPxeUbQQ8U1)+t zeXN9#Gpu>!3yWiQ#|6|F!^{AKX zbbG_~Doq=Pz4cP+P(ItIkqui4+Eq>+SSf1i`da_eM5JXriq|Jhzg9c{0Y`J$GoFzJ zj#b(beZiw|RV@Ch@qB2TCk!(%TxO*`eRtIA(b%)Yi8}(ohrf@yityyeKJ54Z(%NWG z#c>Y2s}ss<&}|$nP?EZiq*XU?+N5|&n5FlEqV?-w8AGTkel%u5R*G3@CcdupJ9#9> zSN-gB&MS$BbYumwDNRR_9!(B9EaDhpp?B(~N+B9v+c>)4^R;g|h>i>}ln6OlOqUg3 zr2q) zIe66g8!sQa@Vy!dgam@`}SP&_cd18JvIJ- z!KqZn!O`AnRsFC##kZdVgBToJKX%fWKbh*U*y%jDYXJd8;~m_2iVuA^O2idU>MXkw zG2oC`{yBEp00;U=ONGq2(}X7e5#yi3B@bnWEco6;;yfR2BTtUtDuX`*K#5+L;Hn#f0if3r5ne+ z=TcSO?UvdFLyLNXHt+9rn=Vr&j8A;0p-YmwN{wO)LLP(;(?9#tl>HYP!8B3BllRkIyzj!hvoA9{&>g|c(Jj(j+v{DHaC^Ov#~-Kl6eFIe1|;vza;82o z2_eN?PrFi8jF!FJ`WDR>_a299iDiKQGx}5Z=rjETg6LVCpG{<_@UP%0rkyT@ul$CL zk)h?x@)&T;TKulp=rqOownw^-j_EFWC=6viVRt~l)ZlM;o0XBftfY)Qu20VdI)Uq_ zc$_=Nf;S&~oY@i}<`jQ~4MJijY!jU|@M^dVV?#_dBZ9BUUlw@h?D06&KUZEi-hB$| zWHLi*Hc+pk_nP#FbU*30`^`JJBOgbondSB1YuEXY87#qGf$D*hD3a%La^&nMGQ$f> zYKa4ZobSiC?tB?v%LQ;Dfm+5l)+G5ue&xy4&oK1Wnr}sp-2#}*bV%1?ur2T7P?ZkL zW=YuWa*B6!1k1#b1h0-bgQ`(?=X=<~=hk4Wa|cG*=?R^d{gqjpsjYaemMuH1Ha{n~DdFnqTc!Hgh7 z;|=JWGmIZIahIlV>+WF0&F-`(VAcae;Qvv}?Cf4KU)U#qH`OFz22lu1jQ9FJbt6xLn- z8A-JKJVm4;@OQ}m8}Xtzb(k3%g-pONzL34&=F^d_@O%+cgHY-N|1j%D&f`IAUqZf! zqr{@FbC1=bF&u&UjDm~c_3Ju@7t*w3xc!x1!?P+wg29Z;V~Vh~WDkS@j=m1Q!9nF4 zUXf;Hx>Hc7&f(34TyXgwbcI2@SAb*rrgCk089|+}sjM}%Etogz2bM`~iicdT*LkD6 ztc5nck@ez1V^U>knqw;sk=@Jo@!J^?J;oN6IEz>aTDtWhBu@tD_vw%t?ZrA}tY;RH zmR39w<8$j_y3$Pg)f*kskHnoR%YB7*^{=UQq(_RKwx*ZW`5t0_K0AcUF$fU}m4yE` zb{UZ@BC||%Vi;J`9?2Iuhy-mR_yD74!%P38_$z=zSWHpVT*p_u zkd^R+XkO8l_F60Mxl~ix3n(4_GNHbHN>NHOX=!%2tQy#?XV`pVYxKJn% z8##`s$|JUZKQRr0XLt!!=If3_Gcww9r(4o>$!C< z(&L72K&MJVn4h_Rq(8;>)9*W840>JR{>gpnmct5Mc-DLNT}V$Klt5(IYnRHKFC_Ad2TnBveBCcMwIH?AJCD1W9NMwDn! zzq=N1&c|Vgwwl{KMSxD{9h&a5WA!B-!IzOHTW~DraB)v@hrtGf-+k5K3zof6PI=^o znLDWz<3xOT{HzZ?sZZ`Drt|e&3yWj_*Bb>%1Vmhiuv?1^pN`~*+hqN&Zk2nQ1#51X zoQ+=18i6whNtf7u2S7uP+YFm_Y%?eT7cE`Mw;u8aA8p-ZP$9snA4|8Kzlr5e zex)b5;#ytvUg%LE&*h7$RefZRV?r3&w~3VwSbt_j=E?ec=tdro=wm0QdRoxv7O@nc zWe7c+V~PLQkO51_;mOMcvNjIn@el1=GL*&K(Mi=J8E{Os2t2^Uu7vJ^sS!`{4+aN# z4j2_)vEi{Av3(I@6-*&U`x%^CPga?Z_MO?>sF_5x62lr^ZRah7A+Hv;4;@DDD8K40 zG0hH*6G#{<)!96hvIW5l4 z8As!(4+}GQob>+uAVBel*HRAI%h+Vbu(Rt-xzZ%%2YR>U={x6^)h$x#&vWGQ%RPxgG(l6+k-Wo*f%tgxu zjI6V!wjNWI9$!N-DW3lNP)vlu^(Vfbm0{5TN|!?_vQ9sxz;kddGIv~bh=0BTT(8BD zdIjR#uWq2ez;&&Wnt4ImLKyeD>Rcn9A1&rjpyo^(Pre%|lp|d4i6|^YPsV6>T!a$s zmBN1Ett1IanEr*@ROd9C*at#Ps|KT`eDebTnE;0No<}9ieD9}@wcOIWjl6WTZAVJ% zTH>s6jB>yvf?GLogi-ehNk9 z%|hsy-UTkQm3gC@CQMXUTEPz%a09Uv2Rks|qHW=a5EOJ(iN8Boc05W)Z^qicQ(z^T zCY)wXvsV{$ZiWY<_%28RvkXA!&W_t?}^w!M3$9Of=ArL(o^hNR`2RTiy z?NZi=C>JAwRO_D?Clty(ZX?E0MC3*by$c{8n=u`;JKwV!ZR-5#bWe1*S3pW54Tr!o zt70F;<+)+5#$J>jyvCP|732AVvxXaxAsr+vmBt&S!7$=A9meP%R-AGNj)xutB&^oO*w4^7J>MWu_C`iBI4z)qAeyR0z`K zTB6Moxzco>;n}NAaieP@Yc6(aQFvuk`SVU;tL5N%nKspfLM<5y%)6h}W)VkPf>;xY z@Vk&l9;t)bXoS7;);$l4Ynrl}g!GS34HI9^@L>2Q-=6QHM_6i9EX1?<%CN98zxWD` z6(duqR8b;~T<2~Wn-(K^^;=f%hmW#R1tCUM@ag&BC8^w+fg$g=~ML_Hb(_1jCM1jEHR zmA(vVtew;|53Y9*ZI|DUanu}&;>q}}tf0CXTpFLdCoGWHAEULeE!@(H;0>)zY#)Ef z;uEla2gxS;XQ z*D?|Q`zAkiX1~ZPXJ6ehoI_liQg2S(nw#yXsfqgv`g+Mb0zLHafrdCAwhx701rPr8 z)OqKZIvq#u+N!*F;}bnn&(KnOGYQ$9j~K8Z-;G~q#N;sH9Wi9i_dQ@1!SJbG5$uHc zoR^bg(>D@ChKR1Lo~yRK#*c{F*NYrYr#WX;rx6enJCkxt8FG&NA!cTZ#T9E4p^1ih z1r{i|?BU!Aog3AbPbGbi?u3i@2j}R$A2aYqODG*WxdRV9Q^gBk-QW~wV-(dMVwNZ? zDRR(E^Z3txyb~%WEpq(u10kE-rOJ$%1(N#Ue@Y2mHIPlcnhB|#)n=-xQLz^v+xzl! zRJ-Tk-q%c_6H8|(fl;RD?dfe6cBX7o^;oUUFl>Xy;o^)Xaqs~(X6O5`F9rF|fwA{Q z(-_m8H`9ZGoXPSyY{=R4kO*3RL#%>_X&}8OMr$Bu1cG zGc%;mT(kE6)`vAjVV9=<6t;Cd)NkZ)ry1N^oi~GxKg6o{!^t{c2rQ&9F^6s4My{Up zwe4jyJ*C+a5v8ds2l-dvmq_Aka;_(F?-}igQ)S20M8x{_!?55lovQL<0g|Qk34^!c zsh5`DTiGxgC75B|mK)Yeq{1pI%maLQPe>{tSjI-9HL_>V#cle!OJ@x}&%<4?T9jPuv``j`&oasmLqOXqW{kmh(>MA`@ z8e*m!9b9hZ*%9ll$G8u&Z@e$Q_ur;6(E&+%N@|-Yc^})5TK(bPD{dB?ZUH2;A!+0m@o%?R-pdZcG;ihwTSV>5{z*@)5-Y!>&o-fZG7 zOB}^?erJ<};ONsgNjZrR_82lFID`4KNSn$9BCsWNcvC=X5wA6VnO)p7gfY3537{6d4cx{*iENahtJhLZk+t8pck{}k3J;Uu6&PSICa^TB@TCc zs<>!=m9?IVr9@TsNcMsQ_A_u>>lb?T7rd3AmaO9|?@nC#WYy#J0$k=FJ{XG}|1i4i z%W+$HDfWj3*8`)A>in1PshP(uuW*mi^Av|iDjquNJClhk4xE&?e5;mtiBw5kb!n>) z@xHUZ5WCG!YRWlX+i;TIY|fu`#nTs1%yko|^`|`)2hS}xPTQtDV$6$W!Q?lWe)kdX_@rZvcuSTw{<%Qao5e4Wi9H$F zRCq|%ti-&UdvRiEFv>rpE1a>hQ{DKQ4lZz{S>|1?=e1`j4H^5ZKMhY-?}@&enrS9r zmMyF`=@j6yD+=(Hk)~3XjVcG_QU;5;^U2U~i!If@Own78`bnom`-7f(3a;!*xyiEf z^s?(JHjif14?;@L28vSU(BP$J@`D_$r8x$MN3T6gbBc z{VtN$a0$~sBj56e{ull#!HsRq-u>H52S3^utcEQJv6X805M>`8j@O<_C0{UJe=wv+ zX70NcpcO0{q;9~)%3!5RasJ{7$0Lo~TA~?8yA{YY&Dffww^CXZvVZWTE6bmG7bAhkj+xvzd#3Pt zGCkUyzh*rtvnN$UNkS6ux2LLyl@qs-iUm+TJg`8v=V=m@^mXu(p7HPl{n>hkd|g+% zU73X&N>DS8A4$lr5edj^UB4>x6ti^q~(WW^SFiW>ZW=4RU3T7CZ3kzix;)vpo%>$cusHSGw`@YYSTyIuV zzepGc{oLvBo2`Y{51Y%4EUI^1c9Wbni3<35N2R_HwxPYn^ss>BpLg}I-U~3Mn3`^- z2`o(&H#5uctK)V}`zHK)o4U2r+ErovX}x**sGFXWiiWf_n>APK19O6k z`(s<*EH;@>a0~4l|6UD5d6|^249C;I8|}4z`+Z!=Y`~m2lRMg{<5*GMKr=0`eS5+9 zp|TMl_~*ka+SKh}L@p?_#!HLvhX%NU5G!RH|yPk&rCdB=~wkh+aMY!eyKa z8v;GP&yfFdVql~I*Dt6qu6hwDvbp?b?&mD$M}^~YK}!?MR#4a_lU(+VJbo!AP4oNOC>w~1B!d4{u6^So~~;fuMi&D?mgsnZAf)EajQg4^6T9*{2&_F^xW zkL6Of;J+>|RV8Xhjc5|%6Vg>yHK${tiTreK_=#AsTi06gTJ>UTwL0B8zOZQfOao{? zvlc1LnPy=1Pv#8Mq-4j#;Thgm`w8C2LOZ!RBW&)z@7t?b9AZ`li|C&P+j|Pk2GtpP!qg!G&XXubjc z7cHW!b>GfrzB&wk;ZR3dJ|bCWJnAbrc%QEjP*j749xo3H335zU;g@?R4~o;8=^VKcRxO zgTmLNwpcQKt{__7>kqL`IysWHM_S~W!U(!Xc^0&3XN~Sd`>=aVrW-Jr1dLWRxbsq4 zsdSy)T)L;f3%bvq*U#G)gwWjYlq8-Hi3^&^WP*I=b%Avvy;s9$xllP&v{% zl6R+>&5FT;WQ1XQ&wkq&MvWrjxhcfA%U=j)$J|FNf*Nw^;NvY66N?PQx?_;Sl2efcj7wb4LSN;n9WB#!WL$l zgI40?ZvLwL%SybXtzgGJlPd-mcpK-rt>M(Fvb%q_p>H|m1K5=hf<{1sMVrA{i7m#B ztiob$AG)=nwMS~izG5c6h`ASfIFGYkQJdZATkr@sJ@YQQ_;#0Ige(s6DIaUNGeizU zbYhhs{pZe70{2~M0d{A`2jdayj%BB?LxnB2W!$y+U_r&`Dm+t-^nk}+2H&Ro`^d=f z>!jEd8OzIGsb?Mqnk1!bycBp#h|lI{CZ5HbxX;v<$2V7#%YEr7$51Oqc_HSztQBI@(}|br!;Xq>M+tLAuiyRR z^Nf#^y?Cq9`aWV%sZ$y9dCTAr`OJDmiGewq_LoMTOK#itwK_k4gMp~@B}{gkDrhoM zNr0+LSHo}kqf{Af_Lz5L@R!^dNgcANI6PW%l!iua{ZjC%_2}+nq`Ay8rzXZM$=w4UV0m}!1G?;%aiX&=wzIB5(crtVY#^=ceNjH zQqXr}&c@9Gd2@c)3C(Vn5|eL|ecw`ER58w~!|+juTPoMA_SK1%cr#)7c$4G)Yy}Qk zuR0p~?Z`s<(8-k_U7_JsDfQ9*oQ#c(HJhCEDscE z{1KCpiD{crM`eR#fS==0dX;?b>fz;p{v0Ypc@WmAlHC)6>DHD-pxFF+qDo%P zS0^xxi?T6P%JR4Or0C}6hHpC!-XyvtyWWzn*2p+#M+^mK!iH2aS`643(p_;BJ7i_I!w3aFNK)0V`pll~eE zhrAm56@2u%a!8Jvv5jX_R%mu;z=&<~f+J!fb_1J#*z~*~!~eZv@Lym06&r{u=&CH^ z0Jg3-rmnwlzgWAiWZ)T&U#4X>Gj)u63BgLQs*m~hi{Y)L&UId+&~RM!Q@$l}|EU+3 zX3MD}#oMR$Ol$-wiarnFNAZMSC)XW%Hf%o@0y(Vu*q({fN_8M0@Wo3)z!54dwmxy< zrJO2q9mz21bwJVWf(NopJPmPCF{Hjn^r?JH7iCk~PET5_;qNqrBx~rUJzK}9vDgb7 zG+ka4F@|5zX#-aX;+CwJIQY|yG?=A_<7!E~x$-?&n5pZ==44ZH{LxZR+SzTLHwYE#mB)S4fH z;2uwp&mIuP%MM@97&i z7&ky>?on1kLl*4Fg!<+H7 zyDqNgEDb02DC<=#5vQW*Fj#)tah{HI*;wf964mj4gwlWV4!qK7Vy^D z&SQaqM#tEknv;BXA>D7C4+UOLUtO7s+Le|BgSf+d1I+Je7%cS%r_qh?w~q|ntl!6C zFjX`)x^8+)o7WGl{LKLwX_PJ@6fUMOkz;jqC{pG~hu9FSk7VM%nvZ4iHp~c#8refl zD;Irfvdg~5sJJh&_Kqoq2tlm;XZqboqP=Z=O%C~{7B23(MjD;w5$cxjep{5zTK%RO zy>VwjlQOE#x0uJVPt~sDl%x{k!QIYI&U+>{#Cg#2w*S28Pztl9K2vsMcd@A2e8jkm zP*sCijIQ0wa&xMduqn8-;kvr}73O>wKnV6#Im;x=;I<2YdsyCRRDOfK%l_~lX9^^| zON{+ob-g18d7vh^%xzjM6*V@e>`$rChhB+?#m;xx%+CfjF$R?h4Jk3 z%GKYl6I-&MX_saHPy(SWdIvmO_DaP z;E=xOD%Mn6&JcbwIKW7tWG!;@o$dSA2pPP#wn@qK=T$fZs93yZGrf<|fNOf^f&T01 zs9%qr@M|o&7RcEA@&(Xc=u2tzZZ{hrgGR=z3z9-E5}~L(iVb48{aa%@N{vJe($T|K zIdRfSLngJDEB!XAe`ovOvOm;Uf0Kc055@eI;x+P1eA8DjlS3w)Loun(&gv&K{L)+7 zuq3wiWpg3OMAtIEG{LoUIHcfWB7q88ZBkiOJ9ep`_?04_$0Bp&Oo2t@elx4=Kw#y$8QClAb4S zpr3&-y`J-KV`nPhwr*h+SW#NK!FY5SH?|D<0ZAq#Ozry;qfW2jLsVKA7q|9qbg}K5 zMQ>K__Q3E_V3f=^_WlZRoULBhCad{CHZ*e7o*5daBP8dtUpYT~;qE_I5isI(e=a>a zAcxZb%&NnVTSj`!k0W`ak{qxKzqXku15m~?`U1>2EAfxE@UnicbIpT<;SaU&{(3V8 z&?{nFNH;?UeW67^&JHbco&8pDveXv|P8*gUPTb$=oaZnB(#OWaQ$8nXIhAuLPo$hh z7EJyY4buro@8t9U6j`~W&Ak8drEW(jCNOwa=l}FowaN`1UK|T&gTihh`V5r`vtz9k zY2}%IOX*hjL~P52{fQ7%g=?AVwKeeF?t1Bd96pJqi5feK^K@_RNo$bhkjDI5PB9Eg zyMAls!~HQ^U%I!OCxyFM&DaAjxVNXe;D@#;E~Ai+w;h9iOzlyMk>ONeb`DOqxXO>n zs%ZJo<&rMX)*T~PAIttj?@$*~H(1-rrUTi!uQ}t|C$VCe5z-?Tak)fXbILu}RboG_ zX}lB62urCaW5&?dpu2m)?DU9tADSMNKl5`m8<9>kkh#oPd?F2}$4Yi=yXU>+zCxW{ zqR0~-(m?q?&dl>SP5rQKb><*)^xay+9T^ToB3XIOXjD`(eej|o%TWF!z1qR0@2&=;0I z!f9Un4WF`6|0h_SA|%y}RpE%_<8vN_=jpJl3cPoxR|zfzyI~gW~Zm zHEIxRUY@e-vaU>cU1#cbSWI%(&ix5k=tj!Y|GdX~9D#;M^7bTkbSKZ{}Y9wjrc{+jLsh+I0WC%(V< zy_XmGxSf8T+QZ*o+x?euh)_sGmtDj8|7BTGG{sMFDjDyprGnxTrpMkRU_?>D7I2W@ zWVMsgTeptAs&VHDJL=zSGrz)Tt{NHQro4GJwsOLzgJd!RmWuEY1G4o8oR&|1-@`?U z5&tplaS*C(98g-s(Ycu7Td2WMkqPO~l1Wb}ECHtg(l1kTJ*NXbve2mQs`&FgB!8XDSw0EEFA-E#tqK6J0gw^9AUA8NT0V z!$q`Dv|3=xqUxPU1LPolZa0bQEbnhOeW;6aBJe3VVjhuKpG*@Jz z2hrDU1z0jTu%Q*EIdEN%O0}%#~*0c+K|`2|{L5G-Y)zq>)k_ zZ0aFQGDn)v*GrFOkTUghgHP1zs0;}&N^_F0d7&8Io)I~8wQvgyy?uS=dh z#2#FgwHBF*JJY>ks*wYVaLNGrT^))0m;VL)p)Rwo$v{nA@R`e&og`7o*3&Y~I=WXM ziS?__dFML{7XY2buPopJn=dRqtCm-3#o{m#cmOCR3!PI;X&(4o&ObBICf zuMb{Cv|w(3u^-{O4q10zoP-a5`-HKf4n(5;zO43J7x4eneiiup9#uCJ3fWgX!@4wq zzX>$z7{-yQdGE8o4d#&%-rVD_#@Ia14~9NUdvuInRlskL#A4&Nnjg_4IF;fN@1_U|ZOhWLU9?NR*Lb27#)-zI-5%r}D}ukCl(rrqV@3fi-I8~mpz@mX-p zSzJGRRp=}zDAPh+MSkB`Pr!4x5_~{|8%bkJFP6@!ZVIvev0PD%PPrsH$>R}H1K{fS zCYoc!O3Thwmj{Da^NW4Sc?Lj+*3%`X8g>wQuEp}rmIL8BMAE1r$czkzI_B8R_Fd{j zIUav0%gx%!LRvPZRmq__!>zYy>p{;R-{9!OtDkY@5~7n{x3JRvLNmpH63)hpk3=mC z;S9u4C9^`D5Zn1)m+f~JflvPJ;rq^L9l2j})IvU!PcP~oQzqnG3w5sDQ^E$n$|PQW zp^%y&DDVv)IYg39j2_wewiN5azCzQXuvlQ4VCkp`kM4`~|B0LJ4^uFC=n<}m^KIg5 zqFZ@T&E(GF;AH|1Q3ArXV&oVh@-R{~@2GoLVN2TjwxTeMIH3o2w1nA&A>-CL$lZ2d z#-x4p534Kt2w-a9Wy!+f?j|{=+=qVVhFRQ@euMC3c?YOe@~wqS6E? zO<-hn$XEH)W)>DTQ#yTiV;j!I=H)$iJ$C=xjidl*IV0+l_s8KuRnoDTMy{uQ392{w zn=0|&9KI6|g#42@y)qdgFhyYsO1tu9${U*8+$bd_vlh z6lIbGqJM%tk0p+fe-8Wfg{PvY8ozRs5{Tvay0>tx68w3YAC)mfUl|btK2+s=D}X%Q z68;43C}5gDDLiLldC{s@G1au7ACIMg%U!chfV(_%C=5Mte&R(fin(}0$3*$B90I$` ztPVsO+wM;=+q${wCSkkH#L@}V9!Me>9=qTWG|}L^2?{E|;dNw#@xi{Yno{vT%gaNY zuVYDlFZ!QL68rAzylZ$W47h!K@8Y80?{i)uSJ-j>-THtcv~%foF4E1m z_rboev&C%CQd;W6Aa*ezA!Y)ma6XD`$8tTd4K+!`3pnJB#7X6G6S|!fxl=m`{_j$S z6)%wHYhi=ESnYR>);1&z)78$q{(s1Dzv7_luFB(t{a91DB*m`VjwxW6R|?<9sVpR8 zK8DvJZ-4xsLzVs|im5DwU@~atoL^qs-?j~n>O2s^*Sq%d5vsZIkVk&o;V>zfs;7@S z+t9FJTLcyV=2}%#Tq3j#a;J7s9dBF+uI3;A`SA?q7UUHgn1s zjbQ7jKMZjnT0vu4D}DaRSmNMX`ZhSQV$tQl8EAj-zPP{3=wWbXpB3oLVYn&nSu)2^ zjPftC%PBuRv*^I=Jb6)ZTwPG{TPlxSe(%g#qCj(yJejetv8OQYJmgk=XlnXg{ zO!KG`d^t3KS^fjQ`H&aJC$qO!odxgejZ`15cw`z zBmr^gGl%Av^q;4T_b2$``+L>N?wiwYdnYAS zoPNxADbPu$EBlOb*|J2inH+U;pAf8}XkP!G-8onNCxKR9}KH(HBr|BUiK7!8&>jrwpgHfUzgi96(zx=oIE)KXbT0}<3{cHzWp~!u$ z8mw;Hd768>3Q%f|`*=qvFWHa4I$i3YZ2!Xgd1=b+dK|ITJ~3}X%!l?jE7X;jFMj(p zT)K^V&jYO_Hz?&@85}y2k$-U^_)V*Ww1KKMxDNeLCeVN=dc&rgAuQbSq{-!chSRM1?3rChtoCkoK8 z(+zTxg{r=wT>*t<|29R5Sb1Q0IqfQHLd>R9>eH6RE-{o|KmBH(FFjN`1?g0ZL+nl( zFHSnByn5j^e3u4KYpwVv>y@fKq%?Axw5n)7uD_Ep5#$}wqg5Kn(Cq^T`xZDb`)G~C zKd-#DW8k$@90EC(EF*2;PN8d@sX$cReY$rQVhjVen2t3yFYi3y_0RM zR5BU#>+CMLhnY@A@NxBp|9#V~=a-8Le?Fs^%?4*!@c=NbjJf=7pR(k_Q``FTa`V~> zp*)z-{4E-CX2U^ip7{7ugM_CsxN+!SAZbx@#c&0J=I&>;B8OAR9D&6Nm`-uva^l+%0YmO8ZE3)`XJVL!%0eX0hAT*G(r;hd5dqi3OHIeMO~`p&M%urEp2O+bEi*M@Qa!L=n9tRi z>u~G}LIlM?eNEQ9h|+Tf;+5rZ<==fn-;EmLfj9)@?Va_tNTVLi#q%ni*Dfv^jg9$Z zU+3Ule`2LRuU3!66)amZ=GUseb(J(+x%7jV!DA4Vn1mUFJB!v>(Q?`48T#*Oe?h$4 zyM*?sF5#I9c+61J1#}=e*jjxF{$O7XZTsu^+p(qD26r@%8>aRbcnJT+`(ybLhVE?_~_50xZkzu+EVJfsS zPf)M@d{O`v@(7Z}j&aT#5+uLkN$C*|E?PF~=!Ls4IdA_nk!>0>be{^e9H;Y-G4ExX zdS2e1ht_OXjCXey5CkU1hBck{n^4|;-zNGyn&;wrPVd9qEAn%4XsMHgc5n>O8#blC zirO8`;mk2L@V?t?v^XxA-A1x7;{RQoZ^1aFi@28ybI`2Vp>c34-sUSCWrXrmVSG1} zy(YZkBhB30@c4T_gEL{j%^V4G7&-v0uyZEK{=N`YQy;Z-HFpz6=GWR26ch#oC$&$B z+WwBct0lCdzI%v`gZR%{ZaNxZ6$`Y$LLqqDgG(A`dLTQ<9}{+x-!L^OZM!jdrPOnN zrjZ!sG8OXVcBb))f(ZTZRMK!^ZdSo-pMb9%sI&`cen^t4V?6L~wgi0Dck@a0^LI*m zRR7cM(&?>+?FHK3HMhrr$|GK{Uuvv9R??Nu+R@lL8P^Kdtwsw;-h)apYV~iWJpjQ}EMm$}FMs>&JbMTxI z48;ICpouWkcR5b17)te0S)%Bi^tZR+V7s!`{2<*A>YXdGA-BWE|J#-{SC(RaB`s%* zVm#Uz{`RBd%^U1wQ9cn7^8OO+{%`%6$a3z%`5;qhIvDsVg{$8>LtW7<>F2fWe5V_H zUeJMVgK2l*N$_N54Lq)f=v7BdsUYiqx(qkxRBaRGqO39At8`JjQ#82Bco^}-;AqS9 zN=@TJg{6gXwcVcEGLbJtsTC@`c@J;B5)fuYN%N7S)2_5=&9KuH-qaEI1`}EQdq1-1 zlcXZ_X1v^0D@^-ZICm$qb4t4OB?EwxB{ggFt6^3KKaW#UsG7;DCy}cBy%%2YB{w@S z)kOQIzjI*sXX(Gnz__p9IGIfR#0^BI1DbCPI-Kfq3R-kSIw*A}iXxqn2bjY2{Wz2$ zFx!-EdxqV%1qU+h#cfUfn#s4akd#pw49JS--Q4NcFltdWK|nl*cR4PlzTK%DC4yo+TJ|pzDwtneKe&Lcb3jvS_3oFEcU-JXP-s{kG-6-Wh+iXe1 zg|gs0k|B*hJ01Of3y#Jid)NE0V^$B>Bd|jH!@pOGUM{@qSiC+~CSFOhhV_;oUWy^! zWI1AF3IVgmcy~NEXo>(p4lBi&_P>aFS>;SmmYIE0GHwwP)9&0ccWZLHHPl1#)bEg1 zm>jhzn&hN+msv)d-pHNy9Yqr>g`1T;C_>{)A2O^0nI#tt1&v?>s~ZvRf$QLbw~j6iLG@Sz01Q31L0&<@_Y(k^|E44bF7^OG zlW)?N3-Dg>q>3X0MqaS6uxRN5pF7A=cgZ^%CZaEMQJ_94Kb^jNMhfHi;RJwW?mvp) z%I@bNz|{Tr5+1jqT`r#l$ew8efGEYNhkGDyF71z$?ixWdAYNl_ZSA|!PwgiZu)Mqn zUr|GlWU!Uj0j0-%1w+zN*WN$6ac&0_tASmXJ3xzh0D$>1qeL6^v)q8NUj-B{worcz(I^HEPhzSg7xiozZC-;HM0 z*ID8E0DuFnE{?fY0u$>}Kqb-axtJ&3ju(v#GQ3)|G}D4K(?0n-$UYzfoG%CVMy%~ zbm*^Mk1th(upSryD@*JNR*0pK^g3JO0!0)v!FVvET@aYSNI1yy?T~Xa@T=FWR=X%g1*@hy~Qp-W&^ zH7~~n0-#6y@x`;2dnVr~0M{l}??hz)Ail%1e8Zj7GKmYF*g`8+pp}=n-LJlj1j90u z?(eJeOJwm7Vzl?(+Msyeka4T#k`wvF*8C@UVAx$^d%i}Nm~QWK`^IQ62L)_Q5A-$@ z;&ZmGRol?epYsIhPq@FmoN8{84{Feul1FCg0Lq3K#3#Lp`7EMPY~bWMLOu1Ojg0`o z5Q7je14O>elEiy%{-Qbm$z3rbMh#%fZr*MvE|F&LPMwb;y~tn|wNn*81ExNb0C5tdy&c;-B59*gT ztpOk(5fq==ev0ZY?p8f`I^bR@Y+?PiO$cTO0=5Zf7QOGTTs^Oj%$($RliwsG#s9>h zo0eYOeBfHC>xk*E>Db@ri39)-#h>?8T_%5C4a6nrSLGvjbIE|?fP-`TVOG|0ur>*V z1OULnRBAH~&AbcBKyn#aqTBt!zb}XT3xiFB+q8tqU^qRY9coIazz=QKQo&Rpi0{WjpKjKoaiPmb=5jIg}VSu{n&#VfhMMaBx`}$}OoMWPItX7t^ zUy}g>dFi;@={o3(zFS#-@0RZ`m$u#moKGIYRVr-?+8yU+PnS@9l8-1xFtiC=B4Gi^ zo@lC6KtK0P1^>4brQEc*=#%EJ+$D%x6hD9$#@VBX@o|a7{e)<~IF|{mASi!mGc_%3 zF;ZVjSwV{G?DB9yr4k-fygOEm3}Oc?qA+DpaxCU12>$b8$Muh3&nX&^i^{X%B3jjf zx1|{An>1jcl5Je*{e>$3H-Nql6AX+<(VTmG4lY5sfS<2BH2eZlW++Q~cT4)1JFq2} zMdBp@2%XjJuCyQ_q=3LTeR6D|!;e*d=weTJua6eS^9daU5bwUpLAJ01&t73@9HDyh z3+t}}804!MG%R=CoR~!S3rBCx8}OI#Ng;~#JB7GD4;Th)J>hg+H6s-2s`)yJxSya)!? zCz5wh6WZnyw&Y-YA4^+7hCqI&c=Ad}q~$luh7gevb}~e)ts~09rZb#^MUG{U&sn zeIX~1i-%q~C@B6m!iLo62HL{kRL~TI02m*kAk#|>!wr*ET-Y!JdpB4HfY!_3yMH&< zkEQ@}bU^xaD3{&x(X~f(i1a2dtfF|V7NpXW0|GK!xbO1m&(n&)@nx72CjJZ?_XL2g z*`L^(603%36cr`m2h?h|sd&LeUVi;ho_r)T*b=LXC-FL!hX@$ap6m^ctinK6=>b)- zMe-anTwp+xP;gkZ6Hs#*tp33vq91k{iB zoMl2Ua0EC2{6a+f$8)m0g;do=zz*Om*cKO)KRv(?fbWXP*?dkASxCnM{~p*$Y<&|= zFYs@`w?(8cO2J4%s_LHtKLnOUDHju&F5qzy`LD1AtT35W)l$`O0f&i2ECe?IhgJ2P zs#+1Iz?c^4c%u7(mT^`tCO=*V9v#cW9aTt2#6#HLXiV`q0^B#6m^p=vMJzc+6*I7p zblT+u#3Ggwn}7qV8mL(=XXl@R&68H8n0(m`d@JZcR@3SXF%AQvyrm!p1_pTZ%{OUl zYoooropa~T(ceF=iHj*qO-&8W&CT3&(@m^fw~mb)H!^+t^zocBiQUA$Y9@MwbO!tH zlIIZP^y$;IwzhKU&>^l|xsq>1uW4#)YiVg|Vf*&&ELpN7-_x81ZZ;(B1k47oId-rZmo;(?)NK6Pi zIy%_Bdw0}gj{u0O&IY=%+uSkf?(XJ+2Ofy}$%zR`RaF%S4<2Ok;>BT$^Z|=4?EN*N zL8DVqjo^mtTH4YTaTYa`^CJ1_lPA6j^5htHb6# zdh{s0y}gku788w6KmC-WM~_A+vf9F4jSfXyTU+Ex#pK7aW5=RoUuI$NI}JrgM@Qre z#pFkOdwZ1Z3oIgRWjufWeB=tnuuVVPA+o8GwfpoL#HOg4X(#8^ozqTHoS4&!~ ztY#IoV(PxdC`{RRnSA6kq;6>faddN@vKrW|CimK8N(!0UbUh=R{|J$cbmE45f@&fb zvLw;P4UGKNZHQ&ratSz!nx>g)USo?aLF%S4^3)wrU71c2!zNuz6v@P6Axn*f#mJMl z!$NzHn24muh$60lcAA)dWn${Q#qls@-eqd*N_4Hg;wDa0>Jd*2Yjhq0Wn+<3V$xji zxE_6ArPBops+sOk0Z~OAAyK28P&O7>`a)he6aDH2Bw?XytK{~9u84Mm;+bQ0js<_4 z@YeYhs%J{6>{rmV8eA;$=L$>jsuF2NC=Wjfht;QA+bdkfprUE z>#EU3Q}@a7V13Ol2$p4$NF>T)ny&POTv!h~HwJo}k`*z>8D_HO%mvs&Uad%=3{PgQ zi%w|?SyPF8{Z6P2Sk(_ODltQnac~5CTxnTCB4L%qSh944v;=wL4p=-Z@Njw>PJ+@g z1hm7J*iEa5#ks#-OaGNCh-G29lLyAEP}WsK=AFbl9C9QuDayh!-Pqc;0j_{^csPvaq+d_(C?%z}mUV9<+NzGar%`HM3e3 z)GzwQH7{fcsOo#*6BMs-nm&a`Y;}`-Z)tczE&XffPW-(Zh2jc1y%Ov1J`eSopF1~~ zq%!8^6*N6To^Bd5A_jZ}0QY7ax8Ai($YGWEgfm3b%rRGapDi=Ea`vR$vRo9ej}*cB z>IP)#EMu0`FiHGD!vcL_vl%tC_o6<_5qpZy9&*}!vWTM2OuV4>q&wow{As!xc74Tj z?sR3<7IUO7vu0WdiYBDozXJLEQqs31&>QuS5q(~zh*wPC*fO{Gsi?Z=(zH*dD)v;o zI3B4z^KOSTMeP^ye*B!QX{=8Q`@>O1XmOxX zw~f<;8evVFtJx<8H?PKNTn{SUY@7XM%{w1Qx+mkM@Ip4#Vg1dWP?<<4WrWIDQzn+_ zFVi9#UTH>H^VLAjfGLK0UIPU*^QYr}K~4GW*Q(A>u5lqP!Fu|$Fw=H!JpG^Hl6r*o zXq(+ndiq5%)BRxwbKzOd*BsVpIy#!2mOiHwN%RacXa9SUD(tFDL4}kx^RZUU^9Utg zHYi%XL0^&*VI6VQv z2Fm1bRmtkJYQL&0q8w4bX^f6DBGr-Ck0FbXQ9zI6tYscbLR3FZ*KO&oOmhv#clBLetLy)+R}1-u@0ME*Jk-qYFNcOg(>$)GvQ)?`q4kAj1-U7U%Cr z(|dUuy7QA!u2VP)KSh^PMt=M@sn*ifCWagr(_v&Cdr<#4)o;81Lu0Gp3S{qXR_r~oS*1u1S&T_k1**^VG3V!9MRjic6n{Ok5R8oNh-CMV zPS|~NotwU4nx5|{x^v^FJcJCq=bB^O65Ky3wsX^T;3O57itpU`DGwo&BTgWobIcLd zfY9v2?=!ulG@KhhWg(;*Q)$`9g3`0&Gmc%P;n#Wn{c%Ak3n3Xc+tyJ$6u*T!@v5`^ z%>6}iXKu!#JcL9;G^6Ikc_yCdOVYgWB-Y>vrA&DU>9I)364meXxMIqPGVdpUpt8Vw zRP&)cgjCZ*%`t0Z;^b}o&-bZ)Z)*HWO<4%3L0_r!3+pKWb?;na)_<4I%*|Mog^=#H z3*R!NgBV??{ap1?KTSV7wbHg#@9Y7Oob+a z@(|MbK1RUiJOHL$7@+xQr>B&2S0ehUaam9bz!=>H6j87C3%b&my{37dQ6%9W8T z6q6q-R;-AU{R0c=44ZrX`t^}36q6qtHiZ5&dVmfKI370lnl)=^Zf=fTshDWYpFf{9 zYt}?5a@+#m3Y$BTNU&wgmdF*0iN@BgTS+7mV`t3pmZ)kCa0-|grbJIq4=pV%T)K2A zpE|~j!R*XlMxiALbW;rIv{F1FwfI)zHwu&Ye5+sbfqCo_zAjC?W#9E+YNz zsB?dmk`F%kAa~z=ca$PAA-LQ@re0v}h5}Jo60q+;dO9r}zsI$th$7@M~a`zf>3o2M2lOl~;K2 z#TPk#{J8OTwio~r;nrJkWy_W=+WaQ^&x`uqFKPFNA4rly9brY4pzU(VXKYnd}=&UjDT3#=EB4$rlMa;oZM zL>!XD6pU>m@`67xaP`v3_?=0wQcP676C@&x@-uEufB8M&E0a~Lm`Lma{@UypO>*uh za0)yQe1DQE789Ny0FUPq5ysejB_b(c2k=ki_>q&CNhJmRBk+WyMNY!}LM8yJ`bFU1 z3AsuVGj1+mTj9YlnL}^Ya!z;~@T)v4789OdVGl7vi3kz*wTj3GB62@)A8;&U z9pF9@xnD#=@1=qWO{*Wrt8D>x0e4a+o1G_#H-Kk>mqaA5U$)O%NE21P33wRWQf~qB zo_i`22C=R05bzWKEKNR4h>#|#IuBdSTYwvZ>#(Q$%2nJ!?7hQhfs?=q;2jaUFp(Ge Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 7997 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 CpIdeS literal 2048 zcmaKr3s6&68pjWid-J$?ze55fA)pi?k46Fk1wxQS-Vi`V8AAw3PzaKs0yAz_Xx9`F z6a}7)SqNYP5P$*>39w0k15=U#4*--5`1Bwl6G#{o z9-Ykn4?G4L!e`8aYQVfU=~r##*uJ{5++&5A%?KX zA`UT>ixb8phH)rj9#P7{#2ie*Bgwd!gpZFQe3G1pg$hV=0V$l1g}p?|$D}Y1Ou{2c z;XFi4jiew<3c|v0*i?i=MYuE^9vz2INBLBQO@|vp1sK9)ph6ZgG=@+kW;We?)V25m+hH~jBmxYRBnJX$~7c)gWB51})T6!dHnS`Pap=eiy9J9+t zD`lglp+gI38EjN6A}`7dem9NpW1|u-QI;v%StdX{&mPih-4jq|3Y_xGM*db;6m2>D9SUk{ zBBz#vO2p(?J~5m}l<|o&E*i!s%ID|jIR}5!4o_Z*w;-nw+W*(|@3ghPYH9xNSFN?X z6?dS)pI&;cZT_^Lp6;IB+!lg00Ok!S&&)7RHcZar*N9weTIm5`Q6}C4`j>PchLc3E zIXj(rk3^)ZkjsQIcx3`ln2o8H_)G0ymXvVvxybAXH=BYk&=o!(4||8%R!&{(R;9@~ zHcLg@th3zzt#9c4a(^%n6SkN8&lu+-Moe3FI_~CRxpN=?@OaSk{q&|{@M%|QSLC7J zzG0qv;B7p!bV*Rxo`i_#=)^=vRj$t^-o2}*#A3agQ5uIHSmtXox^&zBS;^OFz zuZj7m?*1{c>gIcKiXzH}c*hgOG<9oikZm2=+`sa+3E1#rhN^U24o@1t}j-}p{`|Q&hN3TX2l3tt+01xWU?%Rv9CfhTPsN2>k zPV3y#l()a!_qUrHv_~JF9~&4b>>ZeruxB1lh!xVICC{=>wDPXjcHg=66w6VRee>ch zz|L=d(Au*tzi`u6&7*(65*FAQCA_rz$eQe*KIYTO2M+-3AFSSox|-oNo+CxtYUCWD z1<}nM8^j2=dVSi-`g^g;&b1%a#;1(rsXWL3vZd*H^TroT6n7_W+G?i(?c3Fi*qW%_ zTkri?mrHo`<5!+C35RN4_&sY**^+kS_v^b%_lqV;zVuapdUU*WW_I`!*;y(1t#hM0 zKx@C!&`7xV8U6ZCKR0)@Jryp~QrJDt(b+wH`}M2$|6%i3q~iAVZxz0N3M=gPL*3)& zjQz{ytSP5y^+3dyD^?lvjeBsTkFv)m9A>5!w$R4wl3CP=Qw>O0 z)%F^%UY`f09-uxn|C#a^8Z(|nuQ%CU4yPBW6ErDnHWWdP;I%ye)|9v^yiQy)byP-z z647gtY*)42+fZu1!hp`T5pG+uB@){u6H|>mDY_eo4dxNd{uJgn^vu6@!|xHEy0#h qp|e`!;&mFW3a(k65Eow&XN`psv2cI0{A>Mi1z=9kF&;Cl-TE(-LUT?4 diff --git a/apps/www/public/favicon/android-icon-48x48.png b/apps/www/public/favicon/android-icon-48x48.png index 0918c9d5a5f6160a798d5e57e9e7a5501c2aca65..f8d8a7d9c05acae1a80f25ac81c3b1d2388b99cf 100644 GIT binary patch literal 2568 zcmaJ@c{o&iA3uZ1WXbwiswdOXHCbk3EOSk^u}lwQtflSD%wYzzm^m10)*F)YR)(}m zB++82M<@}MMDgZrA#~9#r6I(9OYi8W`~LCvp65B|_xpW+pU>yJ{&8}AeLU1v)~Wyi zpicLsG2|;@`9-age}fek_sbVU*ewM17lgrapa=q-*#ahnrt`pXhyj7@_~`qP0{|#u zxd9O`dSAhsZ+v5n9ECPXmwzbC*ZHX+BZ5YV3K$8e05}sg(C)!w&NE9nF#hQrz{$S(| zMeHyNgXaF-o%}?_a9~(S!Q%5O#1+C^0Uy1r2r>mRFcl*Y_OC2>!XL7H@%Ku}YlfGALOc;iSk7t%=0YUf5-bjg~b8!LI}@*#DW+ROWwOM<7HPuimM0$VSy+>Ac$Hiq%TJR3&b3O5KXei z5zts~kj3RMTQ+~AczaXmd@&62SrDB@#mGf)TrQhJBf7fTk_lEcvNf4VbfY=DIg@Av znj6i9=1id3kyp4h0V{?F@!=IN`){uGPr1tj!4t|o(;yKy7Gk@L1U&S&tSQ`|$3pz6 z-ghqh=dqA}%Eilr!7umrzk0o5k`K`G_Q&wb4?o5q;>%}VBp+_4+M{0qU{x%g<{Th- z-n}CycD1DS(UauFLSo(r@J+XNDYj3wjKbTwJRQK*#(yv3s zR!zg7hI{PAX7H}N3YMOdV=@Y;1CnnaYOB{B)hpdEqmC-ObT^o)3U9Azi*J!U-_+K` z-+9usE%Wl+E1skF+1Q>oJr}Tz*!B@S6`L>99^JFFS6^6krT=~Y^mO#>r%$Zd*q{_W z7fEOSqLKn4ATY4>>{(_h|CaVOEmC2sEo#_4QC(fVw5&{VXlTe_-MWklE|PflEH>n3 zlKt_LlE(uBzr{=rG{!`l!dHMxHsL7s`HSJbr#hyFnuvCG*+M(Dz(8t4bH8d-wZtLc z(KRC<)kC`EvTUX+F6lf zm}5leV9#B3V*HGfX+znCt-HU}Xl?I1Irt=VRvcN7bahoiv7-Ppn0GuFfhlm0@K7XK z25Me^omyY`dQa+pg;$%|*Q(vZ5;Jr$=Q^sdGxeP^=R7c;*LkGu$%>}Ui)UnpE!jw6 zk%MmPe2UebS_XD@JE}t$&GwPpbM!!*s8?$F!acJ^1wtDTO zt$O*!L*466-gt{>02HuXKm9bx+lGH(Vn9AzS4Cjc70W^wB~n({I_@Z zG0d_OI5SVJR9a}$zJRHvx=)vKFJSIM%CnoQNpla{_)BlR(?;tC5UDK&7d(Lj+N8^F zL8(_>-UFr|9;;mVtgsb-7jLpXi^hVaJ3qLDA%M)xL|?}PP$>j zH6yfuL*WCN!qs7?L((2KYH5#TDN9nHHzJs!)H_}g8={+lvb-J*Q6nnu!uhx=i%pJ! z*8BEF`5l{FLdxF#qx#a#Athno^BmXi1N*>^EW$ndE6Pr!fl79gr`t25cI>b5s?Ran zi%WHz+!Qv1u0E^T8csr-4& zkG(Fi+o1R;8}p z#(EOmLW+;s!#_gR&`+Y}8M%?FyV^Z!=i7&OyUH$y_>}qsh(hJ5%)@%;&QXck(0LDO zK=g)6;N(5&X(Nx0=@RSS`@_8nW==iRn0F+%yW)=Vf=QWo1smBlK3Z4;q%29*JyVLhKE^gCANgJ6Tb4zyk2ENl0*@!4O=t9M zUvt`r7Y=>tK2DAtn{c^lW5q5uaUEmeid7v)YA#+B?>@d4@p^)4dC>iFUmxbQ>jcl$ z`0nN6;^Nz#2iN)S+V#E}Ey)>8{Pvf9vXFK7RloIG+h1cg{nB9qB{dSpX? zre*Wi>mPJHP^Ktv>{O@!Q+<@}31i}2UBQO0j5}l7p5G7OHIeGVF`dDx8b2TQq8DV2b>|AS4ZW*a; z*{V&7BC_4GcjdA-Y1~dXp`*5#()l^-taUnjt+U?s{GRnb&*%Gn-uM0ImwPb4Q&mYv z2><|9Z!foCD1)1!AP0R9!Pl~(grK?jy8yt?1=o<}0LOO&fG`sP)}fN{ z6#yhd!Z)!1fGY<86i3t+gohe(alW2zz}L-H)qbT2swi^2B9j2X!gn)ZV#m^}P*I-m z?e8xCQbAq?lpRF$L6)-byxm+v=~E+7zHB{r_jq;VwnoPVZ|r7H(_t1239G11TnZgQ{18t%rrAWZ`n@>d;W^x}`z zoq*OcdzYHpKR%A~lheXtV!~oD%TA^^{0Wtcm$~ij>p^Do3!3E`lWGK>m%zPKB;h_-nJAgXBo6qHOo&f?zxwOAq$y%bMW5ufb*H0 zcyaOBLA*6SW$}jieX~a`4dkr*E$;0u41R305{*RYZg7Opf7-#L)7R(-aVr8a+EW-U z;(4kdM1vf>%}v#y&#(cfVYQ&#`Xjtp8)6EI%B4 zQ?a#Fao0|)cGbm(sh8Gx^H@K>HnRWA->OHPRb5N@w z<1)5>ARG9#s_5+RGh`8`I`QjB+J(foWbTa0k?~bEycVbFR-XJjT{B6LpZ&!l64PX# zbbYTN$4cO?UPkPEGACV@WOO1GrRC(dA>+SJ68dM0xC4otK8#0P8W%PYf&zD6i}kAC z(21&0@lJWrbdB59i_DrNA8)1QahHJ7>nQNG)0oT+VfYYP^=w9?evy-iqtfAQV&Px$ zF#2_^+>s2gR2%hQ1O%8)Ec{Ep@WK1s7S27MP94ueg||Mcp7zK~T3f4pM>)G2P%9xm zdNSvb5*pe?wWt;ew@jKy^8-0asFLk@uecor~zS5h|vs$@`j;rieayW#ezBTph;=8xF6<)8koBA|G1}E?><= znZ9^v zONdnDvffsMK`j(F?#12lsSd?H{Z^4?_3>!Imrg8Jpo9){5(f4}FK1|GTnN(Iio_dV z@<(r0P8`CaTh+)OueiX~CZ=phuN{FwiSmR0y`DS&^d}1Wz8&_hicJvBHiRV zP?d}Du5sKMrbXbX#H^hh`LUxfW>~W{^5k$rJ*D{R`_c=7U3t!W+*Wyehf+hsJIed5 zSz~G4>$6M3R~xa!iSFE^hF!ug*1Wutu=Cm^B6V0 zIGLyRuBuEocvx6b_Xpz)K1|x(uta~L-{91dvp;`t)e%HXpNA;)%HtHHo3Nx~s1{0xzM&p>(UyBNq5|jRmA!#M%SF)2)Plezee z%hNf6H)*!Z<3P3LQTjkHy-%lcv7u_mm!yPAv)y#k|)XV7MTEK%5O({#nQ@} zhsg_q4ZjRi;r6!5!})a$m+uxjYQEgryfB(Qr?%K~1UPMUn~wjs$GnHX1tWZo%r)t_Kkw` z>bH74d8qwsIW@wHl;*4$=_k2Vo^NKc48GALS7bLjl3?i3Y-?HJ=h^0|0(2mE0e z(F`VuMumbwK5E70(e4fFUxL`}n`|gOnHh(}xv|N~Oe%|y!ySasB*6O0*SqMyG2WXl zIGh)iL8J2lYX^*T3^xp7P~Z6chdIQc@adb#(*{EY2+{rq@nv011TRnga_^EBu>QSg;`oB+(wjtSK_U&`PkR8Yl6nhfM4r`CG1)-U74t7|I9mxt( XSV8BLY#R|n698}b0Jla$?3sT7J;{qv diff --git a/apps/www/public/favicon/android-icon-72x72.png b/apps/www/public/favicon/android-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 diff --git a/apps/www/public/favicon/apple-icon-114x114.png b/apps/www/public/favicon/apple-icon-114x114.png index f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0..4aa46d4d25d141e00cd52afea852d9ef460c3425 100644 GIT binary patch literal 3914 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 5731 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 diff --git a/apps/www/public/favicon/apple-icon-120x120.png b/apps/www/public/favicon/apple-icon-120x120.png index f740816a8891be4315a0a5bbe2f9d97c066da942..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e 100644 GIT binary patch literal 4299 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 literal 5955 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 literal 7997 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 Riy$Ka diff --git a/apps/www/public/favicon/apple-icon-180x180.png b/apps/www/public/favicon/apple-icon-180x180.png index bf1bfbf7f005e35ba508ec932288803563192ca0..2a80dbc2f684eb808bd2b0ee35a273e8ef956daf 100644 GIT binary patch literal 8727 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 NLkDgMt5>&={2weY1h)VH literal 11605 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 diff --git a/apps/www/public/favicon/apple-icon-72x72.png b/apps/www/public/favicon/apple-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 TrB|ZP00000NkvXXu0mjf#zCU^ literal 3332 zcmZ{m2T)UOv&WCr(2I0Y0a3aHq=Zle3?-D%d(=P@AoM^$P)ZO`s)$603erTRNmm5v zqJV%RMT+#I(t?1I&KJMAGxxpk%$+lPcFyi^|NETtJac9fED=T=tRk!c0C2#KVb(Nn z_SZm6wEKrlD><5D@X#~Y1AwYjwgXp2+Orti*xDQbZe9QYVk`jc(L%%@01ylYfMpZ_ zK*<0g7?9OqrA13HxtSWlfaAYcZc|Y@Ey5CD>=Xn5@}__7M4@&@F)heUfSVgIe+MzM zgBg1nx@nTEnQ)k%ZRq$Kaxzuai09ajvbw$&u`0564_8W-OCFCguD{;*%}9BWME{X1CSIgtb_4X?5on$4#5z(Xbph8^HhQIa&{CM77R4s zVjNm+l^thKI+L$N)(S8Ax^ny=sF?}H?#O3=N>(5i{5l3m>c*@hoKrJ1Y+0#xO5C1W z;TfkKF?#bKd@0AZ+6jh>W`bhGEwVQGv@sS??bAcCkVY*^j`=>phQPq09Jwh6AE&!? zL&;wv;eEYNPYSPYgOz|~;c93%nwupeVYe9Zsov)N`7ZD$KKUDWR}eCf1O4q!yqg_zLqnCB|_+J+n;ejUBwPU+BflR13%a7MQL%!6a7Ig%P2EeZ@ zu10lTym!|@ggC&>(%fU(JSyi+W_FBZ8(?M)r^7CzvQ%a9%W=%jP2pi`z5MdGabgk9 zNIsiBhmZncEs)^}V4cfe+>+{1RpR7DzD~+E>wDMNR^`8*mz_&kBy!qW~K3Ce7mi5T;IzE5jR#kda=(^V-H`mZTv`i>>&h=0_wujgN zm~*8vKS(;bTQ>9r8za!vtbC=X8eSX52M4ppjlGShd(Ou}K zyYsF6YXIRF3%Bh3H8}OA$z8bJaLhN+Trg3i)U>48y`FlVY*kwZ!0nXE0!B zh(;1cD$>#S*4lrLIIX@cmu~CP=RTH6$4ng9mD}lz-64f1^*CWjAt-DyMAo*ms!$5= zdBg)5o>GyT^{F#ixBmoAj4x2@q8ySOKl ziTD*$ML3piEp~yKOStl@Tc_s$~ee@Lz^_OjhM4t_}wBOtG~C3Vgq4R6$n6PFzF-NL@)C&n3aGeR16f<>Q3 zmDP4;3_v7mOYVMVG3Tpam0;zN8(kv1C8Pqn9t5YirB!*o;Tj|AJ(!NL`Lb zr5t{J*jO<$-tT=s2^v!O_U*b%md++ZVb{oMuuQDA$lFM_CbF-$fCr@B=s#z@Z;-sB zOYC~7Ushmp_BJMFfs}2k3&+eCY3Gy~qDDa#DBpdJ?R;}^CEa~kWiQq!!+PP;pDcU0 zLOb{CegAX%o*H?#P6*^_HpH;Gd~%a}>&}t^FO@DJ>D`ffW2+NyY0j~eyDzm`Trsn8 zFpqliu=+>Uoom95^;eBspnfy|fQ#rweH$Exvw(rl_&#A8hBDXwtZX8Qc zN1BPU-kup=4!0!0G?Co?kT9aaY*Rl4U$-Tjn6ufyaMC(VYEa=Z>H>OrF(X#5HbpLb zdiJotv<4;YbsGCOH9*&VfS83$g7Kzg;rKWW-x zt?ad^u2rCZN9MuwSnV(9^IxE_W|YgM-8`4Al05JAJvFptiy25$QM`57-)Gh?#_Sl9 z8ho#cJ*7txwltIFf)k3KwWnxJ`Lz)5|0!EWK0iu`!(WQZwrB%H~Z`v{mWPtbR+ow_v&nyvvM3crxDsE$C`i+OwV;PZeTuay^)NbEjXIS*mK7GqLY{kS9i{8_QNwwqbib z)xs&yf}cNRV#ym9n>--1IW8&Hf7V27DEerprnEJ_pRpB4bJ7tWO{N4&c7YJnQY_gc z7LP=a#FpP#DkX=;-xzOcyF01QXDCg~3%3i|i-BLnF}Fe(jSD7l=#rmT(oRi&t!fP6 zqy0I){WxM=$&|Qx{H-ziS64EnHt@ZDe>WH8pwv5 zU+Y%f5tki$L24@^gHQO_FL`tnKhP6n&sWT)jHP@muS1E?;rlxI_^L|B;ci=`z>Rk=jIT1^DAYb4AYM(~iaV{2cQh z!h6t^k~!9xT}`@KE>gZai*EVCMDlDSlX#i5KyD=6rN%^q@XSQqbH<)Xj`o;u3GTSV z(QOnzHq9{dBP`4wm2gdL|H@f|-{M@kWqWZ|aCNSZJPdupw8&;Wi;g^Hdzikj)uKCH zj#anV(&U6=hVFSS($U-WVSmaFIcL}e-Phlx{@#Wf^m!UjFX#K{x}o@(O)rx)-sb@% zMf{4eRfD4C90R)OlTfr!aO;Z|wv6VA+=F)bu}k`MN~lZn>}sj4a(n}9$khzo?PY0D z=X{m&XV2nfz`dZM#b}$tN{e%e$yXHgzNihrq;h0jL$x`w9#&EGU{Nf zPiD4ddR_eq_4?xJ_}HCb?={-gdY)k5NWi!fuuya$mgWFuu<|7ZFhl{YZmXmWRe?ak z%5q>Z6buGMI*R?D0$+a&&OPk^F9MgKsLx1UaD(^#RutgUCTuNxE!^G65!V*LnEs3i>z0+fo58x{Y>!2ha1p~hI8 zhbIA0(oojDinpUNg8$I@AI1TPA$a~p2Ft`jG(`9xh&j#|O9%_V0{>l=Vt}8=+e z=<7%D@%K=4cMZXz{r!Rz|M!zCUUF4YR#nwdMr)uoFzT+ZY7lj06)>%*n}!+$qvm>% YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD diff --git a/apps/www/public/favicon/apple-icon-precomposed.png b/apps/www/public/favicon/apple-icon-precomposed.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 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 diff --git a/apps/www/public/favicon/apple-icon.png b/apps/www/public/favicon/apple-icon.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 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 diff --git a/apps/www/public/favicon/apple-touch-icon-114x114.png b/apps/www/public/favicon/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa46d4d25d141e00cd52afea852d9ef460c3425 GIT binary patch literal 3914 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/apple-touch-icon-120x120.png b/apps/www/public/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/apple-touch-icon-144x144.png b/apps/www/public/favicon/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/apple-touch-icon-152x152.png b/apps/www/public/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..310532c4648a52f0f8282bf695eecd92b0fa18cc GIT binary patch literal 5816 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/apple-touch-icon-72x72.png b/apps/www/public/favicon/apple-touch-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..e4418058cef5fb2d846d844916a047462248c311 GIT binary patch literal 2214 zcmV;X2wC@uP)vlf}Hm6vzEMgzK?@z~JB@!^6Yawq5R$ zn!y-DKA)$xwUx&ndyIAK*3r<=Q0cO9V3{Y}0>1A28CV{7m8#Oy)5GrFyBQuHPRNAn zBA?H*b?a6(Zrq4S*#`VCzzPwuJ%Tm>y>X={CMM|a?xwdlw#aRT4I4JFbLUR#>gviB zds0MR@HA*!Tq#v$$BrF$3^@ROeSLIyccZH1iaiZr)EPdkj4O5U;6eKO`Vy{U?a|xY zOHWTvxgsl7b-n@C6VqWF9UW!w-o0tmFB90aXAh&JqjA{=SZ{z8aV7fu`xzP zz|hbT{r&yrimWg|TU_qIz(C@a${H%z*k*wH;&M-(JehcfvW5ya-e+*;b4udk#fyno zs1)qxyC^)6hw^=sR8YajnHFV6^wsDg7h0RRwrv?|8LU5@q5juzr2fn>D%fahIuoc( zGZ@?QIkYYZKw-(;T2`kdYDduY9AiIt6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP z1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTKV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VE zN_$Y9q43NKWKIL9qBzoH02>9BOp0{X2(q7QhlP1iw?C-rcMJtV1(>QKrcZnZ)-G@x zE7x~K9FhQo0kKh2oSp@wPtXI6@YEyMO>sKSyP&H6#FeeC4i%;fL30{l+e)O)!i%kF z+vO2wjKLV=^o0tk*6OB^9zk^mwylKx3^zesuQA1)LmZMs1S^+g+%o8Rb{I;HAo)%^ zv^E!~d4I(_7eriwj3Jk^7c9 z$d^9r3N94eCILsT=NJ);F^C8w?Tw62j5{GG#`iAI?E>$U&^?PWvSJ?1dtb+lPTsOD z$+xQu^T_ue4VrM*HgQ`n-(x&tL=c|{hfh^!HN|!X+!u0H6m=Ro@7zs;K-(tf&EWDA zpG?G@WIbqhJ?6)&VOq}j5D&h`xMyLaoG|i!2}nS(Lpd5b_Pt68NOB)JHh)$kCM8FZ zWiZ=TA&u??Wk_eD$Da03k(w} zJ^p#vgTh|pe~RG!go4oRBo>X(oU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IY zB*c+ppCkg$34+Uk26qWM)uIuS0Cl~ph$xu##}8;Y`C$^KB_qrT1;jjKeVi8XZ- z!b0u^r8RVorUP$*o!n3*5rXt@=RztX*AZ2UoZ@~=l$}6_ioD3pEAk-Mdt|&o^RM2- zT%Ab5Bp-8qX$1xmY*2OXA9(Wr` zasDWK1VxSYb*4C3CJNm1o43i0BrD2MWRRd6_&$I_(+g*q{{Ben)yW(|8X_pVuIPo= z-LG6=)@$jAauk^(==%BSVw&pTy+UJOdZHXf_6V{AVUFsK_0c%<4xCC=l%uH0+I(4* z(jWyXDD$2@g>@xeQH~;e9uyYbr`V~bFIL=&%J~7(RfYkW8rL_ zE=g1_m#c1VfZ4AN@v*^6$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZ zcrPxutu1z!!X1Ofix-#6e$U{%k)R~ju3ejWg|dbUHojqiBXPMM9UZi^v?N}ste~Z( zg^rGnaz&09;1E!98Pc*Wwr}5FX@BQ!2@#>Is|(AD9c@hlhm44v2Vyr(tzNyF&d$y> z>R3~Bc6PF6&6;vW`bFftyV|Q?0Ae>zsVe*S?PLG`{h8eYexoqPuzB-lHf`EeDKb`x z$jg2SRsB8A_RLruKYpBDyLR2S`^Xk8T0~b@7fY8etyJ_y5%~&))(TYh)4<<>+2yWO zRZg5Zaa+DvpuN5QM)dR&@UV!Sfym00s(u~#Eg2kwR0%fl4H0?XODH13&FHFjtulnJ zFgXzSl>yaffS)jRJjn)rBqF<`8LO^Yz4jsB=haa+Tk+rJK$#`QgH|IO^qQ`bq25+=QV+CID781 o{F*>;2noL?@TiFV_eL-NAMoe90o$o)vj6}907*qoM6N<$f&&^LP5=M^ literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/apple-touch-icon-76x76.png b/apps/www/public/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..9a76327f94bed655a4ed5081cf8c36d9a68559ed GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/android-icon-48x48.png b/apps/www/public/favicon/archive/lw8/android-icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..0918c9d5a5f6160a798d5e57e9e7a5501c2aca65 GIT binary patch literal 2138 zcmZ{ldoDx8b2TQq8DV2b>|AS4ZW*a; z*{V&7BC_4GcjdA-Y1~dXp`*5#()l^-taUnjt+U?s{GRnb&*%Gn-uM0ImwPb4Q&mYv z2><|9Z!foCD1)1!AP0R9!Pl~(grK?jy8yt?1=o<}0LOO&fG`sP)}fN{ z6#yhd!Z)!1fGY<86i3t+gohe(alW2zz}L-H)qbT2swi^2B9j2X!gn)ZV#m^}P*I-m z?e8xCQbAq?lpRF$L6)-byxm+v=~E+7zHB{r_jq;VwnoPVZ|r7H(_t1239G11TnZgQ{18t%rrAWZ`n@>d;W^x}`z zoq*OcdzYHpKR%A~lheXtV!~oD%TA^^{0Wtcm$~ij>p^Do3!3E`lWGK>m%zPKB;h_-nJAgXBo6qHOo&f?zxwOAq$y%bMW5ufb*H0 zcyaOBLA*6SW$}jieX~a`4dkr*E$;0u41R305{*RYZg7Opf7-#L)7R(-aVr8a+EW-U z;(4kdM1vf>%}v#y&#(cfVYQ&#`Xjtp8)6EI%B4 zQ?a#Fao0|)cGbm(sh8Gx^H@K>HnRWA->OHPRb5N@w z<1)5>ARG9#s_5+RGh`8`I`QjB+J(foWbTa0k?~bEycVbFR-XJjT{B6LpZ&!l64PX# zbbYTN$4cO?UPkPEGACV@WOO1GrRC(dA>+SJ68dM0xC4otK8#0P8W%PYf&zD6i}kAC z(21&0@lJWrbdB59i_DrNA8)1QahHJ7>nQNG)0oT+VfYYP^=w9?evy-iqtfAQV&Px$ zF#2_^+>s2gR2%hQ1O%8)Ec{Ep@WK1s7S27MP94ueg||Mcp7zK~T3f4pM>)G2P%9xm zdNSvb5*pe?wWt;ew@jKy^8-0asFLk@uecor~zS5h|vs$@`j;rieayW#ezBTph;=8xF6<)8koBA|G1}E?><= znZ9^v zONdnDvffsMK`j(F?#12lsSd?H{Z^4?_3>!Imrg8Jpo9){5(f4}FK1|GTnN(Iio_dV z@<(r0P8`CaTh+)OueiX~CZ=phuN{FwiSmR0y`DS&^d}1Wz8&_hicJvBHiRV zP?d}Du5sKMrbXbX#H^hh`LUxfW>~W{^5k$rJ*D{R`_c=7U3t!W+*Wyehf+hsJIed5 zSz~G4>$6M3R~xa!iSFE^hF!ug*1Wutu=Cm^B6V0 zIGLyRuBuEocvx6b_Xpz)K1|x(uta~L-{91dvp;`t)e%HXpNA;)%HtHHo3Nx~s1{0xzM&p>(UyBNq5|jRmA!#M%SF)2)Plezee z%hNf6H)*!Z<3P3LQTjkHy-%lcv7u_mm!yPAv)y#k|)XV7MTEK%5O({#nQ@} zhsg_q4ZjRi;r6!5!})a$m+uxjYQEgryfB(Qr?%K~1UPMUn~wjs$GnHX1tWZo%r)t_Kkw` z>bH74d8qwsIW@wHl;*4$=_k2Vo^NKc48GALS7bLjl3?i3Y-?HJ=h^0|0(2mE0e z(F`VuMumbwK5E70(e4fFUxL`}n`|gOnHh(}xv|N~Oe%|y!ySasB*6O0*SqMyG2WXl zIGh)iL8J2lYX^*T3^xp7P~Z6chdIQc@adb#(*{EY2+{rq@nv011TRnga_^EBu>QSg;`oB+(wjtSK_U&`PkR8Yl6nhfM4r`CG1)-U74t7|I9mxt( XSV8BLY#R|n698}b0Jla$?3sT7J;{qv literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/android-icon-72x72.png b/apps/www/public/favicon/archive/lw8/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon-114x114.png b/apps/www/public/favicon/archive/lw8/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0 GIT binary patch literal 5731 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon-120x120.png b/apps/www/public/favicon/archive/lw8/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..f740816a8891be4315a0a5bbe2f9d97c066da942 GIT binary patch literal 5955 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 Riy$Ka literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon-180x180.png b/apps/www/public/favicon/archive/lw8/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1bfbf7f005e35ba508ec932288803563192ca0 GIT binary patch literal 11605 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon-72x72.png b/apps/www/public/favicon/archive/lw8/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 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 YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon-precomposed.png b/apps/www/public/favicon/archive/lw8/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/apple-icon.png b/apps/www/public/favicon/archive/lw8/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/favicon-16x16.png b/apps/www/public/favicon/archive/lw8/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc90100bf3a0c061a211fa8dbc7b47b2c3696b0 GIT binary patch literal 1396 zcmZ`$Z)_7~7=H)$uGjYZ=X$+%|4LijKUmxAt?RZ6Ft&7TWv;Ya*)S8*uDy0Q=(^GC z8ZcSFXd(l)X^>z<6EwuBYykp%P(Nvu%>kP%bNa!A4;l^nO$>=~n@`8oN#dL5eV==u z_xJps-}Bt5fWMhk6etivq_4%>4qltv^38CT+ch2Fo=G&cH6V0tO!;R-26s!erM(TI zLn=1EIW2f#*U^YJyhDDHTqUxSqsmHEz(z z8I9bi&6$aU@-i)$Ql?YND3wgFlF?+&3~G!4(-HX^%t#Rc(`hghMHFhWd_7U5#%Yy| z(qRQOQLMuXX~L|*844>h5L?ukL5~$Pga!EZn3*B0KtkhNj0&3;GZ}D;NwL*{TTO~* z8QhkyD1lrGD}3_JC@sKXAS_0OwNO>IrVWIxYx_r-iP+9+yFrf{GlIM|B}G2dXsGZ# z9bU}qQ=;u&N8u$9M#}UgMuQ}fZP$cime2caa|g{gYV=|?C3vW~OZx&NFSROn95mk& zZFl=@_exZawfe&e>vY_D+smA!aVzvyLV8QdJ*8w*H5H3nzwEQk2MXTGmu~~*(5wb# zB{SHRI|b_(-R5gnB@d0maJH)IE7d_7H$(ecte~9q(byK40F6P!0z+6`UH$Bb8x;J- zda2#t;ml;8tc-JcWqmDYRbz z;6exL=-m0p_#5e=AyTDK6QuI-nenc0_{Z$v=$VnxQ)f@_YdI4L^#mBn zzjxG6>}@+cy7zP-C_D(HeRI=y?zH%PGhf{cE`{gmq1HQhXPxDh+Z+}4h5PY&-EWT^ zkEbTCd^lAxIk~tP)h>;_I`Przi7~N!GI@k!W8<&)Pbn+xc2S&6_Vrb9@$uI*#LP^^ z_E|CYu=f|YOJJ+Ig2AQx_ZO>KmUCUZ8oPSE^XAv{w-y(w+#XN$%^RDMS(ay6`S1bDe-e_Zm>56y{|U#o zKDY=8mRyB&DlTOsM+MX?Ndsx#=@gTZgaBKN9(JUTCO(}jejBi+95&RON%ru(Hxt%bnMaRRBb@fu}<}E+DqC@!Y$+ zeubyb4Nv>qeJCy-5ukNvvR^uqN;u<@Au*cjPdon|xw9(b=BlgfxM*FpE>;tXcxr1n hHw!g;>O8eEPs9Nk4$$|2S-cDtkgv(_ooWof^cOABiB|vs literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/favicon-32x32.png b/apps/www/public/favicon/archive/lw8/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..b8fd7965f93fe66c00dd714e3577402c8f2e0c35 GIT binary patch literal 2056 zcmZ{k3se(V8pj8eNiqRK$U75~%!KexX7V5}9wi~X>f$3jv{hR|2qC;7K}GEzrR!@e zS`|?XS`SpzRcy5)t)Ng5w;oVb4o9R1PrDZIv99a!xa?7n?2X&q+C67yes}J7zwdv) z@7_6gX4~S089|5;fgmU-E7NKNz0}vJ^T5;k#UHPLZobQ$ZHA!JJL#|N0luIk)0PcE zYa<|N!yh2%1#oS+4?%S#1U)Q(Ak%&b;#IevUy=wx{;L-ME;kJmMMg@M3Ykt7o+uMX zNl>{24VR)3QZy3t5rqRp(Xuc=Ot_C&xfl=^jT0ta3IpK;QCV+b2U7tYh7T@-$_oL| z0DPto0gI06iDY0zh?SulC=2hu})wAPK0*V1umS_vK|VOa0o-6101Qqr%wxbjjGiQItnB`HuQ5FdN>C?oX*=UMzrtp zca-ASOYs|JvRk3BD2ZKHjD4?R7KrJ3yYwQPA`OMnP&iCLQ!ESnlMOv6q{Xq|FpQpH zVpS%xYZKWu3GC`@!QSOzU&-jnELh9{TMJ+pO8bn=1`^Ksy$c(bz8C^J+_APMIM?N0$qJC$WM=Ng9c zcDYkSm+&`LeZqXd_=M$~v&Wonr@M{IeE&dzxp>_joNUOkjUtZwC7JG_+|nc2E#sCY z&5!RiC~TJ(J-nb9J~lJ7e$92`>|G7Dapx{AmL9PuyJ=|Zbj_ZKKQGGKZ>o5~*E*(8 zT9;%Yn=Hp$J8j2z=h$*aZ%q#$)Jq1##oW9KU5kPnYYvHz*R@PmekmW-Yz`V5<1eQU z*RTJgIb5T;(O`{EMkMmAGpCdu`&n~;{-tui?Z$224(#gMs;6#A?VTR4DV*PNZ1B#w zw5w%NYhs%9hp_!Q#ycfhyS=NQJ!?RCz z!1i;lY(Q&xT$oUBK6-V)?%2*tqg$t+iOI8{+Ip`(x;B(iySKlSr#vs{=z4r>D)#V+ zxPbAY>CVe=Z(z-1Q}q>3`-KY^+S|W=Hm#T#I#a$;I2hrmJki%^9PrlB&yQx#n?c5+ zlmSHQq%-}h=SlLlTG7(n?fIRXo#hPisz#k*-TMA@pJ+?6g|Eh%Gj=YY?4AGl%d0s= zb>D|Q+`*&woZq`f<`MoI`-hSb^{ox+z5V3L?T3pkroO;$?)J}AXfEFGnf*XKJG-x` zt?tp_ zr|Q>a^2)7SF4@VV8Kh?W)5(pDt%g@$`lIQWYt}|h1RFyA2F@ii=_^VZ8F(+&mr^oI z9}4WwSd%KBxae@%?aa&*W6e!XdmlW1u`<2=bi?hxC9S(T{?W^^hlP#l?V}IgHBZ4G ze^;c=%R3M((&mYUvy#&-w~gkJpALY-Ecd1@^A_2?PLre72|7qksx=DIpdj_RDz!;# zFp=t5k~EPd_4mu9znM@`Rpc(N|Nj%}Wk0rp2~uALPgSvZwY}B}m3Y0?9uq;hE9@>O zXl_TDvZ~hAI}&yfX!$;EZb@B5p~+;ea@18gE4?PuVj%TEs-tr~z8}Kdnk-)ylPS~b zc9nP`l~J9tvL+8`cyHzTMYGghPpu;XYv>R zPoC^tpn_C7qe`n%YYpmV=FVs!VZ4B)DF3Zco-GS1c9%QB)`^Nr zZ+VrAD7LS1JE|%@#ILWM(Ac%=_;{n*VRRUa^me<>pjT^2P_xjeGZg9UN-#qS*7qZK R>Fa9H)3DP3004R|O*KQ3w)-no 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/archive/lw8/ms-icon-310x310.png b/apps/www/public/favicon/archive/lw8/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..474d2d508f49a0a2a294a7ffaf296ff88a55863d GIT binary patch literal 23344 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/favicon-128.png b/apps/www/public/favicon/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 diff --git a/apps/www/public/favicon/favicon-196x196.png b/apps/www/public/favicon/favicon-196x196.png new file mode 100644 index 0000000000000000000000000000000000000000..adb05b434539536d834a3f7323dab922a8994e6c GIT binary patch literal 8213 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 Hu0mjfjv4HZ literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/favicon-32x32.png b/apps/www/public/favicon/favicon-32x32.png index b8fd7965f93fe66c00dd714e3577402c8f2e0c35..7fa29c547a657b28319a450eee8aac3b1d868a90 100644 GIT binary patch literal 4593 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 literal 2056 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 literal 1150 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 literal 7997 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 literal 8351 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ diff --git a/apps/www/public/favicon/ms-icon-310x310.png b/apps/www/public/favicon/ms-icon-310x310.png index 474d2d508f49a0a2a294a7ffaf296ff88a55863d..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 100644 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 23344 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 diff --git a/apps/www/public/favicon/mstile-144x144.png b/apps/www/public/favicon/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/mstile-150x150.png b/apps/www/public/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..4de1d9b1cc18a062ecbeb63f90db71c06909dbc4 GIT binary patch literal 13573 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/mstile-310x150.png b/apps/www/public/favicon/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b1121df62aa0a102760d52ae785b4a3c5ac9753c GIT binary patch literal 32880 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 ^=^^N>C7rucW4yqDElmEM!rhoHc8 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 literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/mstile-310x310.png b/apps/www/public/favicon/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 0 HcmV?d00001 diff --git a/apps/www/public/favicon/mstile-70x70.png b/apps/www/public/favicon/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/common/assets/images/archive/supabase-logo-wordmark--dark.png b/packages/common/assets/images/archive/supabase-logo-wordmark--dark.png deleted file mode 100644 index 821c42ce28390badcdc89636eac4c9b2316d48c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80014 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 vA-NX(8Y}$|-dtWuy`itM-ydH_dpqeoE7;){ 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 o{-EG0hmiG+ivh@g_ - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/common/assets/images/archive/supabase-logo-wordmark--light-lw8.png b/packages/common/assets/images/archive/supabase-logo-wordmark--light-lw8.png new file mode 100644 index 0000000000000000000000000000000000000000..a01f8c96dd8d3119460dbb06284d234bfea35bb3 GIT binary patch literal 22033 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 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/common/assets/images/archive/supabase-logo-wordmark--light.png b/packages/common/assets/images/archive/supabase-logo-wordmark--light.png deleted file mode 100644 index 0277fee2bbec583923e0d1e5b4010cbb9627b6ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83296 zcmZsC1yogE_V7ai>4ry2NJzJIcT4x91WD;m=?0}+k&y0`P66qX?(S~*F8*fzAI{8M z%f<4Zd(PfxcioV;@)F1h_y`~n2w6%}R0#xv#{hw#TH#=UC&ZBP4d4&FjijbM2t+6I z_zxuyT;I-MszuRH8W7A_b2#=w6ttSEn#sG{zR+;& z=G0MmkY+K;`TbRf_3qT5_f^8f@$q51U&1p0$$$TtFy(#l>QACF7>%7TlQ3(L7=34! zavGKQ&qu;|oh=^D+#30BiSHL4I=}vV%i~{%P!e>LS87Dp5U$i1h4w*wY{oYjR0$~UER5pX!^V+-!%BiYd-Mbs_^QK;(}L?MMPh9lU+P?qdx3& z{6!=o=#ZhfwQYTC`iCA>6*BJei{rbXhtZ&iHG8NhM@T>jXq+_2&AGcb7`l?R`SCQK$m9r`b== z0LemQhcLPJjkgEHER|VC@#SMYIl?FJD;YYaRUP+l?LO~vgaw9oKi^bJH2~k<;ghB{dY=)$Wc=&&XTa%7 zk!wLW!r8=6_WB@7M8n0{zCSZv2yrKQvH+^J0nmjP(7ii8C)pQ#x?)4^1oPVtAXBH7 zQ*$i*bzgHV-xETC5=?pPxy;HKD1&Mtd0ggqMCTe@PY^d|6|ykrZ%Uf4)>HlnA`>lih|ON)S{Ei&`M(iL ze2t7wpG_?BC?)z%uu#RrY2)8KCntN@pTKA#SNsGwxxRnE@4eVT^cP`@iG;{>!q&Ez z4C#4po{E}Jk)Q>uP8}gx{SlqV52`1pfqo+Zc&tUPy@+a0_{%`(TcDA*#no51RUUNA zVLshr8K(VwFLDd)l?)64jOEG|uJU#Tc7Jy*hzcl%&2!ph()O}>^oX-l}{|gU*L@H7|4Si13{NAK{L3QzO>Ny*lK$#i#V;8q z{=*;)@oA+jsXW!kKljqd0dA_&ZMPzI`G3myXWP!}YT-AT*yGcZ-DC?sS=fq3@%Mh4EkqpbytG{r!sQWL4Pvr9zWp$(z2#*WK zc`D@~IH63<|E2DNdk7|L``hXlskP5rv280OpFg=xjG$O1o+d!~RHP^v^)A%?KgR3d zFEBwthnN`tagh=4muCLrGl&2VqrYSNVH_+R{1@^irL>##|3lkAB>=2}xvTEM1i#w9 zoH+>M7b;4m{SW^|{|)@{uMfu;GR5u*yA{p-l@Aa6l-Jc2%6IA7!l;}tQ zA`6%Mlmv^u=;X=KMs-Kz9-4n~*`^f^L$2eI%~a)Bf9=57MW~+tAKnF&;2$cg{ox<) z@)y-?Lf|m0%5cfF`W~h1FQh>X=t7zFPILmn|0(V|EWV=J+XLIfO__2JH=>(&_^oT<6 z&0lehkA+~gDdMc|-FEtagdQ#IU#q6rA4UC9;hv&hD-In}Jp8}?3aA*Mf`tQ}z${q! zFa7xa4A|83hYR~3zgWwAkv}~WQ!siHfA(Jr*GjniRK8lEcM*!m?9Ob;;?t-AQD71Y z>ohzV^u9ka#0{JosKc$*_4gJ)Sm-WsR}!h+yGV(A(|j@CUE+=K0O>k7Tj=w?&h>U< z0Kg?Su6u5h-PYzF2v~P6G_JW1Z)V>UcrG+i#a%a@uI=ydE0Tk%#V=DzO}$aPiI*1w z8ZX`EYIph$k3FedWII-jFUy@hJUq1LJsMn)bwGu z>ecb}WG_J!)!xn;&(Bbx13rC>Yw?x-oSFt^ZAzB>#JUd1;}@jg_5F4t3waDk#GdTUcsp5Dg=^*wP1)>6xmObEHK|@6@Jx$`%CJv`H)9!g8w$Q19&jDV zKRU zG0QJnz8UC@A3=?z$R&|;59k%|YAG5(!(TJ^t=;Y5p z4y0bwBn@Ws3HJ(xdTWv|+?w^jfI&78BJa>a*qJ7j1A?aIHsk>jJt})t)JEy6*sGca zuN#$8b~p^(@TA83(N5g~_M_s{GnR|Pp&gHGRZSP`P=99mF3uwpLT&lr4M=m6b^xQV zXu_^u$-Qo&sDn0>I&=sK6qB9t>q?B%z=b50sd6ObIoN7|QOERXBa=7 z_3K-?%dCrLc!M8Aos1(vC3+1mWwEpqgz76|!*$`9zx4^gA8aU*G@4@)mJHuENL~|Y zQR)i#iXJc!QdtMxU0T2Qy2qQryH9?@=7QN}F)w$UB5vI5y3Bqe9d4Vs=xAr6x3!aV zV+1dhDdXULwpkW)YS`}aNETUnPBRUEj`kN?(+M$w>R}m+uJ{a2cY#9l&LYvK>3|ag z+@bSD>kHyp#O_eNpB@57$sIC;I{n zc;8dvuJE!#Fj>3G*3z;=e=RwlXqJ=^0OVQy<3R({x_#>&Bi_Vt7dxW)TYhwT{Q2Z` zOK0~H8%-ec0ic?ZNuD}gk}p`GI|#PztlAyjpSq!ua}#*pEufY>;8yCwL8yp0@^F~- z8Xyed?mqrb8fSxcRewoJGgzZ)UlN257l^MdlztaNnWe~1^T7bFoYQib90o47K!{qm~)vej7j6l ze`Vd{h`SEIL7=l55J=lw4^o#HhuH?loeAP)7=czxOF~B1MjZ?uNEeA|VJ~T7rAfFw zMYwGf=Df&xewkZ`gfB!H&1}f~*Xb^BCcQZ3fH-Ejd94scV1?bCjBn>@& zUzAY^AN?Krww+yOC}^E{mnG@;>RX~_4@BYG(eY{{jK~D-yu2`|0o-1F#Ob*E7V5V(m^FyL0V8EGDl?U zs?#mBV==;sVM;=kLnr6XHL4TR6Z&%_OgJQ2D`HyXUaDp&{b#tP^C(AcY~T;oV5{(Y z{jYr0r1QzDWQYsL9Bzng;~_2w<;H9_-A8uQxTAHj;kF;>A*k9uy*)8iXX6I&7-{W~ zQBrppMv25WCdh_C&~tA=_$uKl`6{(Jrqs+DT1yGp9& zB|&LP+)vJnS%!(w5To_@MNebB%H)Lvm0t}W01$yL&XO0Z!Pj59W8Tkbqydp4PyG)! z2X8dD$>oU4c4Sbk(u7-pLXDirth|AH5w6QKpFK>*@NFN$>Ts0GBGVbW#y48`UtjgR zj|G5AzJi@mp|!(|)}2V;hKt;_nC(exZLT3P@kyAixEtf<`9cgZe8JdW8J*J2xAc(8cQ{GJt|X$qo6KUu@UuBKbW z(M#+SjHo!B*)$|~zEQXRP_rsHt)w%n)}5VYcB538)>x)4R~SRiIP+*-tq$qt85OzD zB*WUFq?te_^nwwR3W&4?8`WAD$*+nr*1^c7g|C*?34g~aMcy7F8ANfx)NnggscaEM%N`D9)R160e|6v=|y4{Da z_sU>S>C9{%4zoWs5FQm;x3n717cm>`o`FD`srgFw^c*-9$0&6pYr{YxV5L__*TPZ5 zSM+`9pE`kyGBTil(w5C+srnbaux~-21lbqsDA0|ya*3OUNBBa1OvAEfJjiYSX(6QM zZKB{@cyuUg*;638WrVTD5}^br6Tv*-+~JBlRuur`U5%~(q#Utd0U6S!KsxUf(t$m^ zaY_-=1=Z@<+GKpJV^9=-@MUs|P|gbTY-m~+DG>Fb-o!A-3=;~5%bl8pe_2?+G?BZOY zYif?{eg^?__N%J@cqMs?|4$A6l=%_DiXSR}Z8uDsD?C+X6m<|X2pom@twJzylgL&P z>wW1E!m~{cPH-Lgo|&KjIX>kw`(1pcA(-C%kXyyk9j1$OBZzrma`cV&ARPLVW99T* zoQf>~0^u>8@2!KF^q_wcowrNRMiHzAj%(|TUdLVQ= zsiI|J0B_hF{l=HoEHa@%{*bcLak>R}!vhe0ZbWo=tNTL}wY~k33v6G}T#d(!&;|sQ zW@f|`C~(U5}*2iK%&-|9@-g4gi{ zQrPlJ(&g?KzENuKkaUKBu#KAg^~byb9Wq~0g7^Zz#;Vyx5YU;cmfpou)0kX-_^JbAe7o3?rv zVIJ0o=N4;TW*Y|3A#Vu#P`P}dKt4s88At+XzaX4>v+sxCK|anReesi{VcarM^Yg-t z`Oh~y1_lNaQr*)TUNWw@BLGj+1FPSMG0Wq2akBE|%z_u^bj%;)(uhCG>GB*XGgODg z-@s%}p>jikY+jZbBU(|&hwk`?adSqwD5fD$3aXzo+$irWi^4qv>rcdK;I4@J>CYLK z4Kl-k7f13LG0Byj?~hK_{^@g6!>xJQhEjmdKp+?A$~fGx9kN2q>87PwQ(IVvAakRL z%Zms!Xa-+3!=$;R&&=|vhSf%?OJ|2ZXy^>mw{InW=kmuRibubGWKrN85&zVq28Mc# zM3{$gehgy+fl_4}&@L&uN9c6O`Oz4*7Y#dxpf(r@zIL}q++ywu zQBPXIeXlV;vvk(-g3IP>8~<6Sn74i?iDD_x*$`_2YO_A{nPA7-mVi;4Pp}}LlRCM$ zfU%KXuUbiur3{@8kAS-^u*&VT>&$Uw92O(DhE+mBu*nB{A-t6ii(ls9$|8<>2sTIO z3~md_p3$58+lsQc^w72Bed9*+gixS)E#ADvOcaO&%lTfgILMdPEpU1OM}=VtFsx9NBuP$ zk73vjrCX+p(-yV@cV%p4Q`kqw;S=_O2?6<^YV-@+7eGc|YJ8c6G7y?C3eZ@)u>4Te zgi_6L`HqrdR41PfWY1EgCi^LJ@DS>yPV#(ILb&a6p&Ri^mKbHR5@$7UUGU^6ouBAq zTdR0?#2X;3B?W(;Uya}&)T~`k*84Sy6oL%CoMAD{&^?}q$spUmeJNBRuJf_@&vEn) zJY9M8*<9(1H1w63%XPcGNI(#Tgia5bO8veL%rK_6?2`)H4M-0V|26O8g=QowO~$CG zsFjPO7;3~uJ=xK21-8x-f#Hnzv|ff(9$WwthXZX#4gw9x?rshar%K#l0c6_nuq6c3 zxBwBTp_t#xyNfB-O)IQ^$Pc>eou*6t``w={>;FqWyyh9xKiUx+oH1OC-iJKOE_ zjx6e%QEsTocrF5YI^|^QA9-}u)=k96=4I}6{b!#u`szr332CI8jEvmJ;uuKwy#>>I z5ybb@nJBeynjPO>9ogrmIHp~mUY?HcA*~fR6>_+@EUvg!b>Ey8e6?&mttdvEA+c@j zb<^Fj4ki#({~i@XJaU`cJwwNxP;J$qkS^;ou~H=yMZNQFV6qf*gYQ7gmSEq1VKuI<8L}zzS9AFS%7v~KS)Xq2v=tyY8*&q)PsHCX^ z8VI!c(25gBuc6d?Z_WnA4U#U6_w0&0623^Hgh}?I)LpLAbhB;i^=Ed*%5Wz7M$Q%S`MzM3{$xWGlhrL|)U2aq#}S1Vd0ED# z3w2;WMufG$JjYdfD^5|rcf)ZxC^m6eP<7x%9d85+vm6uq4&|M^dYC=Cb=FDrfZ*IN}CRma_UO*Y>tfDiRuE`7D}B0>66bg4rX+ zpdIPxvRt#c#gN15>Qn6q?ZuN{5v2Bq%tznHsM#REZZSFqrX3EIzKY+Vqm`eP|Bbd& zuH}J{cSU)GBciZW#$VKasAIwS7u| zTbMNpRj}Sp$XS5LwqCC7_lMoA8_4C1qn?Rf8xbt$3Kh_U0el0>(p}G;4f+O0qi%

K`7r96NrEFV3>5cH2>=zFAC661a%j-`Lp(|_JK&S%cRv?Ylz23GE(j0dW zxZ+kf{FSkMofpq^GRC^@0Oh+9o^Q3x{PL$C{^3^0hxWYr;bL&@=HWyyd0UvGjqEIk zlG7oR`|Wkt21!t$sohXEe0jL^`6ipuNVf$=+N}`+TGhv#TlR!4YP=LeJG*m1L_AGN z>LBgYAl{|nQ$q&RBB}T{RuEw(GKz1N1FZ=dzolX--YV;!596DG*%>o&ZfwsqD}9ww zCV!jv32gX;TdcoVar+*BgXh50NxjR7%xSjRV`Z7bhPRpT2WX>gYxHW&B+>-D+%tQK_y`<-Jw9Rm$3;s`AI4c%j^k8vFS~{yWRjUj!CI zRHy7qvH4(RzdczqN3SZU<8gso@B4xUI3JGC=c-HZwn9#6({+gbW0png$d3Hw1fb5! z92n?UqH@nehO}!wxNiNzs%ck6oVf$qG_jHX&8!)ZilmTj^rv3*?DXI&49v(MD<3dv zM@XOzCu_-Ni#zYvtq?&R;GK8Zp~(o{d6E2i@_nHxHtm-Mlmi$qvci=K8BcGvFjV}r zOa2!waVsk;QEtc!b`88=2^ozna?;Y$9A|i94s0N(=3&}GHFhVFC(zBum#RWRzIYv2_{u~ZTo#| z2~&r8Gy-1gJ(m$d%0N<+%YzUQ_9Crka>#FtUq_e;rGGBz4f{IRz*ag6>zEp7l~w5( zLx~jA$IMRK9tZnwtyuon#Zx=v74lt{p&-{`#kphSCa?JpW8=4C(J)@*6uzWLDH zL{*;9H3TK*U#s@->l6j^c_XY2oSNw2-sz2=1~tg_^|RBFa~V>SebdC6^a96Eb>mny zkuOZUugxfDzgF*6H9MyU`;BbirTzeaXujZhIPrEz`@n zl`lZG1uAt{JKc2742OBtjp-MS8I~tz)*ui=$KHvDp>>L)E~zV?yp}fsV_=}rcFBNy znf!vq%dM!jm{GS@hde84FUk|hf%`Ro)sIOmCg(=gx6Fi$F$KJkt~c@*oRA#bwBL$r zg4{qPOu@@+lo}%}Q-L{RD<;r#G_dyop(s4SrP12FQor@W!EP8ZJW zopyx>0k(BV{)%Mrz7h6Er9){}sgc6xWx~RK{9bH(CPvvdQTJ|X?V1y${ZsWc<4JF3 zs@QiL3RAS~zDu2M-WBGi@mFi2Qj2D(rmzXF&Tx%yi=E{enf^@gn0%%T@lKcw3&{0A z#$lgX6+Qc2-n{C#=O|F-NiET!!|Lsb?>95st$Sl}<0f$_7Gd+P==O8d=N)H_(<&AP24&%?*Rcd`teu$s@_(q23ESGpa3rMLRN#Mr8F{aibLe{@6i-Z89q`)6M>rhDwwNF;sHP3w7QLzv6Ktqc8xV`@gt zFM9$t1bc69XXgu4XRixW?>aZxC`&;iVq(T@#-si%s>fD}pH)2^c!91PbC}6GL&_WH zp!wk*7&y0mLA2a`>7)=o?{ic8k^{8z#s-5f1I!nzsF)SNp z{rRSB?f0gI(H$OG&39g;WIT{2aFZb zmvzc!)0oT~HA*6(?4GOEfR27sbRX?YagLj&hH`ES>b5vb9XqBGP%I|=7Q^s0O~}J+ zKdy~R>DikP-Ss7FH||z?CWFd`9Q(Qgg(d1(&7@ipW1ol zlNrn?2#gI#(}opMS*-g?`gCZa*oy{wwZH;p{n>V-GOuP3e3ZAsw2PL7ywa|MNpDU?`S<+2jYcr+k21$Xz!i(r&s%~!~I6{Z4;22@;~hEZ*P z9VM&ZkVd|kydsSpHT}K`Icbe7hA_TIkH7OOj6YM0`Xo>PI5Aj`~#VPYfRv2B;U37!@_>)Fnvv9Mp~_(gbMV zen(L(8hYhAAgWzFj$>|nJk2FXT%u~1Y7+bIH0%0uxEzT=;&WkJwBx|EhovTEU&AVw zq~41(3T+BCsnt6VTsBy#bJFzHt-Yf@-OOPZ}| z(c>Ir{PdHr(GRkw@aSSx4)hY{v?Ai9HZY{B_jIHfs&4$$Fh(Zc4M@%TS$gK&T#k^* zi_f$O3-7NgepCBOlU+1&+PCdk??GXzrtYD6%lYFz%=;nZ9-M)|qausIc&$(M z8$7*nSx$FN`0r=noAhlkB<40UIW!%RHM`xgTTG4m7Ueer5&)c8!?(5BQqS4fFL<5#=ST% zvJqiM>e;<6YzUhuTSAPDWgRX#_x;AhYj(45{k0QvOkzqi)C+1vBZ5-e{W&2fo2Vkx zX5R*LlD=MFdZZZ36w)WE;?aC1E#O|2VWOgt5S0P%A<4ZcVN-?_CP$C8ggcMGW|<3$ z`%$du%N0+Ic3E3;r3HK{O#WQ4`MF>`ICbrtbTkEHcYR|I`;K^*_fay5d{PG6;DC1i z&zajDC;R~GWWisYZ{J-JZ-{?Pr)*H^JrB>v9?w_a>LQx+PgzQ%yfnhgb;48T?7K11 zwK)7)onbH6BEew~Z_@J`dK@y_s;Wr`ixzCRnXhd~1ALQOgpn_$IfOzZ?2=79&_xZF9Th`_Nt3`pwUxOdVSG;EfAd) z{5AH_?ZKh<;DG(D1KN32lriPJ$*!9^w*wtVI_LbZkqpv@=!3?DoFbLTBqa9W73InN z)*_3NQbMNbLf_HKlzi2o)EdqRN}FVx5S~xthmfqwrI9!K)a0x#i0qol6jYi{mHD44 zNTgCV6a3z?6MxQ4u_o>mFBBdA(u#|WGL9gK6Btsn>)&JA$D+P2@5j|dY4k=|@SA9; zDwds<&uc3H^ z8k>}AsrFgR+@fQp6}gqCL+MLKtHPj4RE)pFzYYlq)@dry=0IfkzsWs+=NA<**ziG} zQ7)_sgMo&}rnlC$Uv&$1*io}hqB_Y@J9d0&`plv;S30bMax@maaCgb*b?Eor`F>L3 z;y&nMviYhJ#EJp&me~>{`nyzJsiWxdr=sC2(%+h(~7uoYoki zF~A0)P!OjxyklY@Tv_fM=H$fbbLl>S2dB-YS6gsJ!vlGTb++~3negBzSrtnubV$L` zL5tB=Vl`6oYNv%xK}kCh_Ad}Z#8u(==3j0%S9))k+2cWC%Gi4bp{=t%jz3Q-#jAwk z8`-9jU{Q2y;6*Cw$5q*?PEM?L;EsjgwhXtoGqM1n7V! z(jAYhqAR)K5WXUNvrUp#_c(8RIrgGjGEY<`bf@D|(wtazKPG?lQivbSD)b0Nlqi1gGX?>=Q7D3G-MR@4S*g-lkFrcebm>&1dx9f|2pmIA;oj zQGaW4b@CBc8q)NJ4?205l`-dFTHLr3!R+K%PrPI6N+5nMw8^dFoO@M1Hf{O(Mg=n| zzm@i&YC%Uc*Lc3KpW0q+M53wCqc2huJ8Nv8Zm&qLwg@(U+g`fJXZ0QW`r)DVeS-Jo zO$ZNDW`;{@{Wqo|=Bcn}wu0Q%t(cENhjR04^W_}@y1t;}(0rpb z4FsDvgJ-x`5Kbrhz023?qETsj9UC7aQzU#Rr^2v3-(@bt=x^Ovt9UG28Blfii2x%x zQn_u%ce0fE3Csi3>KaDjCvF}2Z&>`C^4#vRqo{&LKK(WzO;_(l;!hvCW!dJ?+xh)unrkvRHYfya zzLSD8M1;7eRb)=H-oJ#+crGf}k|Qc)UX`A#O7ki8lwEDS41t@%+i-~-86|s21|G+Z zrmF_VBN>6$a7So^DnNy9Xhr(4Cw^vfnG?tD_>HGU()u(gf`np~~IAnTWf*L~F_ zu3`wzTF;OA54~>XYl9q>1mp{jR#U`1*f|b$y2xa%h_9un9kQAU1Cv8A5R>ba*n6_2 zw(Yj{JT^Sjgt)l8?Jn|p1J)gGaN*{gqsP(jeB^N>k*urs6M4UNBlU>cG#| z9)F8H9M%^~={M`1f!zoqg_U;d&~m8SD>VPo6ZbpnVw$jTTwl`cz*vZ|C|`M$f}3%G z-SNZhYhI(G@j~HG1pWD4GO#;7*^LuAQuSH+GTEI8Vy;>6EL$fij(pQGtNLmTq$=h7 zkVyr2eNCCV95*EtHLitsehqUbsy@deXQW5zJUH7&XH9-ZT0J{M`FFAUF&biD%85Fv z+utTQcHF!{jC((Hj;^OZKV1b?aGJ$68>3!2@VTO{fRxg<3L(Dsy3b=lDf@e1pxqvQ z(flgCS2bRLFQT3^X!70uF}Ftd0`DC`n`k1`UF_vp_D9t%LEKB;=q)|jMtYEs6(*yT z$F?2gH7zi3)VtoP_*Hs1uTr;<{0x6~2yOVIgCs4z!x8nd@^0h9{f!LN8~@4EQJ3(s z()O>Gd7Rcq&$Lq2pNZva$)B;$TWD9*W^{R~agVuQs!`(pGzho<0koMNEAbTvA?Db> zH7j378ojyxSn%OdpTbBK|BPOaE#+F%Bqm)W5k&?VIP)5*W^~<3?&n=?HUvj{|b_9d2Ms-yG z)4=4Sw4{Wepj;e5$+%aSm}xIZU0kAMPu}l_9gnHTG_}6rX$~$}WnWb_m)8lMn%dHN zTV#`g5lSwSxfF6nrMEo&vh37ZgujR76n_lG)!B`-Ta$OrjLVtT-x)aw_5g;~*L^wb zojg2vuPzw*JlZ-t6jU5+GD~xfr=UQS2d^QE!9qkI|*3;g;z zOxF^!Pd5r6BBGQ{-g{>*T%FZt02@gkwQXYRnt1?E~LX+cH$jC{t{^Ow5N zA;708Wf;T4KJ=^flrXf(i*f|qnj6s)2&VpKD00Sx)YuUY zN+Qx@K!+k$HvL7>n-#|?-F7&0lQ^!OIWCOyP@G^?v?$7@#(eA(9=_oCV9gq+9RF*td4a-CVc&P~M{ z>gErt?%aDj#@L^wv2#YQ3)VC3gnKj#D%bhVUQWd8+2OpjuTs^V8hEoHQnB6Z!2avo z*H;{|o`yen)EopPn~6Ij%t5XxQ;ISbTF-uZy);jxIZ#hNEQ2Z9sSGSm9izhcG}0cc zu7=G>EpWy=M*4xDU#>AcJx&BUpIC0bRR;!65svES$#N*m<<5X;yZ&aWTZ*qwnm*rE>%YpKb_w$bG!TxF3!; zaV=)!jinqH{VMH{qXsvEA@c!?p+_cegn_?WEG7+O9z8;Kts7a6fWBvN$3s(uy}~fY zx=p#7g^f3Ex@0S@Q1G)Vwz;s3v9_sG-n&q{@6v$DT(~S(?4%K^s>;pkFj8VDAdm8h zX|S!!P97Uer2HIcB6adhYDzw@Jf@~xh|9y+S-WJ1WsOBD+wBvvwf}Ic`OjR2SXym4 zI-R(6vO&LUZVO>OdGpu#mP@w{YbFa0Efr_H2<%fzF1k6xMmPe|1bPTVB>}QCeU~{} z+@rQU@Sqlounfa-9FrJ^o4HEf8(B2DVqKZvPK^->oga5^STNH(LT~-4A-J8LBP**x z%81iVkzVF^ucp(Cmom4ro@J!HWE7ZQmrev1jWVZF2ioDVST#o44v?w15OJ4?v+baL z8fH=~nS`Imy-#;|?B=Rpzygg?%O77UDGSZz-YucfpT&%Vt3a~wH)B0)R^_K<6M+Re zAstmq$<>*%@ZF}z-`!8_<`F(Iz$>I&wNF`<8 znYHvo;pa^J07&nNnIj2eNo>CK%2d(W$KzXR2)Niko-HqCCU**R+NjYweI{)tN*$f{_-T($1krYR`Ed;%7VQ_t_FM}p z>gDG012V|?R~Ul!6K!-sUeoys^~F}))Aa*UlLhmWVcBI4*;iVK)Xs^R?#IUsRJG-< zx+j(Ww;Go_RL<&AFA;~n9@f`UjGnu1z2yZaaYzpPG~@-+$2u?@4i6gBVb`Gag(EBZ z`ux%vX8n!1f?HpI9TC3uKh9!c3*0+r-I6SXu+)6qmFE|0GGneXr>JFOCcHSAkBrGN zb3P9_oq=7EZR1W9h&v^7goI<PbBW`Y=(^>; zzV&o57our4j?F-u)KW9*ejz`gC>a5=8kg>;FSb-_H7-@EN5gRK5UfuHLcmVI=OOLyrlH`WU@Bgae)F<}!ruW1JwD7ePMF*%J_yY3lhm+(gw zo0T-bm6$jr8dXW%up57$e*MMc^MfOf#>-9TAP3u&6T%;H^X1pusO~=a>O9?_{*L@z zbw%TLRD4}{>vv5Krjf*pE-|$V=bSH(b3(OZkTCxBft4&bKAKRo9f?>Wy*hHb$aM*>xdI}Bv#Y!WVs?9a%TP+L6q9x_DZrUX=3nIXa+Yr@^Paixjq-CCDIg2R6aDo zO(AEuNF`R-5WYS${{GigYVt=Z?AX+BVI?z7!_xeanpnY+#bg>mSKZ5;HBEvK<$JTS zr0~j=txnjzP7Yg+T=!*0^#7 zk-RS?8@AOvsQ7&Y%$rf!3Q_5}Xh{l0R$nf6XOCWF>E3z5gTsK~rYmU?Q3)1ITg?@! ztM-}-Btdb^{N+ixV9Dd7W7ed+mjyr#?v?V40N%>%<9KZYD*xqTlPoW;$|>R{yA(B5{JJ?UPp2b$7IYlrAdh_X zmJ_2vT7xA^K2Gd&T`tp@$$~K+jcdBK(FWBsYWr;Evuxxf`BPCGx`XKC-D9;~niBq- zk^v)EuN!e?=@H(9ecF1OX+x>%iJj4P{lu{aa}8>WJggy3=Jr+veghP`HfsLnZ-i!#T)*a?v3X6Dq#pp&;CC5vUKbdwb#%*6ZT0CYNff&| zk|wKjWzDkSf<0YYg4<1i0~;7(`JowMYfi8=KR-B7pFgMBxeaNo;zTT&Z1x;Kpu{Gx z|8YIu`1tiC=CVcVs{j=x9y;U~by^5NwJFlauFZck$0)*42l&~cNfdT{3N%Qa!+FV} zflFRR-?v0;6{9xezm;00`k}WXw)#EUTE_eb`d`agM%t`p)rLDd=2QU*+s`eVI@(02 zsg<9xRBgo*)4f(jq;*xdILl%hjZV=G!8tbz+x+cOWS=PUT*y$&+9QvPoF$Yh+luuk zXK8uaFYeL$K>C)|O7>(%-FiEcu1QWsl$GEQs537d>KZ#El-#RL;>{(g)KW%tbJRpX z=Sap8t9~`#sIi=S6F#bP)q|ILR9zA?F03+tEV@#)QW&At&txV?my+t7LQ%k$Oku^t zK3O<_I%vJSUjm1@wqbKnBz6w7DT4a7_9DyZdaEald&(2$B?=BADo)?|f&u9bAV0=}Y&yi3jI*dweo(G;(`n%z&en zDC52}jIl+Rq^;Us#I0`O93#?EAkCWUcME4tMRfwlqRbq|)TvkT&|29}jPl?2o}0wL z0}c%py!83j2r8#5f3fzfKPR2r2(*wiS3Fja#>V$>81DwvU0b#7Y_*!BDrGHY)?8l4 z`{V)yDa*V#8a(7;wbo&YoW;;U2fE8oIo5H(cEz1iR;uwE?{%jwq~JxYV$tmgpzzR( zKROP#86LA2GuzHbayvb)oN+dO z_RlP?3#BKy7Bk1dF;O0eDm?1dXO1JaWQsfUy~!&Bx#es#PgP2D)rgT*r$XLOH8c`+ zt6^*Ym2cmoSdNh^d%mi+2tZeD6~Hq$rX>#SYnX{Tpj(8(@Z$Z5Ex_!&E4n>=@F7?OAJ9Li>HM9e2$0k?f2b;Am#Ry{bQn+Q z!(gOz8GzCP8}WUCCLH_i9`>OT3GAKHJYYz*O| z9W!xXX=thK*(=w6o~#`!{0j3%yI_bcx$EfyVO(Et<;mI%S~S4*N380lMUm z(8z>8V&c(d(d%ii`^aY{wbOlI&kU_~Qx__bpJ|nuat4J=@dPOlr_;>Ja(S7g6|XnN z2@}oGo7nNms#r^KD8Lbd52=zW)uLPjOyvoc4F3*1@kw({8m9^D-VMHU^Q2M%IzP32n~tCQr*vee3qPv}e(XN3^HbY3f~+D`b{cKPOaTq1 z;vIynuCOrgbLW@Tv$>6THSrgoh_#%!!{X*4g2UR<+>FpeJK^RZ2M4uROP<*RN(8t#78<`+-4h2rjCmwyRLl+ zqPaz8&(pwg0k~W09a!@9cEy7LM!(bQ+_%+ZM4jLANTK}iHOE^;GxYdD5UkdbeTrH5 zG&P#h#+0!wxoR|vG=U**Z}QIjouGT(#4)%W9AvEcogilIw*Z=X zb|&I3OB#{Mpsx1HCx_o~H$RANK)(U~ zKzFim7NH?_LepBIsmBbBN@8+3X{1*q-iMslClfsZ^3?_uiKel9H40uHxl1pQlEQoS zFPs7;2%pE4?usw34$|9~7ELdj35|312CWNQv8Q&o$kwswnpMXJbMz!pwN}g5Q<;k6qEVx{9Z{iD@V+>caE5> zl?CHa3*+BdR)(MavjF|48ecPzDq3G3;vsuevn%o5*@2c2_~Gr^)V%y<2T}ThYn@m0 z>C z=s5s~dzte;_(ql5vdvAHlqzN&k!&D6t#?%vZ5@46Z8aY(iHpI0yNNf0(;c?9 zZ-ghuhat&VyWg_zECQdDivKF6O8`X+tlkoW84NL-1E(Y~CAP-Ay_t@;c?}1;kp9(c zNU&P5RX#LK^@n1;>3eRi)RSRd{gPj~n~jr?HOXJr>CG1LWKLUZm?V#2)96yaCe$&R zdglH@AiVWfx)Nn&=qz?+>3h24heXwr??ms-6J)CEO005sKpJ0*yLpCXCrV@~wI$4U zP0d2mN+Iy>hZTCQ&eg`ukdFz%TyL{@VcsgJfoyhyn@jaq6j@mRv)76T%keH7iAi`_!~~;GXbO;cXC~ z)>Mj+(~c+KFDAOkQ)-f&8V&n7MbSaHhJ}@X>I+{~Z*Y`f3tpn@AcUv8um_;C;k{XIZpGIr$YS_NSy#9gXU zIs(cC?4)47*?Z3SinCr0U74t@P{R<7aW5#L#FW}(XL<&jFVBuvJDPHr7-YPHbFZ3S z>>1NM#|!0^W(AathtIT|b1pJVz!witOuInBJnl0R_kKvyZZ^7;KMUg0 zV$zh%0XuwVVlY!6&Nqq=BZR+gfCK|+G04}=#-ru2c6ESzB*w~~^dHdv3kcrF#le|{g!~ax%3?k-$ zAI*MEM|#H$CSw;o)5}Mmb#Z<(y^0J%WRG9XyUjbitC1{Nv@1v4dt|q{v)fp%r4Tc9 z5EX|K2`o+ZyhrgJx$(Pk3f?YNp)NQigr=RB@>VnXy5}swcxai;zGf}>UYXPrU10ka zPA2cZ`AmX$zS_#*j+0|y8|e|nC>oGnqZUn?VLG3^M(Yj~w&?BoIb)GVzh31s!i|6L zl*lAV7TT~=V@kPB0}Z>|e^rW$!S>dL-YsgRI5kBExE^)m~mZU?UOvJ+qX56-ayt=As^2}}ghx6Z; zer4*lRAd9;Mpo>1@5s|N;G{m&k6IiFef$xa)r?H}I3urZ7ys&q->AIojz3!zqpN57%Ifit-6K2Bg zq;m7K=iyYc#ea)e&k(ql-FHPtYNNas%XR9ps{VPD64F~!jtL^)Gs;=kj%4fO4*Z?Z z#Kwf1`{`l;Qn~P@1z%aH1%K)L43Loni-YF@-pClJy5~A5GId#*FwQ?%!Ga&`mNj=E zIFA$&{|Mp?_UfZl(+1bpee0MKYkXXw?p@E)>i(D{AMDm|RBukI&gUeL;hp>^ygoe7 zTGT?zfF}(-ANNeT+RQ&STz8!C;lmPAGlO$^$8yx007_<#W7li!#TehZUZ~5^h}3)L zP?G&3qoeQR$GarN3G*~4qUa*~I6?w&D;TDDBeys3b6!5a+9+R4o{1vcSEyeQk_d9=1_D12kC_yMEJ2w^f?r zlavs+y?J+#i92^$upz@K{sPd{Xb5n6ir> zuy78OrD^M4YpCcjlTzJ*$z2U;Lq$zID||+FOCz--vvlT9X?vpQ?*ekwHG!_L@3p(| z;cklJS|$89d`Fw$S60LkD^m~4C#u?NqKv$Oe-Lv>5i8!bMLm)fz8nMiuy=SaO8j%U z++m>ZluM)67&^g`dxp5LcUpf`cKKs5oQ!s4@tcm^U=!&aYa)?<^bCxo6yOuPMf>or zi=&?wcM_vvJC){Tbx#7K%2`7>zR^d%y#1Xd7_U4lR-Sh|1ATI={`JZ!gwDJs1)~F8eXgFr?0G;z) zR-~jRuoMqK^iHBztQsO*tzX!GO5d%BdXWpUe6Ha5X>wHnT6=PK)EQ1hgU?I&l&XLH7ht9w-94xGC1urUEo!6)Xw% z=D6ax8y`Rt=yX6g5((SMW9b+SkeoG9>=-GQhul+yG&(5LA9j#MKz;lH}PC55N z_z3ATVj&mqW|;pe($dTiX7x7-W4FkaHV?6@XoAi(1gO;B~ETXo#)UU?c-2LIkL zegVK)`LgA;e-eM4^rv?8R2-tm3w6e29DCgzQ{&%Ayb35?`c%@Ssn7Zf!+P>k@ZJf_ zHP0NnfQ8(M#H~U97@gda#MiSh^S0<3R&bpj(iw#o_pIW-mztJ1c?UyD(i2mADY+JI z_Pe0rE7qQKe5;s<@5bLckXPe!dE}U)zs~tA@bq8Mp z=9$hovR<2iepz3bFm_*WLJau0pa^A4*`7`ZuAGajUdv~>F=X@^-$ZC8Mm;Zmt~bAK zSdgZ}Y1@Q%t%_2TF@!d%HCJQu$ZeKir1-6B|M@$cby>xXyRyG|o~#R*HAnb$*oHT2 zydoBDpEj_W_xHDSNy444kR?%LsL6$U?vAd4wjq+xhUrmy5jNv!hQ`lP74c|=Epndd z!z>2pd*Db(h55K=fipXz=VzNFa8`ol(m%1RNbs#){3J`elsDUta{!vHpS;zqVf$!H zS7wLwzoIsfKb{V*m5YqEKDO^vr&m}~ ze9mlVFOIjK=W|YjL=B7AF<=Hb(ej_U-8>`n5#K5-PU_F4v(a@~P(?mNO98qMlXtZ0 z?(1K=QR?F8J^+Lly((DCCi0HQ*$a#TFAQpO!InTw`Gb2zQ5kNpMHjY#yDt_+BQ0obdlpsWYF%1FOHFxrjECtqd3|2fJK&*MAK#NODKLOAUAUaETbLBr zL5GWbqHBr`{I6U%&7)~|T}OC6d7d>6nwer_xkx}mO~Wk)ApQKo>G3Gmq}ix!EQ=&4 zX7Q}NN;Yn7p&$Fpx-HsrKKNVqYo^-lnc3ccI`Mg^do^f-culJ71u=PQk zbpNwa%rA&$fnNOt4L;s-j^-7S*wzyuI1VfB2|-5MSG%R2l5uH`=TWkuqX4pyE;Yfi zrBN$siv_g7xbc`#6d^nucCGjUexl-AZ@sN{P+Y?>P@%~DQw{XF^no~RB6;yq1yncl zVPLu-d^|lo0ko|iWOBdD7{`qLh+w7tiycCEKlDBcHm)WDwN^3DYsx5F00R$DL(lXc znr%R1)lqt5c?fSK3;>DyjCq1wm&Ko&=|2RHSqatWPRR(@-n4Cne4x5-h`(c`rJvyKq-)G* ziO(qSlIW_@H(Kx_bbQjTDQ^9fqa~W0URtZz=&=g3D%xVxu{NK+ddIaYQO7?M`rD!L zkY2dRtUM1f;Q_5s6FhXhlEz+OMsjUx87`j?PkP>>h>8Sb@`BH?)V$1fNGrzbmqv~9 zvt?l@fD6K5)L0_Vz@NYWYyZfn_H3rIr)-0}FLn}~g%ZS|TcdrwE8yRec?d)$xUB7? z>eo2ovax}_S^@o}hfDyA?9~uT+Ew*dC-R7MQ(?hg>6e4K< zjP#~GYrf4pb98xH_BU1cG1;8VBa*4sv$a^6cvP_JPxW4dL_}zd&N;e1&RWgZU}~Y( zLE>_gto!%lQC4y(?{196{Ns%UKDcaZg-__~{#J9Jua+@p05km9**`T&Yr9XnJmhFC zZ9su6yuT2l+%?~fxo3ea2v^vm?kg9GdXiQ*)^AY zLsro}35aAz385vIV5r8kvOTM_Jb0i5jnUeC6S@7eoDuw`p~ho%+QdYkM!c5;@^d?~ zyxV5)&uJzZExoytMR@QDgQ!l;V%kvc`P1Wv+VzXfe^x7cV8=(MgzNgJEM)F$GG(b= zn=Pjoa4Eb9T8Y#|Q;E)kQJsw}vYMn?O%_i3)-BYz^>4o57BL*N;x}zfd*;@@$jzQ3 zM2&B=l7a*Q_F5SoK9E3TZd5;T&;087M99M|iaFO7l~gItRwm#5LwwoEa=vJuRMvK~ zS(e;lhy3mE3hQZT!CKdk5m zH1ie(HS!CXdDf%;o%r=-Ay|%>==ffn<;dh$P-bC?q1h7(zU3$trzYY%Cua!-KLy7k z4u0u0o;v+!rbq{LSP|gCaD>xnYEKt@YgaVBMMAoLxq2I6B6m1zp&x|aI}N?E^5B@Ol`ka)>PO3@;~4p85zR{_sB=#nSVXW z)1a+O+AG4HXIst9ceetw!j4)fuHY$}Vv`VvsLq+RS{o1OK&;C=#FYd1NYA6qLvvk0$P=h8qHre^`a z3stPb?T6^=u9r2S>@!CFKF`R0aH`HV@z*w4tApwK$K3D;QpaRig3~7dlJug9j7&Gu z06`GJyCa*W-^B?1l)|Wc#BT`%lPN0h7vLkhGc$4qiJvtu3-weuD7dfC(%*dE6vaSs zy{z)%-QUI*pai#8A=9{6o97(EYr2Wn}@pa}(>%DGM#{fI1kzDmKk*=Ma?8F^Fc4oROVT z5gav|{z0|#SNlDnRP#rU;+pS!#4F^)0oo3Ug0ic=e_?)2IW^4bDwoH?dky*V_26J^ zIwE=|kGJnF7nZXsrFbVb2l!}8`TeWWT@595yEfPpKJZIe@hE~G=F~QJ-L+nB+z5p7*yyGvN)01Efp_t}WdV8Pc&~?wNv4~SY6zOu ziGZqfE{Gpm7>?Ry7#a$kA$q~~;~GV^d9qO}?m^7AcO~m&+T^shZd%AJNu2X-4ZUU= z8rG%s&nQ8N=gGHC9pRQU)Xd5X+$H`PwCG>e9KYL*vbZV8062xtNduGoEw>RxPoq0hNu<_))pmWYNW<17 zj3h-!GK}+xu-Td?Rl!~)m)!{H)Pt*5bEZKX8+?Ym8TlVQGcWJS6AgGa3gpx=8BF;e zd_H(TCSNlhvPX^iBlZ!UWJ+FY#PSL#k^Ml?bCgE|cKpf{&G@tWL*=JeV!jKhQPOK& zV*#%)w@5dRlpqytAle`6xKvV^=!OdH46d8JkD!wf=-2yW&h!QS!hqa3(u;_9G;yY5 zBXF*T0eBE0&&17e)^>T`naQNKsH0&ekN)uM5hBE<4iR5EwEg$xk7xY52wFpFIqu|f zfgO6Ylg&c`=ZR5-kF6kkd45n*gi9)!cBG-x2-~X0+1GObZYgoLxgFQ7KVID(Bq8{d z#teNQG?d&kGP02N8o|bkmfTZ>zv#*o5w3DO)Jf2D7E24~*<6yuP>*<@7FV-A5wZ%s ztRLH5HVpIpPNMsGw?18fg&yV==XV2?|5n+=bpB>TusvIyV}KwL4FdS_8t4~eI%Jy z=`Mw5{;Zwq-{t=hTr~DYRCtu*a<%)N@_)4U?KP&JLESqo4;Dd^qoe9o)JnqfHgD5R zSKCD8B+jjnZvbNne?HZFI^o#eY7l;(R^*g1)XTQf=I$dOBQ^HY-1@Ghoi8zam3_}< zF|9mLqU)x1ipNS*5&>>lIZjYPZjukNrxf7><0iME6?#cSsUmHH(NbqNX-NFeKaXW0 z4*s0DBe3_YL&w!h#Do4_kzHW zMKueys-cNsyIs2s6C_U~%0AQOtY%|M!`K0L%k0wZ9&}{0(CV25sz<_$cr$8x<*tE!1hRm1G^s>y3A%~3`{P=E7Bjj&u#BMJQ84r|c%IBA=X09(%~ZMw zo(@baIkus_%AcLXK4z)zYuxcpB@r5OGAS#_8-8=unXT;nqjzsOLRs|^3+_oEO|YDd z{aT$i%4sN~o>8T;sAIeH;Mn8>8*r#H@JzG_32$d-@2y0@l$`~?ET-y4E&EpYrZ}&R z39w0<{BqK_` zod#6*{c|a){~iy~*o9ve&@nTKlb+J>WbNTFM{lG;_>19V4daRGCMAW!xkHE6vl701 zX}OT|!ESZjkF>t8BFNb8>q4@UcLtW_>&bay1%zTJHl3Ozw^qA1&=A1xuHu`>=q$^E z{Vk*sY$V6R1wnBsl=bV%8~+?IVPqZG{SJAl`cqOkr2Sh!LlmvZZ@|KdAOq6?rrhl> z#NDo1Lbu^@1LAU;=5>D@io_*{PqglMs*-S=q9jeC=!GTO6WM_2rqsv(Qa&!+yG}C6 z#E>S|Xdi3o<3(qYQd4%GRj!*9V+fcc?uRj~OTrIp%ZVEqgHA;`mGi#R6c=5rzA%Jc z<3WcTM%vz;tki%tvS)3HpqCNgyRby=S=e~>e0uF|C0a}4=wTiQ2`btx)=&wf7i~`C z?UCVc#Sa%?%+-fSc4!$h@0@JtqI> zRDjeVhTUIx1o+qscVxP*WKTDg-fZly@Bc1{y|;AkH?ddWca|&iHm80Ks8YN;t!0;8 z0Wwwx+Hw5c&lGI-z1U}MYX~3v;l_UvxIF3k-G}%{p=)nydyicRNcJUA0p)&NNy8c;k%%CjtBogPlxrtNO-n(y+>O3+v=^iEDf(($Rr`nO} zJ!i(S*kF4k1y2y=gyYDPHYly5z~%(VnV(X4IqYM6HoGCzJ~By?%pg%(NvJaEhj>%< ztEzp{N&=w1$Y(yf6cpuT-x+T0nX9w6}?kA8Bt*KA#8%`~$OE&Dlkt02^2AgD6^Wm=66l~IK;PHIcR;#O zN!AVL7EPB|#5+34pgrDIOomh73JX*~-?2$%=J#_3gGvXc{%BM^6|UbpJ4ave!CL7c z{+U++PSs>ck!;3Kpl)9TYgwjadUVwCW=wwLCF@x{8ylMfTKNgtKJR5LgK1G52GGF! zIVLtbYvGmz`7Faka-d>HMPtR3h0UlKv}(Zed~|ECEEQ!du5Xdb0$^o%;!T7-SiS zj+Q!28W8dqQm={-_xC10w+&DBIG>eI>l8<*0(rO%&0vD;Dw8celeUpJyd%;jD;{cU zFezzl$oxe^<8CClu(r0SNzdf8g}$~+PS=HZLGlw&!-?SKI0>m?+XldGZaec`v9tU; zI+WCrNh^_9fR0&_MCh_zxvqh^pIdKB9_b)A&Wp%5ozYGXAl{D?hIKtPRwW?sCp_26 z5a|t_*v!p%f%4|8P0}~P(Ig;(%m0XlG;B$n4XElCHL;pwC}}13MDOsO9AuL{`uM); zpXXc)pe{I0zn1jN%KbOPeApRZ@~wNka~9kDtYp91v*)_QZ8pXlgB7I#v~-d90Sq)D z{KD;fo6ele?HTiU_iq2f5w3u*x0~;~WQ;u$S==fT4yz$yARyK;dz(VnKbH|G{=Yt5 zEzNqxl)1A@0veOQ=AxbN3@$CjjSP4& zDG*E-wCiE^f#@c4owl2OYF$mcg4lm0QiH!K{Av zEyM8vgl%~Gvtg}s&HFMcp{>+1b3uoZ9Yu~EFo0o%V_5xUdmtmed zjDPESb{1BTeulFBENBa@*<2`Cf{~k^U+?2@h`4uSY*|gl1w-@K)r&RwK+?olvO@#v zy8t2)iANY0gWexM6T5^zuxt_*Q6mK}1TCnoU!ia2n}~tdwO^HxcFGOTt}aN98G7X$ zn{YSvopAw+HaRQqZPxB%6o$&U?hEuQ&jrYtV>v)hk`1j5y7OKQW}F-&zp(_W8ORSZF?A$FUy5ntuUH2BhfVnI{cGnUP~bxAEQ?U#vExPUT0eq^kTX2L{tYcnV;XHl3H&>H z5J6FeTGHy!DBhVDc-k)gFvcUZv|~|ZTaq5NTlz0qBcv7>q(jy@p!#l?vhGa`ZXcME zJb9*xAuPcZW|7-rURs09T4{OfPg7}}FjIGN?(y7mt&{m99O5!I?-7sVA=^&xUi8@u z+R<@zm1qNtBclDOj( zHtAp~wrmiyy-?Fl;qymr{|Lw7(e<~kJ~ngW ze3bqm*!V+az4s71yz^xoPOWPKasPuL_^o&fasR1?j%!_>dq?)`E*i`WgY^R=@5f_^ zfkE=THA;w6zSh_;&w_=Qsj7ozkjBm?{+UUa6mkBcr9dE>qhND7f<r8{jVLyyXoNLufY}nCz&Fp*tjP`*n#ZP z2!@?RC;}}qzZb#D#N*-xlAOE89R2tpTOPTm z(vZB)we#gSu@)w8IVs<$O;z^FI&-WL8lvQV)tQ&i>UlD_aKI$N6IA|bB6n!&TW)!02pKf^yYqgkaG)wdUO=$$4;KiUx~2*Ty@0^^x0sq#<4lX7U>aliW3{O- z#(srilj7P-E*@#eNVj##jL$o}Hvu9T1?tDJkSt!$-OEFXhHUuPXy%H`k*mhWzUeIUO1l zlfu&G)=@1XXODk3hYFH5{Gba7wYvMq8%lRy3e!jtI96f$UoMc?{0p*laia#(*#9uk zrCqyQ(ddm*`}}C^ZOtbBTY=U>nTbM9SEZUp$JK`_fx@R>4fJ^X2$l!Fp0^9&Y4+G= zpl+*E-j9NBs^;{;S zm8=r<9Scw8!-|0zqm9a4DTjGpiqbqZ20lCq)1CcOXeCtPsqAlV#{9UOkWSb__;?o4 zes}{L;rt!mil!-PJdMqfX7-LO;Y0S{i0p>!&W?Q@eV~tB z%~MH-Ig5?867nEaM7z%Zq=L2XVqZJiEY0T`OR8V}?oA=#`lzz$S-dC3GZxm6iIQ?a%E(EWJ$yep+XZ%_DI3g1 zP(5rN6L=o**H44iY)7I}-=Q0c*PWOXGF_5*xv;Udu}Bmdn^lz57RM6pKkmjuJKERI zH3XPx|LP*7;>GJ&)7&;BM_Y3|`5eaYCfBl9R|+Vvg*pc}N!EZg{)or+YZH@A7p0=X z`-3k)pa0Ulf|{Hba0Mx2E{CU4qf6A3SCQ&&T%R?_Ik(d4)t6DF#yZlk7AKdT3=K1U zng&s+;ClDjcSdz`i10*H?DlYJZoPc4nb2kp2Z+=B)Fz|Zr^);wj|>`MJK?20JC<=6 ze7sUb_K1Raa_55XTFp?+?a)<2tH;}2G5;>z4br$6WH-;$<|9OWC;&*`kJ`S!LH_w8 zt5O#2KJQw;(04T#6Z$yR8H>muhSbb?Op4!_^YL@r{*V&mvHOg%%9s6R&OZS6LPY$H zZ)>J;9)3c@3)X^9G52h*BzwaqmO#3%Zerz@#F=v2TuPeaAe7xlblAdNpUP#CDS4km64t#@*?K3K%>Rls} zR(&I^ZllS)&i4sdHQx6lJtmW_iwgCerooF(!d1N+MwSPofYSGtu{3ecZvF994~A-U zKyVv~k~I;45zZ=Yk*hhCdKN{83`+rz4?4)h6^P{|fiU1xZ?S8OWXs}AZI*Md9K5us z63`b5V@Iw7>#1Oj>NQD%Rw857FZMQbTzUfUpc<|HwHre-3-FqQgFi!$eVeJjc+E>3 zkRGL0CbLwbyjkH%nHb3orMFI`bfb$F$+-() zhxME!tH=+Z%UlTSf?uR7sjVL`9pe#Ucb-5d=KJR#DCXbwd35XQ91gVJTHH1KCXO%? zWlGyK0Em(Ftb|GMtOm7PvBPyn4OodjR@xhDt*lN`G9k*xKj<7!<;Mlac- z#f%Hp1S$Npcr)w;4;=6da*}0QH@mKCa#M0M&(rl{{V?B?b`6>$T&mF~nw=$B_t=_J z3*nA9kVPqz+e11q47gnTa;%y=7*Nh#Ct+-!l?yglt#r|y`3#yY_K$_32R=VnYxb6L z<|hNgsGNq|;RgJPqE@Q}vB`jnHAjp{u=Y&miLV`{OYsP%K_rFSM8)pszIT(?_3jWK z$=>R|#@QO%qI67J$OEh5Xz@(mSU2gvQPaa4Aq9j>B$?QK5zmORgMxSFfR@9clFdF+ z%w4Up0cXAaynJ86zQZWP-;z|tbA+c$@Z)N$D?IV*!6w-q@a@c=ar*=IdB4aM%a|%z zQc&0 zC;1$w4=V)y0Ee#ogw~}=ab~^vUfq6O6D#8~fO8~Lpbv3Jkx6ba*};y+<9WpCXBw7W z$Z%nVt$4&@swFX!F{Y+4u1~vrUaIII5f~_pxt&*01WN66S|iQ(&DbpzU&zFB`yqaq zOy*(Lsr=y*hRGcg>I?;M`FjoKYvk=byBA!yAKA>iety1c^~QXpFa_l}RN9 zWPflj!Fi>~HQ3pA1^W(^xy%Ag4cXgAh9NTr;&zE?E45Ik^w~W&!Y9Y15PL zMagUG5JQ34CQd~QyPgQVlS8HEk9{<78t_D zRbMx?f@J8wbs^)3Ws8*ol(j~A%2}!=*+?X(e~L?Gj#V~G*v{xF#-OwUD6S>V)m-;D zb+wBws=+S6)U4a{6$SlT!&0(~R(WBMMiWK_liC^0lUD7X*iRRmXKZ19E=BH@^G%y_ zGRAeU>9Q~Co|Ajw^RJ_3#QO&7x12h=&u~L#7}s%qXr#YWmUDv}!o=Hn{ZcFwGRqc` zBs-#d%-?@lq!Iyhqzhfe(U&(uPH1G#>6nV&E9X`V)1`-VSB zvSdEjdtz*Q|HdhU@G&UiwiIt1>Kmg?x|wwh?XLmS8vd8d{PDIQCuU9`Httx;ZMa@> z=PCM%anf-o>`1U+f`gZyYS-BU*6CMJk$Ak3t!xZCD1b2-V`$ z3>EFRS_`dCcQMLE+O~!OK7*W>{(7ce{1PS`59k|-Wg&_2nAIU&jt9GvZIFSv~aRonH|MAOXmH< zCVNRNv}G#!7HRqFJL*>HZ-+X^=P6Vb&Hb0*wdzM6Lkgk!rRiXkUR5GVQ9aB5Z~Ez| zV49LodCmPMny7p4_mZ4SDI=oza;YSCl&+XABoDtM!<|ko*n4b{+!hb(aJ<2WHC%#i zs{uDe(p>6=`i7vj`+WEqtOd zeXin3QlE2LvD2<}YB7zQ2AEUG+Z&-M>je5^yUfAAgXQV5qilku7jq@U(nMl^eH?uX z%dCRPd7^;{^kTcb0vC>Cuun7(yu4TTa?R>6+P!C@`m>oJ!~7xmFIYGRzoZ}O?LX)f zz^#)iZh##z8nPJoc(gbpewXB%BDyOEFwFM`k;70he*(=4m_snDobqmAL}zS~p= zoGqGz8V$}A(2Of&D?BV`^~HB3K0t*25oC8s;wDV_CMyMl^4nQb+_2r+_Ro7A z1cx6_q1?IbuRMv0rPy^%H-IKdRHYZALd8LmJ!XCw-{3Gyz0Podr zbW;-((lnY^J2d7tN#)bCM~hsV*ENStZbXiHa)zusvXk}oNXJe(dUD*biui8w+Q#5v zr?C{DcRtgN&=Nhc6SJgIkMh?PV>F9KTB}>cWP`v(pSn})GKsp9mTF0ZO&scJxba2O zBzeN?s|REI7*GuIrDL^N3D>Pz{1CA#i2tPJ&EnSh6^6^7UU#WhlyF}HBJ&zt_g@)K zWgs)nXF)0pfa8S>`i_dA818se^G`l?s&5$sKRV|c1&GY}p`kjot2?>;NP0UW{)$)K zZv4!u?Kq#I5z+l~6kUYJ-26WgNp(@<5~RhD<~FU-7nO;o)OgL zB$54P_pAO@eaYs{G5vt!WotG3SsuN6)*~YEE}zuk9}^b8yS$VCqRHo&B*3I7XiL}I zGglp|jR36f4cBKWZPJ5>o=}sLIIm|&tC1oV`9cH&*vV$KT|a~Cjgc@(CKjN@EyETO zNL@QFo0Y=&ZgSmy%CEyf}wn|&Dz@q36I?LvkG#pN4G zq(CRQkp&N7k2@7b7E*PiZ-x=y1MV(pSn$IK(al46Ywj0S!g_QT8|$@9wu8fw%+>zm zUt+O5KB?ur%WX|y24&I;ILgW%0$8yY`$xwItSfpUIrR#_>T?@QQfY$j_b{a_mJ_MG;As~vyGgGh6oD%tKqLMrw z6h252p!m}rwSyno%xd#=IT&A0rft~6fzwLASxt*$AvY=`kpuB=m7svt!T8O3S0%-? z@9c(>Y3a9_V^`)8Pe7krqK#tJ$kL-|H=8_2&JD8CRJ^@EeG`ccxZLy^kv*8m%ugwn1);ZfwH)u zto#C~@vT{uf3Ha&YW&j?chhopPP`80g(+4P!J(PV!vv=B{P^?DtjIsrFa6M@mq5gf%9!{K~?{M*C}0@!$JV zo^nR``nT}Gr+qp%{#B2klgIw2Z84j;0FkA?XQ)|hI4IgR*NzYa3?wDKn7{Ia55DO2 zt@A`LS;@rnMDh;pBFn}kP!qVsZAi})k$pYb6P?X+sWzX_c$Z21aZ-ru%3`&6XFYj} zV>m1SNNjbGp0*6SSaMc^orSXfS5N@Oq@UqfoJv4RK)-!z(REBaGPpgPv1|~{v^5A8 z04?ej#hPU1yZuR?tcO1k^gL`BwQ=3Ig=iO7pLq5m`9Akca}{j76y zms?=QJPM_ic~7wov%wj`@XS#Ik6r)pCCj9n$)EXwIIUOW(a-VZQO zS&2c*?t10Vrgt9uYc+|3Sp!Roi zf(fQo>C(4GlkXK%a~4eXNr>sL0?M9TWC)U)udtWQ73stvIHxIEFWaE^)nEP5Vu<7} zeT%?%k+ipxVYXMe+$wMl!}Y0+%-l`Wk;RI+y2O>O4CWeHFNsc^D@1!-H0u$mZnFE!>Uj#tiw?;p4kTq!8&h(c7HgC4a47HDz&3iX@T|$VP_VTvcU{ zqk%b{BAwVdiq!9-en^%!X8rP7G3xq~oyr0NB0cxBWyG|y1f2a>gaE_Jkw9=BaR3Nh z%X+;C-Q%7Ou~~bN@f3r$!S_TS-~Q2bDnb*MChk;BJ@NlYI?K2w*sqTdL=h2?mX;VD(jlQV8=cbKCEX<; z-D5N;-QC?aLPod5K)ONt+5P-q?Dal7yRPfh?|hGi+j#m}o>6qDRr|m=B0Wa;8?M%T4>9dv9f&FsAQWoc|&QR zqVgJcJdI2#b7YK5V%+V`NiMxc{alv$F`*)l_c+hvK>$x%PWj8tfvC8@Olw7_{1;J3 zBO|xX{{8IP1=sy~5Xbc;BplF=id;1RE;bpnNAr&-h8`PoYt-O-hU!N}EW81z#RkoB zCqO_9s~ut@I@efQ(N#Aw^|Rpu=$W`l5KP2*zBDLLh3`V#_ou!)fjC1IR2DMy4^MA& zFL8;8<@w^8T*8l10Vl#8SQp7F7z3~WQujRfkWdhDDK}T5p;h9ozLdUL3zdQ9gZ(=T zNma1aw1evxHb;4<$EQfJ&bGaU?9~T&vnFkL^YnIy1S?kZ27c(>XO4T<-a~Tu69t1q zJq{Ci`!#w$R#uJ>&?b%xK=5sKnx^s zT#ix;maOM_!LC@+tQOTMaKM`UoiX^Sj#-4%W27Z*g@r|tBzm zlKu3@mXIQ&RMGIc=%QvK=snv>QrVVg)X`U!OkYDsYACg(j&r+=t~x@-mcT-tVz|wz zkZye?Un^5e|6F+X%Hj)U(QIhuco8HTGFw?PzU-QApr@UqaKIU3yr{(6og35PtM*SW z!+*9sk%w(Ovu-%{D}S^1WNo|-17nz}o?7V8HKy&l=6wpHd%T!twzwm+qDD1h*g~=B zAZwo9S`)2Q{kDX&AXAuh|Ke+PQC12U4wTxZGQZEpv)qm^AXh&vT3n?iLT?Q+@!iM` zH7`<1#`xs^FS2mKu*yQQKy){fMRhTfb2yjs{{r~2KmL_Rt*?pdeq4E zy5Ne8yf0*!&0oj-!47G$VdYTby)SHGQ-Yi_r>m`{v_Te>wsl@zJG%4&I@@O65* z%|C5p?SYM~1ym}Ac3M_4QTaPDF8_|3>y9#dnnvWt?CBH_-NnVU)edCLBSmE{TYNUW z1QxU5<*4c<<=gvQZ98Y3BT~2NOG3P6+cHy}K4W*&eK=wwcmU!^rDNBmBU%r5eiZ*!(c2=tv1?1Pd>pccXf)V6}`VONmC@Lh7qc`E|Y{IRdv^cRNpG_k?K;aBFNI3fF4qZpuUdzng_Ye12k zQN2cr#z@H?m35!2ploi%n2As6O0T?bp`0!uLz6tLho*zgU7k!2$s=h4B{`fG@Wi{2 zVXBDBS6PM+yvHM-3)s)C%5I+0#9n()g_9>UZPOL$N4=d-LlqtsdoQS((ZBLa%Civ_nNWm zHcPQ5r8-eG%ir-AFeSrId!tD8)v%-Rmuv>HQC30N>OY-z#;R)4xsi1rtrzMJk6?mVpykz=(nn9s4{}VUW=89%g@?@lPp`MLOP!g*9JHO~BxI@64Gx z_4~D_+(FrY^>vmr$7B3O_M{R%OuZkc>B39)j_=)9{7}AaJiM!8nb7_`pxvB5GP(Wf zj#S9{f?+LrR024+S@45zE?om22r98t&*Rbz8Y=vHVy*G*hwvv-K;oBIF{OVm@-x`b zlDC+E>}nR;ERPEhkiRkWZQkI~`qc@OlKh>pc08WFZ5#Ds?H$sO%x53Qf%dMdb?xzk z0hcM2mzSdnIb0N2+JY6gN&ehCbsTO-ygeB^?$%w7)1TK$DG=|I=);_&TH0T_Vn0Ze zee~%h$4+eQO0zAy6JTqBWHVMNI#L%k49>UD{8aJ7)?cdkT8{YxJF)py9>XlIP;8Zj zFFnx-{Rz2Id?@ky809$d(yNB{9C=l_Y6!mlbAI<~F#AWI%H;XUKIgX5CUkW4Bai#FHOBSTxFerWfaPtXAlp7O=s-kH+lMviBf@9Fa3XR1 z5fSMc&~lC;pZ>%Y)bSzCY3XK#3U^SzBe^BUNt_PVM=4x#DCaQ%XP#%nh#(L)xJ{&h znQoQ~adGM1RN>n9F!PcspwMtE&7dVv5yf-sQMdY~PNOitSMZzFcv#2e91Ny%_8XW( za3z9~VODgi*9sA#(XiQj?%-i5f{G2^MZS!nO^w0a1_(S^CogG>j&feY&j;QLw3pvT zL139h&8kq1mjBuraAk>L(&Q?a8DM7#+u?-?KyeG;t~#;qCHN3fDz21(I{TxPBvVZo zV`HE<5rnM|-_LHT(Qc!2cKf10{b%EA1-AWyemV?^&a-~GoLc)m>939&ZCS-dqEgcsp^!Cke4FpuB0s|2fUmkn|I=Yb<(;(Y?}bdDT!i{FKw?dEas3 zcQSsy6p+#F#(BswIWa+*;)KN62N2nz3@_Z2@R!LVb;m2(qdpz3)>sH+_?k@aFHk26aeng|iM01nZMKz8Nx}k$-KP)TU5d)0%O1GBa5w8o`T=hl!h!G1xp-e>)*RvkV+}ekK4E?fJ#E*NZEp1 z@9Ia&4I`fvB&sS|Ywc+>isKmfzrSHa2}6$|>XV=j`jS=Q!t5<$L@Pxnum0;mip}`$ z1}EeNX|BKQ1T7j)TwnaYPC3C{c(tC6OvW#eAiu2LS!NgiTSUsu-d&G}NA-#DalttK zAfX&U?`4U1S~=U=51(rA%uwm*h)!;Zc9O35zOtu`MN9q9)WYwQ;js#zl3!NxVudNl zm)_J!e#h~M2p#fiT}~>`{up2fXUqZiHL4JWC7Nx|_BspU-Kgp=wMU>U480|u;~^)S ztlL{PW)iVhlaEsMlCgDLgwwH79JJ2ZMC=ZmF=>U>bI{2=xwgp-&;-!4CKg8;u~SRA zah&0q)o7}DIY5+F=s3TXA%1 zP5=RPxU#Pp;=x0^iI5mC2USs){r9`U2T#$(#4j!}PdsvJ*=}HyGHBi0=ZF-;Qd!rB z#enC1QfYdC)^{++krvCR+5YUipO;H&5+pSQDMb_5Qn@MtpY#0xeGVm6f@u4&u@_R( zZ#9N7F*Y8+@RW7*n+#gj`>C^K1L9W$H&%>bs~h8+n$~IuRJK|_c{&*L3rG5r1e#bh z-qxL4lT&;YU{7z{(r4NbUECUZ-iQH$LtZ7o^cp$M8ve99q$OuYg;41tVX1?KGqT0P zi3QomV61g9J@zsYhCa2=d9H&Z?In(Nyd$CXdrZobXJ#3?gyuu}QTiow6m1L$2i!&B zP9aBm*)QbIi{8^h`y8*qAI{CKm~qAaT}^#rKm(+*A&iddS2Ce5n!E!ay}c&8v>gH@ zjVf1IgK2oZA432DfG|td+#|W7iCxap38HNPt{7WsRX9`T4IAeSB1YL0H#!kS0@K*} zZ!qk#xON(cFZ)~ke<0uTgM!Hb`9D(KPk3WU+59nin8pKh(|lHYXYpheGwwLu9>(E2 z1v(*JDst}8bQI*+gQ}+5d!q4-gptut8oH*r*~g|#;yS*i5xnXDdb4Rwb74#EP+seS zs*zxG*Vc59WKsc|0A(w*QvaklEOla zXsiLPeWZ~Sr>FD*;)0?4)oj=zIgdC?VPgx_<#1!xid zC)!{B;78zsHBvSF335UyR$xmMv44O-_TsL1>%s|G@{fXuzko9o*e0+5-`qmRayO$# zDA@mnN6=OV$#UESv!A)Fz2n$pe$Y`~$Ouz2&Nl8(w~?C>#SHx|rrOes9-8~=swgWk zgTSxlA#-^J6q~Mr3ce1C@e4N-y9PVdN2^v$+8&6@y^0;WhNSEw? zvQzf%7;aI{Wp(p=^x0g_plyew(ve;Mq?ai)Umpw!7OznxVWn6JQ&PHNL_wm$MoR=o_I_*qvr}j!O zT_vIlz>1A}doP!Jv+$07$JdFkVHEr@ty4qCI+uq~xkSk2LQ>hflQ{?z%DME11^guL z<{TnLDX|e8?-gM+maUHkWsM3Sa(nnpq7qf(V69pw9!$e2B(R2jIu2WlfPXG++P~S+ za{ap=9*bm7%3lMjFBSms7x&h|nfd6eLquKvvPK6Gl+K&i4E0!U!Hn~ubgv42Bo-7d~s|LUHfW_gjG7{ZL(plUjP z5T6dq!{yKO*g)j+{0?J`rcNMNH2pY#!>$BHRWC}TSqN*X>@{(I5Y*BC7FR*xfl=!3pL?s z+#|s65?c`ts8$~R;z9AYT5IqXqY{Q)@D_5IWNH%tI34@5{r~ps1Nn|c zo{JosS&t}94sX@2p5Sj&1K4Bg>gwj@lE}KDUroGoYI4(RhO8yyU<)T4Wx^qkKmZaf zHt}PNguJZEiaM15z1ziU>(EYU`vodMk2mRFNK+`)_EmGu4#q1hrN#{ zEnNK0I!zL9Ga3l9`X{fW^^-}4$*$P)!u7WBj!$g{%~VTo_&hYcU(L}hynE`UbT8Ib zOkVzta*P7#l>)wjxE<$hBn{ID@$_`4suHIDHwat8%h}+dAElOZH2XcDNE!>GqfRv~myuKZ~k5xyQyYk=e*5ToCN zMT;QyH@2TU|G3ZmP>n=ae9yNrMlJc>ibCbyVc!a2$Ndahf;Q3A$A>`#pb6LQnE# zb_yA0Xcf?n%wJZ=cWCd#IEF{ zs_IdttW9K^xIub5T6(fI?Zk8hzlQ2<-8<9v7b4n2N12#+R_{^T+Xw7mv3m z;kva)4aD^#Vn=6_0ZI?_D1d9yPqKmquDOlbvibf}IJw_BBH$@v^x=~8(tFPtXq_=) zGyn_9+fH3IB1H_lQ08`aq?bcx6LmtI-pI&U&tUn!R_Xg^v~EJRHB&dkTcV%}Blr=G zSRd@kSuNl%ZDK&Y*1pgfVBRV_llI^w$zn>%0=7?<@niwE#1A4 z(d3#-Vaf~{fzXZOcW|(lTS4(^AMQ&CTG2bZ5XLC!ndJANrTEKQ?bT{I>4b{X5`q1H zl2-BGvW4+N^s>*{N#$87pAVHH-M6H<)O0b5(ngXJ^ji0yKO=;p+ohlhF=Gqpv?M>J$3P-itOG9Wv8F_ETtr;~pXE)^A zBbyl`)Lx+X2izXyePTfc1Y)rYwLN`c{^uybxg=(}lJ1c9Ib&>_;o5D&z=iv3%Qde+mSLQ6n z*m=vH+7b>Wbbf}6F&MjhHjs0IWlLvB;J|XHLbqw(X^m#EX8$1J176VXA8Enadzq*Q z(3@`gZ@**`KTDv~wPW8(7uj|xYFgNAs(gs(wN#-|kV-94U^9z#!)_I*o8 z!&Q&JKvs|Y{DCGy^kiDPN^+dDHYBU$ChDWq3CM<<;YK!hvA=~N70fGw7#3m2ch@sX zZw?bg9LG%Xs95ECa#@+?4Q$t33u`0$&ymu;!2%sSAn3TtQ@O+EpgEN{I8m= z4Yvob9*We+WG_3RNb)6BQSdP^+p`^S)aWlKwfs-S)&n;i8V%m4fr4aL*ZjiQXA zFV0huyUt4=Sj`Pleqjj{^S?*`1<+&5W6TwjR=`c~1)r5uMsjJhPs{|+Cn?H@)p(op zsBm1&IN+0>mmZlPJ}J8fyDdACFne7q?y zmzsGL%n}AV8cgyxd0`#f+O?^wGm5be``Xfczm$nH?A%Ji7Pgs|6?J2wR$C>QTy_bn zg5$$lxY&51nPw$o2_^(e8Ke3gj?;AP%4x6xk>1hia6a#kRnwok2nv8CzdUm7 z7c7W-g6tE`K5F|6tsAuBQY$=mttg?l%Cll(a34} z;l;&8YB)hRdC$nyQT0qnsPh98uJH@4LU;nTv6X2k{iN(La78#h#x>i3Y5XYpTe^t| zG(L|>h<&k|ffa}aqMJ*??){f}*E~MXn9*H+ua1WyP|8K-!*ERY>{EBWh-A z*9w2cFfxlfL_OUfP7HVLZh-C|#jmqUC ziw3$xaC|;lr5;?;NL4Ai1Sn}#>(`Y$5B64Pw*4$GxROn60jd;8RVNNZN}oMV{ReK@ z4k4m@>48m^LDk7wP5#FjBOP_sqq%)?`7#`{6y`N}a^v%H+53j$ps6%L#!5QX(Tk+k~fwE{jZxmwz?xw zqfnM~3`lep|d6H&-`Wc(uM}1DKUh9!u37Cv0ChW+c@>(VS&53+Qo= z4xVb;!>};|DUe55X?G-vVO|jG3c~CK4WOLLf2KqIQ)*ospNs~x7LA2Y?%#6s9+Gg5 z2%d>0&h$!Pa2oH4zVo_#n}KJN4F*w1=F{dvdXs|fWy|w5Ym=KXL2yeI@PPSyWI~^@ z!^FRJ_cecADZ96?#;t@p^Nxj2PzpUEN*XUKKRx->!g-?E?$~@y{A}NRoNw5#Z&h2B zJ3>TM4jjTMWnHs!GK1N53)gEsKQ~=ttgCWei~rs3`xT_^d?eGf+SZ0C{X$%%fDwqj zSMT6?cKfZ26N?Gj$eC4yD?;tRHT^&TWouNh!hyarv=`_j5e{O#ng;bbRut@o{E!3=;jJC3ibP(yWze5(&O|YN-d}4O^s=|ci z;2m?`gxGE?&e}9bi4!aDf?th!_N{g%^z=}l=UQnv?g4uQA_SaOl&1uc13#p?iYfl- zqBPm4l4DFGvRL#EDguQ=l6J9}k{M;|j2#w1vfG>rjSmK+F%=#i+7=4dZxX@cYad;l z#kXpTzU0qix@?WW0?ruO(teqf{l%4T{Q%ysDcGw^xKAi2TMXDTNGZ2ZXP;|pd)|*J zvrl8Zr0WWp@lpQ)Di~+?RP1|=hh=*n1GmqjhxwXB@Hw(ON-#(6$*$dQ|D8z8r9=UI zk{9~31`D=-O*W4{>Y*PEt$W*;*+kZ}lj+BpLvo_1aY$lZ==XS4&P(HrE z#>QTw{RV{K7l4nK>MwN| zQa#$`RAIjajHQZ*EUdjuGw0O0G*dp`Fo~Z*b4SS}?;wTh@l}#@WWnV>8rvplZKU`e z*rSG_bqfoy=kUMV1e19`<%dG`*zaNKYfZyjhr56XNu#O5EhNtXmSg@% zHTAuDBBaPK&$r9xFODa z=TH7}`sXrrXX7%=bNc>okf=VZiet#Mw>qC{8NFko!*EM~hRZ>nxHir9nUKR@dD9KH zlnhmpx|MSJ^X6`XO&kU<85*wLSCuYSX)-GzY;JmI*-iY^aF>A zs^$;W(s81MnRH^!Pv*hZ)^Rl_g#R2+EF`=PpT2h&)SmL>w)z$E;1l@<^~t!61p_2y zs)>z|&DTu$_u`@5_f0FzGdKO(A@j{sy=svhi7SL1ev%Np2w57HVbv0KRd~v0HIF;g?G+IT z*LXMk0C%(cVY*}dkrLS_j+^nAAt`V%!oNsC-5;|A)PAUKIJ6((yPFCC7=bhWqctlAm|+dne4;Y`N;3ElB&=vzIR}%^TGV|iXA1B z;HArp%_Cs#B@fLO#6nzIw77EI;h*NDOjOVYuGvcA$0j=_e34k(e%9k36i&Q{^!u&h9fgoH60FVERk~(p4OI z_4^U?YJo*El^B}`{o3g~q3Fv@s=f0Oi+|C{+FP0a5DL1pO>MRc8SgW$>)*eeSbQ;y zS=h&=aCu$rpy4k;2V3N;{RY>z@!q2+2aUoJ!+GyA3OfZ@Cg_c+t~_ZX%z*o-3J`5D zDlvkAHZlr}67orE6GVuQm7d(RXihm%H`K3l89fBDgT5!g{59jzf7`HmP<#WjkU zvNeuzjb_9wjNs}Wp}B`@8G0cI-SK91X_0+EyRh!FbO_mZ%WZ}SqZD=Y+zXS%CA-YFes0*H=0FUNec?%Z} zZnRmgDtGMC<6i?bF)*KKb0)k|1NVMZKQy=YoE`m z4heiXfxMUmMxhx6K_(|}PAUDpY@+$uQk{KWLEOeA1y!TAe^G)43KfE~b{EW?PVpd< zC(O7M@b66busACNR>cX{b^UdQ>V6#WklcOyR1#Y9v|mQ&7b1DoZ8@k9?lWwCK7FZ9}8$1R}cJ zY`=R_3&4aTGpQ6Kqa~}fH<}l0K(UF$$rqhTE+$GiY>6?QQ8Xs?J@Kd9+7;Y>=bn)A z;wl!7!pjb`9tJvw<=ns2wewmJ_WCU165r!1e<^hlC5_hs}Z*+0DdQ4n|5 z@xPoPP)en1d#>k?O}7@l|HM>!N+^X@*B96}(Rk|l%MDz%_vG;`*MiRSfI}iTrP#z>Jd9>g^x4zf?q#CLc-o&B!n5`EZp=h-Mc|_QW!ie?m_95M> z(}mrb$QNV4X?30dc)Is9^VIAa5*vlX5B@njb9nIYZH8jpakJ__4Le(P|_6b&hSpH zu6Srpl`X^~W~Lk+FP|a*IyYLp!cD)CB*%8ya%zbBT6D?B;QS9splx1z*m|~Z`DJA_ z1A{cxWO>LiURT|Csq2cH@ryx5`&T<4LPz2(QIBMZ9|FA|eat$bXP@ahHZ0BhWG;hV`kc6bVZNm`H~A z-COee48Dzl687i}a#+Y1#B4qMq|&&zo3E%;Q4N zWP-8T8Z^t1gu?z)D`(DoyIPJXDIZ(J!IUe>HuN6aE}ru!sV%kng}N%62VApC&reLx&mA zm0reQhj=G8UoPJxTyV5z93tTJWd&K6EBSBNW?0s*HR)P6gDnA#Uy?VTeyyz0pUOl0 z_I%tv{=DxE{4Najq@eWco`& zhq4H5zh?J9;98F!S;O#0VhGGLp*c5J#$Uy028G#!*bJ4m#n25o)*B3}cAXqoTitYC z9-n)8-Az6}Or|)iD7IxHjM9(s0e|-Y3JNRSoN}3ypT~j)`GSDkm%aM8H9yQrc^hO* zC=A{z6fquXA8f5CkSh_YR!H8p(|3LY336cpRU-s?qf$i*h93wGg>QNEJ0s|2MjGSG z4*mDn@UVb$cB>E{iI;`x=Y7t`T0Y!BO*5-^(3t~5z)JgkbcTT94Xx&GiT*fZ@C z$MJNns`!QI-Q&z_b4eX&oe4`a_wg$!0tF;0qH30Y(GN6`njAuuLk{A8!dNGE z#r9_+{!zwo8XHNLO=D`mTCbCpK-)R0{7P_#w~FH&~qdZ&H+ktLa) zQ^9_jr@=p4Pt|$Esy5MLk*9X=O6!COBaPWO#+W$RncsOX_O9^AkelbJF|(!$-r-f#VOm(jsK<~AG|to4!oBb#?dvE^7%}1TFTjjb6vrM z2M_N~WUN9Yor@a$vV%=87P*G@%5Xo(Kbz{jHwU;%`6wn|SOq1%|H@hgJqd6VJ0%J# zGSPaZg8K(TO4$Hsjea+`Gm?Y$7?jE~4MIEYxlL9BV2l?Cq6n zPUk9XCsUtAe^UAh?j%0V$-1lr9@JC3o%p-fiG}P*#NF;KU z{n6)5g4L&)7sQ`ZweK)$`<$z<4O&(+{PxDMvr(D}%I#o|oYn4>N#XudKF%ifzMZQ@ zw@y(+uM|a_=9do8y0KN1zCx0qWgMOVHraz*$Zc*XJG=}hT?20Ybl$&nT$W;W+@gWr zB9#S4$Pdc~C0lj7_5d6hcYP#24C@}0+_`IQE=F6DLDm&95B9Q z8}-i_83K!Hb>&`xt`%h!pThJ1km2wwy(^ZSmtgXjUHP)6T>S&e`2e!3*+#E2wfa<=RBBce#g;}n4s z$X4wHoQNAGyPgdWe$lG9pCZ4M7kp^51H0W%Z5w6xb+3}G642#AJU(1|AmykyU3dFs zYB~ZwP!Q@hCdaZf*>{OuWpMq&i=zlhvrIgIR`ijQ(EB0UB?rf|;!g<66c| zF2J`T5$Ruv^>MqI7{V0LxwvI=Yx>@1-fN_Xnc3Tk$XzE})ddXSbK^w_mlW}XT~g^Z zNzYX~0^YzF3$Ma5e77+7zeuc2+gVGk1|+iMwzO|+ta<0hd+D#TEdAwU`@VzN-c+>Z zZ7YUA8Ab+?TUVEaML0)*G;)syyDXm~KmAWw^9NqSux69Bq!ZliYkePfe&Ob|?q`5) zBUatIUWd#ojz*J1v&f$)#xu{;pV^Ku%mKT>cb!F{rX_UEpI@>jL)+ER2QZo?)z>eg zh{dyny7`(;-gt_zCwXti02Wl_>AmAVn<@cwTcEssPNTiW*3I>X;`gk`{+Mvj%a2+T zUKDJLMa3tkdgTAeA(LHA9{=hP)%20bGWcB!8)8@MwuhR-VchZt1G%xF`enatmjtUY z0|Q#xPg9QwuaDw=TSR5k4b<2#7+ndc9zLXqhjZA(YjdgbbT@3X|D35OyCg?_%HYp%izVS*MHw;E)y>Q9~CPO*!*HfEO(hbz29>2iI_xv>&nIEj6Zx zUcY1nI3kucUdBUwHqQZ}X`pPp(D}%>@J$xLN;WK6pM$4TaM*N=zwqY%!@55{qT!kn zrMmAkz3R0(O}ec%clGD$u6E=!NQ>Hk&Bqoc%;Wj=(%6%4lY?;8MOfooVjvF9lw+*F zKXbU{t3Rr8dpxU5xcp)Q+c=#9^$fzexhm;rKdDFA-|D*Yj5lvY5zifFzH`-SQ^iwm zrnA%hZB|f2S3qOWno+bcybyk>E~^%WtU4B5YP8%XzRed^&=+Luf zt#>~bX#_=1wlSpqYS{^~+lu>qIK~6~Q7uNFcWKAl)n*Dt z5i58!xt0^16!#h*fBJcScxWeeKX3pRd0)jKw{P?UrJ8D{CwFr6z`u%)bm$fAT9JmP zqnMaj$1bjeFe1JZ0PXFBN!~N#CS>akJUN4fz0SAeuL%x0s?h(FHX{~-3gtD^u=*mS051__O?S6h z3T7n5Z9@Z7(PVRv43~rN{nQ4{e&0IryoB%#t z-oR7A*K0>uv$PMiJiKS10O>ZX1j`@2cOMx#qSQ?-{vgrk%Pw;E&V>$dQ#F$K{2^DA zB4!EcwpB4@r$eQm8E5ihwsU71rts5WOWN)WL5dT%*)?0`Y7@uj@j~f5+Ec_Y6yG?> z`7qGO8?ZZUl_;_K`F?&#LAtbW-8kKd+FT0D4ug~F2zbF;M&aBv(-&iPj=Sb{`N3y? zqH?I83)*u6jLjd3lt@_bosx^Jyn@XqB}rI2!A7=_lkBkiFm=I{>r0VWMB@k0Z4X(@ zA_r5pi$0&s8EvGN9Djin(a@N($p#OvOwJN>tVYsoz{Z+YZCu&fp{+>Q7#}fFryfyk zHyy_NU2vUWpJyZA(Af!UsYfK@7dhjfj*N_zL>ALtWmIp##Sst>GCx#)*xNj9Ij@5uhIb~Jkiv6 zc6-1Rvx1eRMSzZYfny1Lm^de`&*k1yhyl({p3!HCFrrDk9D9A^ZAf&={YKmmn6x%u z@L>-=*`jJiuu5hvy~6)p{I!tb!MJ6uZ0`0qgqw98|9Q?`Z7O;VD5}ODq;!70HA#b#%nz>8*Y$}~$ z$A~99YsvXAKZdm{&WRk8XqTqct@oB*6srXyMuyWs4jMVhsQbz$?YZ(*kEsye(A-Sz zAq`D{9ud*Yynxp&9QmbhbV(B|CsTd$lF}t5^aCTzb$EHQ{mt0}(#E`L! zrFYQ+{9e&ApyiKame@o^T_QLmjjVLMq^)HsQnp=1cs7XGHY%!)3oud?Ncc%CRa3M` z>}RM8vUwnjX{;rg>-@8}>BYGF$EPxVvThKATr39Q&kTNk4#$y=NI=&~8_(CqXVLK# zDTB9P?;hNixRI*e6ZF45xh>Xm{#2}cXqA}%%?0^9Q?gHE4!IOxQunDL)zGsc#FcNr#l)Vq+VkCC%Nw%* zg9m^e3b9}Mche>LWLr8PUM#sA^Dp7FM?=RK&bsu&vK~R{ncKiV-wtb$9VRKRcm-4O zB!*{K>mhi2t0VrN%#+Ww3f-H)y~Y-PQzvN=nGrN#LioJ3J?@D4c<&1uep9}!xN?2w zhf^z1Lg9x3RbvCtIOdpkTWw$xp0}?WqWzx)wXb#C>g^PbLvO~W;=ad`@Sak*kOezP zYLP3l@!yZeAFs0v`DA=HDV4O(PpRdASLIZFv!fzIIHIC=ix@~@YxKG31KW}4(0@__ zB0p72Ife>{mF60j7oTvfx=I-K0?ell>nyhDMyOE$6UN{F>}quXqIh+36ErIoY~#|C z$dNKUt{*@pf`bszGVhQ;HNs)MALVDuvf4!~-%)f%_RH?sjd=%HKg2?Z#*v!cLxne* zev`>J%W)WbEXau;tWh6CDp9ZAkiZQvdDx0(oITpmfRA_8HUcr0S!+)mJFc|OGmUbl z8-iyEXy?g(yKVg`F)~_ZqFZH3(sOv0gosY${m{;KKD2sN0Qz}*N;=rEF9U|A(R)+iRs(RusL^IW0y8o9ww18eMM3o1_)jVU4+8a z^@f+FR%fmb`PmLjpG$Oza|Jh8;SII*z6o9od`hR^Fuu%rmjZdLnZQizJPOmfNSuGZ zZ}w9-v}a3Su%mm53bX~y5-Lkp_5Gqm~`}Jj}zP#SYpuZxS1V@L%e@n{Oez;Ck|^WN>i7Z(Oc8fWt%YSL(wXte z!Pd{<`tZD9ZzdLE8^+PBy$8(*Fsn(?5-T35a`~5BEK-@Rk}u?566BF890h~W-f38k zdCQ2JefkHw&eZ&uQkx0U&M`msWr>UJN=l-&Y-ju7pkG*Za_Jd(0TRA z&F!m~f}d=6)x?vpBKo#}B3cO@Kv>MhS4k`eE9h^?H`STNP}k5=8l~vD{-A;sTh55r z!0~R;>5w~p+(^DoGAjJxF;VMA-!;)(bLV#SdsqfoETIjI3@ZMQtgj4<@_oWx5fwzb zBqWxlOS*fBWoe{SVCgPtL_}D+I|ONv?gnWDB&3nB8d1R~Ww=`EMT)XpGEG^=dG zi|OQzNg8{Gyr(+X6-|>!sfZ$fRc(&=$8R+{hD59w68n;I`8V2@YWI3J?mhXA1eEXt zON{MH42Rsiim4aX&L)yuOOsv7& zOvVbC9%fw$TBUJ@3uS!%Ger2q?_R=(M`G3IaTo3h@NhwTon`6#c?d`Sp^RT$+T#g! z2!{ss^W7w8o_R#fM&KU9-m0X8NOoWx1k@t@kXc4gvBmpKQ_OVm_MQSYCyep_1U~nK zNX>8+Y!3wA9y-%m*qA>RFgpIqi6-rW=XlV3JdYESsdUZK>;S8Fv5>~d1KM|7nNGNL z-sE`6&t9*kivgj7!hK~xDdLAA-oxU7mP@ExIqJ{L#yXXleiJ`j^?O9ZeOYCjD*~|Z$0|S*=kXAO;3X`MD z%e&8(p6!qER5%9R#ll9HR(#sF$X_=%`X+;t@|qqAAW(|C8WTptw3Bmjo9s}NQT8W2wwF<^-wrSth!Jr;C=-tgw|f4@rTS!4A9((G8xO(QKB!=Gg8# zJCBofid-ClrQ{Buz|5F`1H+S}$H&Jt#nf$p!|NeBvz}2T|0X-NP!ue(CBuzHub*lD z5eilP-Yq?Dhl`t70SAB2pAAT~UrUYFK4432IZGbmZ30EA(9GJpKZ-0mY_#5dsUU^o zQs(MyaR}{?$Iww@s>-%)11ya>hs=~Up3&6q^_*CA#khQqO1mxNLyr<0M9s0p@v1pk zq;epUOafkKS9fi&Pzj|v=w*>ov`tO072P1WalH;%yg%-Pcy+vCjjU5M!mg)?SILO= zL7>Ftex<+2Ji6?@S(G+O3R4mj^x6VgYxA2mcPyJ7HKETpr~-gqTUc|=4{aE-N0_}= z$pBrw+?@G^b;0M(>jEcBwXw9ktlgyo9^V`~frP9+06gJwReHX9V75OD&?mHpIQN|W zpZHTpKK1Zix8nPwDtS6t^q^%#}xXYf=EZ z8l_qDbh5;i_%7XR0Lf=bEe=LmPANjMzt5CE*Unz>dv}pgFnYRpsZ(?`1Z3eB-Kops z1LnP>XxprSRGAv)+o2QRLiw(mceehXX+%&F4uf_+{A8Mf&j9l%fMaAY+lO6X@zO~V zZsJ$n5_PE6=^-2Yl1zh&X^rdL*G0j*yFOvV`w;hw|KseVqnf$i+zT9#R`2ZNgZB;l zy-6Bk(o0zhQ%zQnR&d)BjC(N*Oe3f%9ndR(va`th$*}Rv)mA= zT~6Ex!C`^q#c`N~n1U~_l5-M<;K4ve+cD%TOif(n+T|s3=qAh8Em0VvvwdvEf0;L0 zl1dnLii4f?2OnEa$7LkBset?S`??V?1ncpEdOY{jWnG3Bghmrx;TI<>E>%M>=4$_N zuY0p>h2HTm?6VsTUPvK{u3zYa%;&~Wq<~`aU4K7=F-Wai#$BkNc z#ve4Rw>cd8r;*k*Dv%x zSs%zoKM&qG(sRp#c__EN&3kNXm%1Hda`sciFqgQ6vp;$&+zyvsCIQEm5-1Er2e+mw z4Ol?&UY(QdTY`p~mt1+i4w?b!7cNGp-%TmlU5oI{z@W?w93(k*oE291Af>AOeh!}D zk7jOk{zTh&+O$EHm*G}8ZZg>r_PFO5%uorkEM^qt4IDXk!T-n*8bt# zENG#Ly@8}_O>ix;cY_i?yxpQd5`(dc< z?6Z3aZD#-MawVqg;k#Xv-ZIzwk5rc$RCrG+K<jqIonC#t^U>}dq4>oUi^t%vpIN}PaB%SY ztlB5oJNs3i?q+HF$)7DX`k}dR_~@6J)9%VlhE_MxI);CqH$DZdy_e^s+B(Jl zQ>%aPyck0nI`b^i7Xhca)mqthPc7 z+{83E1t1`h_VZeW8Q(b$YfnpEeuTgJWs*=z6#~{XV|0jyLAiGK$~1j?v@F6Y@uE#} zOTFtdBQ^QXd?(Gnkhpzvveeo3>>}%KAj=jZrZKHPtrhg>^~6Smt~xg5)`xnJ%Qv`L zg1x^SNI*wd)kebF`0m>vA0f?8@KQ~!c&v%sH=(waZt}ZJy3dDSftj}wcrwtIDp%iI zpEPKWTN_*}7{)M_RhGRY~%bUY+Wgkcda? z<0l1vIiog#A-ZdtUGVUvlbrYle=3+9%$XS>`39zYeB)|1HuA=%3l1_M<54r-KY5L~ znTmxpo$LMlfFZH2j>qu&kDH(t9|18&BblYFy#%2|pHqoz9koe^&3N~C-Lytwc3^S_ z0_o$s89{~QSdY}_{1k>Ze|4W{FbY{PLTg=_2LU=2k@TX`p)S}dFI;0%%|k37;lg#m z{y~zvjv&X#SlGC}f@9={RB!c?9N_T#WU$3Vy|zL?pz5zajUtR$DMw>fMMe)tBi|QB z$Kmpm$uq#<&7|N3_Qh9j4DHtd_@*OAJK;&~(FB%Sn-Rr4;oWV=+R3c9#Yk4``OAy( zUi^4o52kD_^U% z;ZNPaVuN@HP|T0+e(JMVqZAT_{1p~H{m?+nWS1x)(sX*YM%i*|E}(Z$WN-&XsaUc! zi&!VfSRbe$?y9o#?7!Gi-?%ZBRQ&|cEx@q)rP5p(O_mR6Cb7sDwB3Gd(TwwGxK+?p z{B8l-SUSKy-nGKb{-J6e{{2ojDMUE7&#VB)oBwjcn8zuZukxb8fmb~ok44H=bzyiN z2B&kZmEJS(t)A*Ca!uaT<_-3!t!F`V$|xvPPyS|>BJ&jJQe0pbDHJQEgh2vtcuJ=s zV3Syk!8inMMDO{P5ff3Rl{{kiH~w{C9_bEfpUDl!Vuzz3c!Jwk1uI?j@jr}!0oS>i zQiPI$7Ys?;EuVBhefyugKSfZwrnx71@m#faZ!eWDaoIFhG$y1M(ig&;52u-D{!y+H zswlWH-Ur4tz+~#4MH?+6t%$;W*uv6n6@B)RcyXo6r0q?=BxsgM93n*a_ z7L4|Om{OTc5b{@FSQ+IM9tIux7hoROzI|xJ&PMx)fy17jr>59GpFu>DOELBcMPyOv zN)c>~xH?~O8v6w|(FJBo!Tyk-LR_?)3fGY0t3_gSZ0MAQ?EK|w2dTh@d9IhV!SC`< z1PmNudv+g&zMxJLefOo)>=`0T{}iTguv-M>c5T%azrg|Yz8<5uU$|A8Jk<6w&$@3v z=f0L}ren{&Yu&7=jmM8@NaCHixZ-RX#^1uK-Pp;Oy}VNXQ@3)y%(rP%dj`>}u+9_q zT8pE+`zJSIE)^m09XGayvb)p$O-r%X&@ZB*y^>YEX1fn3z|eAGXKh4; zG|DReemu=(#z=Gg;bd>T4CuQZkNg`!1J1mdop{eYiq960>hcZCbHRTK>F|qIJt${w z)X&LFW^c{;;#TAn`tyzu$4OqByh1fyWqRqMiUBYqvn;-YYnxS#wQxJbebJ}L1ggEf ziE-;Mydeow&h^M<2^V|4)MfShKo`kq=}S45Br8W-wOMxXQl#N3%eYUnS~dT(b7+&= zn5VUczq}P$8RR z$#^8;%!32a8xLji@gVDl*jBpkCMB<9e*C(c?~uI@N>P4wT7d(g{g)dZ)rLiP>T{G> zd&|E&J3G^W?Txb+UgGBfs%!<3Ra5d}D$n2l-L$OtnQzV6R-kMY#lfA1u^UeDt9~Et z%=UILV0B}m(!meG%{6QBzFWZ?w;db@#D0=nt-8)RKJ~(jUvM-xvj11y-+S$xQYM|R zLK#5Dl-k`7Rr&h+vmOc?bC*eUb0+?c;un8K&TBYE)Z=d1F@YWt+lHqQ0lo<|I`NN||5H`#yKS z`PIX!Jh`r!j^MoNr$~`5OhIsxb)wc&7wcGsdMGF}`A=Ycm(KghaEL=AoNfOYb_`Fl zh77>#(p9@FH=qJ+p$EwxtMSfeFQe;e>*9h@At%q14NZqG&M1%aDlx3&?vLG%qc7Cw z1&~R2E=WtR0|pJX>bCw%btSfOC^%c<5Db@Cy%S8X*-Xb!Znf1hYRk2D@uF;hJRW-k z{ekk4ebkL8&e@kddN8|w1f+drXmImM)&W-oYuNS;)@9r3P zI%f^B6cXAR{#WjyFpM5KwVK3&W}Xb%oR1J2`BZL0z6U~syO$#;x&nVLkJ6L6WjEG;aj?E3Ukb>puDC~#)GXbO9+%7* zO*y63m6zTsbUmCPW>fBIF9M$Q^0Nozg*#1E_3>23gBr}ObIeGZefB&z8=YhN1s?W^ zgIV(cWuTjtV0J8Hc1!Tsqka@@f&O?o>p~V^C6?gZNr;VX=IeDn^3|wo*7uO}IUV~l z1y`j(650gU%WH86ek$*#TVO~ncWVAYbOR1TO}UWWtDPP*$P>zTCkJ_ce(?M6oB3sk z63=^!5VDiH+(YtkDtWc&MJ0fchnGDw_@(FMhw|=_x=z0>YZ?oNq^6Y8Dv4ZZ?Aa}2 zvmumNOl&JFDp_JCYm?!0bI3h===*o~qvFJL2q3!?!19DGMuS9OcXCVgd3HycifG?a zV&E}AC%{2=#Cpa&sTByk-x3(f_*wMfPlJ2%gIh0 z0tM|;gn2EsoeVNx4qDu`<>C3_mz2!B>HiJ-+( zwUo3EX@Ht-j4WtbnTOGjpT!~)@d)zTb856-GUBafvURUqCI^9em79NTyqRTqCX=bi z?WWT|&o8pa6YB(lT(~LZCZ_*vtso+ z*4HEtDnQ*Y*qu7v1ODLdYHjsw!xnc%q$g1|#JF`XMdVy3cCb7;I<7EDXChB$qj`aH zRax}hHlI$k$i&P<%h&Oo9a@hLdh2c7y3RS{Bmdg=IXi3?e<3eOwcZMQs2T_%Gi+fD zW3inNr{w3|=B>rI=hRPh%#yd4mp=kO3MV8a{MLEpt@~#`jlWb3kRBm^W}3cS#gHX& zH1P>AqW4DYvDW9y=M8kbuRFsa*!GH$x%IQ{5v$hOmPeq%uDRkxF{ZwoE`OZo6DgkcoRvCn_iz?!dg@>f9OTsKkSP4m7yey@_IUbYTv?GkN>#S6S88g#-={K#sH3z#fFoiV!o`h%2w%UaWZ!qLi0sFyCU6dwC z#y@)T&GgpK0!|nr6T7`!=|y^NnwD`;B()-s>sG{&L`tU5?m(@RAC0a$hfWrCVTTlI zQslOMznICD!zZc{fDfv8I%(+`Hu-#6T8EX|&=3EWySG_eT-H{3C1Uz8meB6qrT3f~5m@|v><}{=2Qh@HfM6OK5+^_vX!ucczhs04HSxMmsqpS%kx`dd~09ecy*WERE00bnV$bz=f44=05`3{ryhoVdf zG!4zkEXl}BkIi4j=>&%V3W=8={-B+~T(4t&8rx+?$C-Z8799d%i)^EJH(dZK9Wbw$2A z&_mCmd*7;%1A&4;b>f5pkf1A6VKgqqcVo`R7mn8%jN>1Fa>qVYXf0RCr8i{h>kh<5 z!KE~7hJMEt=I4EYe{kti2%V%pv1<0@ngn{82&Ex~B1uK6@$JmS-Zdu~+-a$NLeG<^ z1Q8paE?d1^_IgE{VqTb`Op?pg@OsRjCx1xB)qNm?!!Y8gJ7mnShL(b1qH#|9c(bfr zW$E3q=Z2{)qb15H!Mi;^O3NpN&G8!ZvwrXBW7&ihOORKeK_DSmE7SXdBF^RAnc!*6 z=h?vH>T{lZPuuCfy;wW}Sok22;isl{eO*}ftBWL%z9^t!%swdEVn2AhW~kUp3o1)K z5iCJi85MhB{xgEK(p3t#uS}_^rn-ig>f7C3_-hur6_wm6ZRaTTx4M1`v=kKUZytLR zA#CGvx|o-5snhywQ?(Q4nA2-g%wF`g1`4d5A{;_{38iyX?jz!gY5da2ekU-&cr|Ra z7B6^?8*+AU6%?|sD?CJMXL#cr!T2zimEauCw3o`lY`Q&fN|a?6y{pVqCkS%lb02mR z@n*r!)_C3;f@y>Eh4}DxdX%`qb(?%QZ_9H)AJKLL7>EkVi$pW<6`*!hS8p@Br8mXA zUI2_#n6KOEEZr} z8aQLETY@bnx0N1E0{;Uq1Q>+WuE^SD8@$!5lB;mZOJF8Cr*iDX~g?vwbN5Ym< zW#|f4rAm}qy2A8u_6mY|lwGKm{~?)h?O+cn)5ee#*HV)vulnP=GIK`{Er}RbT4@shy}zdZyU0WfcV#3EeRo-B>(> zA_pnaH*ivIC594Sr)n82p|13L|GTo^-#A%R(2VDx_akc;h{!_*SbPX<=FNUZmp)1M z-^)j7W;zl*cp|3**x+x@WDP3*6C&(?o`A`)f|?nu`w4l0Hvfn4iQ{!C+urFv1rhRSj zoNa(kGMy%*TO>vQ3v1so1h;rdp}5bZT5@?{HGYl@FU}>dP_2?9@=;N!sgNz1kF&0m zjCfB?Ro1H`8j3~Wf=Z>B?Pta8WBwAi-<8Sa*sre3>Vcpn1o9x2Bp`Mz z{8`S4Gj5RF|1s@bRu&$}7+3pb&;VswkKq=1`yVa*0GDp=$y-@_KpTv>A-?3q{Z%dt z@bDgn6uP=yqN6rX>Bf+8Tc>DB*#b+YiEs3a<^An#nF?bp|v3vI0n#=WZuNy z!KN&c7;hom(I}NnKJG}veC+d0izkn_O|E3omKO*GG)BQWZZn*%`#RUY*5|*4$NF}Q zrLQY6oh;ubn0za@)US<3C&xE+&K^r z#0@aS=%DqI8Z}d0`{%!)4%$EZzSksE65`FOZ646?8O0IKk(u8?r zg*9Z=1jl<#*T*rN(s2psqWgd8*3^DR=ke(xot+A(Isg&?2_DasD zZuB#IOjF67|GRCR>i7|(LsA0C^;dBc|5K8uN(DT=GYG%y3GY9hPE&-|#=*u1W}$#; zEv>6h8OuZgje%=p_oi+sT9rqnh-yll&oADJ*^fv5Gl}B<>1zwx0jNjR$E2>o2C=Vj z)PF~VY7mJ~gwSImbm%{b;ji*2>f*Yhe->ET#MC%FIE2WMiGY1Y_b_5q|H3#YwKWyPyf&Z^{0a!q zTQgQ9>l(ELV*$jeP_VKgFcucl3VCu)z{JJi2QToO~rJ@slmP?sWm?*9~s^pp|wcmw{>QC&4nFa0K$ zg(VgUfY#TnD{ghlHES&U?9{?6(Xuu3K!?H1G#$VKlI`EVE_j-P*21CzZVKf*1gJ_g zc!twV?_pvDY7vATyQi<7h#2g`tfOob#Z8TpTmuH;$;|Pic%R11aa)gGbpeE4$Q!uG z33ql8T)-sncdpiY6)NPrNPdi9dOg@)|9L3lboUXqGtic*JgL`|O zaD{9H5-Gs+6zQSLK^V;)BNr<$`4F2~x{mQ~rN8QHvP{Y#ecT=77q^`pf=u~&uynpM zu_qwgyGNvacR??9H9&&`VoBBQMbBgCco=8yz8nl> z3lmh)_j^kRDkGO8^bR~?zZ7j9QQ9;iH>aLF65ZHRn;_{3Q&s2u`v-;0IGpRfX+}Nz zQgerk+NGNoHST|-iD%l+<9c`9IJO{E$_J_+f_s^aB-ifBmXddW*i$(r#(F4lh0d;t zCfG}ErrZcte|!fBgo_u)sj~B#J7e1zM``2o93n+H6AyE6ihVGI17z>~hP77p?@G|6 z%P?uB-PFIdDZku(l+36{1cB-!I_8v|wo3Kob z)6x$!pF0I-3g*rij*=+1kjxU;O#+?u(M<`Js)t*EbaD!$&5KXYI8JJ!{(dl!%Dn&n zJz%^zaUT_BpfOHjqgw_NkypTp#FIu>1JnhljjPBSEcvnd|8OBY8>sAWcW(+W} zKrH#XKO~=4h+}*Ol+VaQ488`K)}BIAECG4Mr*5__0W_WKpeMDbPi%xx%Gb4v@c!(9+<_@D+QH1$~2U%l1)C;W4WHDv0{+s^RH_AD-#um z(MrKSk2jG0)=F?ioHl3gktN9;(3IOmjU{BGN_Y{}-PkN#7l#3|#gro)%FkEIF8%2l z-CKJ*^Fcy5nCr(My{pK!t>lg-up?GKbXkW3xvkhF`EPoK2}TVOcxmf2?w0)HUX^;I z#bO;Mwm4TQD>=n++*{yIJ23vqEINgMhbKMOvjyFE#c+9Odh8jgU6|#B`e$V>s}N*d zOFU{(d>O&Ug4Y}l{*cO9*u+`lx|v;>Nfcb>#?!wREBmOtCeJoxj710@{DGlRFyPVd$KI zo7WuP%4d)NhpbtyRq%|0H8>5`9XDNDn=U$}?MZIfJ}+Eorz-w)kT0n3Ti7}WB&Wdi zc8CvcAL33u6`J_NB$5xzNNQ;wc$zc9mDgB?ba*Hi#%QM4&v{Gm(P{9=Nlvz?)aO9do z*X9ciqYKR@`4lHRb~u%71)G22TS?p}@?~UXLTgB_T_k=^@Mk43m>!ZrIL+~cmTB5* zyQE&muutFo9_%0Zg+>_i?g2>)k1gaL>_??@iDat?Ig#NI6aD7zb_>K!C3jFo!7|9C z{Cb;-M*c$vcSo4-I@Wu7R!!6n9yR5Dd{Lpq-j{e|^`;vV0PkFV29|WY!{*}`@I3%p z-Lo=&;EST1cQ(qnKEG&+BsLN8JTX%xE(5Sh<=1G$@}gurzMo9>-d3<83sHbF<2x0_ zi*B}=hRtt-QS^l8Xjw#3aZf{XXBl;Sf3Di_ z*SMs31!_a(?pj#q+_3vrDL~&AKf9oY1q*$j z93f7jmCBAG2OSN74Hf_r3Sml3EE3z|IZIdp03z&TP4 z@0NXy0K;bW0+@&|zyVTi`sC#RfTxIb#6@%5P2R18y7OLi~Fk$fWr`T3kSNygaD@%eOH?5>fxCJSTLLQ zpBu3nn=26vS$|L>68*vPEW$p#gvpSAMLCIHeNndHP)X%Olmd@DBa}3ot5LgqtpA;$ zqO&iDJ2eB}FB@mOnzSZLF5XF05?p0w@X?EiC)OF+2S3LYc8ruw!Arb{*)mLL+|mOy zA-&vmv6TgVS2Wo$;xfe(A;h=x)>+N$5&U3nn*152J}ZxS<)cq=VnD}2v9`;Vi4TUR zfe$}=;`jGB>;4Y7tx^R%J!mx!!p|9v%9#0x^VWz>-v2tCsOx<|hmzWm@Ou^e4@Hbm zW-QuXYZjv|F>Vd3D>t!Fzt6Uvrw+*YMpt9p-WcceF0-CypFN9mpZ&up>8R{@JH1km zFpiN{K>aD{qwix^5Y;X0p5kQ6O+Oj^-wEpwndl2jFOKl|q{2@_z8aRm0#}tN9{5aZ zHl)!lLPG+#jLE~&Xg0Ur7|6$of(-idkjXN@W0ScZ{Ii1K__&1)eynYvzB%}Wo+Br8^#e(gT+Bpn)Ne#-kXHNS{pYxB&_|5U zfQy{YCl_#I$qqf#&0f=%vd;8Q*w|vXX{!@rFD&pVzS{hF2|dZj#B~QSir!=_LllLG zVDH08Pk;iq&92L7@5DtCFx_XK^CfC+@4g(91_nIvT-UXyEm{{?{@9BJHlY6sS{TnH zf~+}-HKq@fj08%I(RN(aNZdEBYqFl#28Q;ZWhUN9>B@XZ=g4(ywaqSCPRe_6+-NQ< z#N89pV&~MJrW$YUuCvzkoO>Mu-4n?<=!d5sMR?LvbAUULH&^w3101X2x%TdNM1OHh zM1W+=d+2#F;-_ce&mKIaT_x>}I@MTLF`p+)Kpw+%k?NQ`M_Wmre%GLGO#WEcIcn5T zZ1Lf&_CNK@f@rK7+{#vRmDCM9@s#T8yaBFT{PuPVF5_R#B%Po(wNd__Pf=M zk8ym}>pK6!4%$b#nje6L@F(v#GIa5RI^co#8!Vo8uQqNH0cw;q#tYN*FhHI~OZ;FI z=ok7@E_GgfiegbbnG+?Z{+G6eSNe9f&xH>7Ce(y0>0fNg8Gbp_PcsB74CPgpFy^Sm z49E&zH(9*7uBnPKjGrTg38kTVE0#~bP4d%y6;(^`>}N8U&YDX*IQ~*VpAJ8~MNNAU zVm)*uNjMfgWmX@9+P!{H9X}KmVI7l503X7cMhch7IoCT9h39N|ip289i&Tb;`_R!h zVh}!8&r;kUJNNP>2GF0&Iu(Jz-@JmT0}Qrk$c>FC=z z9iH~pya4i*DnJG2wCogOuOafPL&AtcvHdKlGuK6$8G=T>px zI4hAYUOgr^h%=9Y?)`@n$*$FY%)uR)LETGOKPtuhD7JCT-HpB*+eXycIahiZ?a<8` zIVSQM*5c@v*LPVCJ2@Rvg1k|rt!NN{mj3VvsM1CT`hYrIRLkFXgANZr6<(KQV=<&E z)PNn|cy!~-zJT_4YWe~kN9y_^C8XC;D?pVTe2NE!12zT#%o z*=AJ);`_0D`2=LBsQW}=T_dW2ZZ2%6KM*=-O{sbc664Y-|6E?|M^PsYZ?*1 z{1`RQ+yYSTBR%sYLi)#yx*hLekkcr=wRPyLp=mKNq3raiaQ@Ttou>B?>Q%?`i5|SF zxN=7pI(OC3C@U#>g8P%H&;oWOf@4hgbIYp*97+iJpoYU|yDX?kt7QigH=Z0&zFZU=_((}rj| z_gBziBi5Z-=Q2M;Zyd7eu%OJn68+CBJ7IwG} zrcHnCo6rF+EaKxQ%6O)@UVaNt?`YMvegq3_%z04kBodt%&NQ1U0;T~J7Zya%t1Hf~ z(|9n`|N70kQT$}}CHXJbJlmFgocQEyN%N*3BUYzDnMGoR-HG8_&ks|RNVdI%@FgUTx_}zL-zkzpi-&Dv>_2g6xXWRW7^PgoWakx6E>$6riVUb1T9HJDfi+hj8i_SoJTVp`WP(qBJw`4J_J&d53~EpmN!Z-H~&N&9I% z{`+Z+FT4KO>2ZjAn$(=s|K(z)7FjKOwC}ShqL%k9y9o6L%At1f8b2862OwR^2V=N@ zbRR4+up~;l-9Sjc)36=ZbRkG@X<)BY^Kl|av^X)I7L0VwD#(w)DBi7~4;5>h&Wfqa zzexQ;K!N_fC`m2OoI)o=_1-t9sNfZH2WFV5=mo3LA6M`K$LI?0kH;%#{mhR*1@ApQ z&EP*t<5$S{D0`P~ZGuNjGAKk(i@_o5hi;4XI^ds} zaosA(ZNy-V2HBjKu+ zef#nrIlWA0X~q2}?nRnjUS9Rjp8Vui)rtPk0o!p@Dgk0Os0ee29SRbfV_2?`k(t}w&7{s)*M=Ft>N8{V znSmY$H)==Rd@m$P9d0GLI06F@A?AtPT4B>3i7qOQYs`3f9pUfQ+boCWk^r`FFg0l0y=UZnLn8KJeB!* z#L{uQId^yT#fA7GHris=;`z4<}M#}!t!5bB;KHRtj+k&C${ebX1E zx`+K`WD<09yBiWkvUD)KkU-y>f+u}UzCHaBCl75bO{rga$9iGM>C`_s zg6^FYmj^lj9Zkdn|~R+l|pEG<_mFDpJJHO+~MRa~|OrnyJ#53ARzLv#n4@0Wp%0n4PkbR2ZTy`V?`Q^A^ zSF)DLWDV_8DEM$*w6sWst?iRs$cb1=L3Fl){rv4? z_B5hiUyuXUkNYzp_ZIH9cH!R24SVChl=3y6$2;xSsk}@}0AU>H(JT(cYK^(q7K=%y zVl`>&$I9NL;;8djI#hzQJWsIy^)igBK4}$gP8)aR#+t6*KE0vhEgUzeU*nh6pUx;}^L7)l*8^0qk5mln3+GlomUPF7@x-?jPHb&-- zw^r3%vNR^iFDwjY8q16+`_g04SA9AIPhR=FeHg2DuTr%=-$-zM0Ukt-5&k=O7tiK-PVfl! zzrmUw)PQ-yDaTAZNy&LGa@4fF=xZ$D8`4|~`5Y_*!E}et*jt~o&57Nv z=@YoB#WPqqkQ!z~C*d%4$#3FNUz-*j9TrBDPu%f^1w117cC(Ph4ajh+5!fCOv5Wm`LUGZXYye$67#la1 zY$PDno8?iKKCv><>t79Q`KYakhPS#BXQPs>&8wM8`#t-qm1Wo$E@{g8>(9O^Y-ra< z9KLxqMbG%{Zq$y+75;qZRo1(_ZNKL8zvl(c*iU|z__Q_Wj(dvt;*Xw%FVN1d@4Wdd z3@JA3j=emUC+{z!EX9iGC61=!L|mm?{(}Jt`pIK_&F3+wv*aPRUu>!^=BuFsN^krB z_6NE?iyw_#JNGhpQRT1j)h{xA8M=K^v_w0!_kdb{d(gHyv~@aNGY__5_LRoR7N%@x z;_ItVTBPN6~%WTbeT2&pe81?d)a@>U#8D%1=Q&r*np1SiRti9lt>GTq|tRT zKt2pGc@SW73iUs{<%##|tt#u~XvBje>|x}WfOvNY(be?hHT|QwWVyHaFVCIsb+S{{ zNj4K!B%NSu8k@5!NzGpe{?A#MVZE#*W9am}33Rf!DQhN?IM`D-cIL##GPPw7&8&7O z@tI~j>j&rg%DTA2-PBo`Uqro9OYw(y^40C*w9Cfden-l!`bx9CRlT#bdo{p(W1_8z z&24?DWO)B`-WDa+<8d!Pp`G%6t^N8MP%{CUV<~+U#pmZ}lHFf1KAJLIqO)22_Dtnw z-!25&{6ixYszloHr#|i*KS@*H{xLGm=Gy*hkhxrV<~;t>+(VuZplZ10H=Ajy3qlA{ zByMfE&4Il=P)hvl)A5vM4rynM>_7PHG~F8R?0xskH{f-9{Pb>g3%CZ40?T(KRQ_>9LKQ6)67>Rej;*TH`FaPI%$@2g_(XN#qZ#v8M*ZUv5zCUQ#)QR|A* zAcTWeJ-D(v8UiN+eHTKI2%T>~r(v;S>_725gx%yyE3~RC^J{$UmxD?N3`wplAj*BGU?l7<72!H!$tXY3ow>>}P<{%iL55>?6UqXi0h zY@;gLclR6T$BVD8zGlQ8(r{e8${g%^{`J!O@9U2O(Yf6Q3NHXb>xml|N5{XQTlil^ zTXNIGrhhg`W_`WZ4M1o7{#^3g5{p;^ZUns;8hET(9+X3_EHkCi}h}8 z9c1L9OPHVLR+;i<*n{0V<%F#mH_u(EBRNfDRN_(dP7OG1!yFoN6?cbtVg_y(O0st@ z1{as^u9wnrKp+;hW|KoV=DdnrX1rbF>0m@f$zT?Mks1werH}lcF0DwGvi8JH=-9}Q zVio$_gMtdrfOX^a+adg(Ydv~1N&B4`v!9-r5EWKHQjbzB#ZfZB$2d07PtRybs}L73%&LaS$R(4JMA)Z!dl#>vJ^i|8ObUn04SjPob`&zp87+}>e}3N5h4lYhB@UTmqtm@Y zsy)6cx->X%JICEIK9!nhFB=?{N=JRB1#7BuV^afl3xM213ii3McdXm%0kHEz+2Fy; zahwKgTmKZ=roF^B0RAcrL2a6jU15YWZzj9MHufT!Le&eiI+FA>A$a-Jb}H8Qp{_GaG$1oH0V$wc)fjT#qsXwCV09~t`n_^y> zY`&x(k)`9XH)`rL`rKs&5ImM@S~xnu+3NTMKokIXJ8Nr9fz0fAEiKO+J^L@C6(XSu zC;934NH3Bq4)=nB(^oIUAG=a%CQ&@AwAT~*N?WF`Yto%E%uo~+a`1jO-d48|pu-?- z?vViY82`i$lR9*JwF<#@t}Uqg8YTr&%e_4-q&zvJ8G0A0LXT(F0~ya>T8 zIf4ka0J)QJ)j!`aV`$%~UgnxqZbbc_o&8|%e>3+_qy_YPMi{+`COK#0` zN@B*lHrG!z6t9=p89<;G2=MwrF4V{;33M+ejbh(T|BZXRNcPvVy=^%XKDV)Msrv!%qXUqw0MP&)PWh@2^G11>IAeT9Z)=MmeSUbGOGkGYg^~f7 zsFxxc!D^FHu6DHEQU@PMSdt_pV=>XAO~K{YdH(XTF5{DQjWbn0nX8}_n~Jw`G8+|j zw%Yk#yw+1H@v1f`Ba;)M<8xNkHr@AM<#6$gLhD=!0!*Gt*I+Ad9}}H!8(p{Hn&rmg z>OEeW_X5%iv8xHCBCB~r3o&y(Y-$2ERMS?|4lQ8pZy@*W3v-4Gz8z0?FdD+NX${x3jRyqD2gou(@M|l`+;3j@Ei= zOnFyO)_^U!UJe=8?klU8s&OH7AM9L3BsDpQ~}VW|Wwj=zQ@-e$syk zv#;l&t;?`6)gDSfT+2yQ)amUamgWK}`X_}Xw=P~f{E=Oak*OLpb^l;Znf8|!4^P#m zSPt7Xv{9W_ATiG9(dcpW3GgES-;WT=zk6XoKTYc}qqr*L5NcX)GXHv0YB#U`4ptU5wHiq6)j08ZCKv&8#U6&)4202o2lzTg~_VFFM^)UR468jPnT}+bN zX%^dUat4Icw#*YwZUY~Wl~-8!%s@R)Foc1(6t40`K{B+AR5BTI62(wJWHrEjvD3O$ zE8SHTu<-{dR!`f3jc@F-HjqZZFvKg8r^R8Sn~2X(jh zFz3`2wUskmuWm+|QKq2a8A4Asgr=Y$`i8^qi$N?2UQl=7XWg6_SH8YF^%@bYa;seGKvO)zV*m0Y5; z|Db#Yy2#DQhlf2tgyjGGxW59B^tOSF<4zD57bk;&?E|(QKTE9qSI>dUWG?ec0!r+K zMsa=XxN6zciUfAksI{2*GA;J(;b7 zCI9A2OM!&D1gFY^OEgR6!crj7YUX6Q%~_9oEi(zZmpGXA z%x9$J!j~IK{a=0g#kr)|Qh_vHdE*Ui)Rt}U2H7LeVf*!ds_*(abK*ex zqckox-ukSJ3x#&*tD?er#o}$S)J|u0X01XMZ+|0$#5+R6Yx7tZ1#4Duo#?2~*_1~EDpB0)5lx57V79X!nOR@Zu$CC)QirDi-;4Lkb%1mgj zDHYp4oa2P*EGE5LejKos1mX6Y`IjdEqwju zh)p`@p(6hs9x^`#aS>veh>F4rY*g;&Fw!c^nUr@q1QZ-42{x)kKQ(>VxZjx6uC3Zo z>)V~O_@GTMkbMm97;v}j8rKFjMi5@sB>jV!f+86INkOl3oa_R!&=9blnW{FtzU#{} zrLgt=Ol2idW;Q8tXhuFAdxirRelJ^l+N9MC7YtytT11AkmE*=HTTiu*3 z-h0MZ+uP(dlsOg)zguZoob`B9mTVt0Y%|vrVANs*iik6Sa!wg3noWjH=uaF3Ykzf- z)UNKf}lUywQ-p`r*d2Y6$zrrgkn#NXf ziatJ(-qeM*;R^hbaa7RQQO^-Am79GC@Vg5ZB|2j=NicVKamC<}WoSP<6QUEvZ94?b zKq!my3G5O)Yij@JGCF1T^P_h-C-&wC>9_z|%Bp60^HKg3rKrXJzF_V+Zu2-ly?34c zRu8?JZCqil@c4}S_|SVbH%CDsv)CVMQ3L$|U(8s1oKSxw7VS9Dm;+NZ+v$Eg2WmrX zDwOe>QB7%Zt2ZjAJ0*p9RNuCEBkafRA_k-N*Aa<=Cvs8}(lgPP)NE0O6?jLrHShhg z_orUzAF$G%Iaxs;=n+-IP_h}Fkxr8QR~gjtNg&>_U@+M=3PP=Cpx9JFeG`m$v_OwX zSwiCME$q}qZMj3$Yp+a_?7pzbAsf<)bx&-)z?D*jxKA}V*{Bsa!omIUWkD!Ebxs?2 zO4ZaqBEoJ~K)GnZs$OH3mr`j#v^Rh?N$(Dw4nSy5k;D9Ugltw%1Xv^0dvnZmn(H4t z5`R8oJ&zxi2*t};rrOw=f1PHGx+KAJOpMxtl0MC&i zomv`I5D26jb#mF#VW28~zf2$h%9XRC16sIHP2s!ccswuo2Rn56+)1wR^RlWVvFK;G zv!q49FPNRs@(A!0BF?lEgW*4b9}2Z^!99dgqsS;5VmpTmtRSc&hCwgIK$aHs)4)Ij z9gop8oMz(VLO=Y>*{QW6tikQH7cB5HxT-^XMI$Z2GNQQien>hSjekJ>N0I54^DHat zxtWwtd2O>YJDu!rPwUXnqXO9Da^hu8J4XNHerPYAi2CEl7l&rOGW_NYn(Bm6YJVwx zuD~-e2#Be@-}pKr+GVsg)L(&A#PB+CoPvp7=j4qr*X`-5C8g!kZx$Twbxx+m1}bl$ zdz)Z0)~fr|UC4bixm3Ew)W8_|xB}*%rULh~^c9nrIYGk8_-lqX7IdN9bgF>IDwA`W z6YWa#UrPz2roR767f%_yHyB(E)Gal!5PPEc%<~R5Em>7e-#P3OdD&gZ@V=l2|e?^ztX=-kD##Dd3w^~&2{>yidAJd#ZQ?5sQRJscAkwM)&N%&nO5Tzb(-|AiM) zX7sYOWBm`(^sc%bC^A|{-j|u11$E!D9K+|h4$ePF7|Ph~CLH)#o;d6Z2e2pA&Ur}JAqnuvqx3S;j8TWO zg*%dr-Vm{4t{AiI>kF(@I%Bz~^enXT_z5YuCu+s_VVsypE>z(gJSitvUQo74WOzwW z<{Jn5p+fa*27+Qy_s}*`gul_{Q?q?&HL@9w8F-iQD8F%YuP&2Tz{NP8%@~fZuiAP2 z7HrXTSKH<#`2*Xc{NVsoQ_x#(PJnW^bD!F5uZtFCTSwYc(~!#Q*}+dE<1pWD3!j7j z;VEO{0Hc4>+b5@~x*yML!0}*-QWFJLfL9_ZdsKTM47;m3IgOnA)Yt|oiF&LLEGaR= ziKUfHevIMB>>dA-{Hedgt5@^gYmhI}GVdxrLDyoOjVYSClw@4jAQWw)TcMW&+dafAQv)50l%^yD*IbR~ z`hv}2nm>9^su<r6?J?0NUoIzbiJCsXc+;!tB?ZOFSjw_mCP$?mrL-md!Yy$ABqf%ZK3 z2tOS6`&qFz#rhB4h(8~N-#dwH($OGBDW;GBCbo)aQrg*}VgsSi?D>lWY4j7s-nY== zVV$9JoFWZMBWOk*DfIf+Tt!yOjkjXOPDRlk$}F4Z$Tr(2e@ z5_dm;vSmX-FrYYDEKM7BT76(H)l;Kmg_6$SU2W;vsN}oZ92VNS&du|>V;xJOO`AE# z323wfs0p}AXwZ9CGLXp;n|en<&_g$BNT~lB%VHr)MuiWJ#9X9Lx~xzm#^|xHS^RTo zn+3V@MKANAb0{^(DgpxZD$Kt9zhZx{6K_#;Rs%p4YsigF<<{2a^TT!AG2W&WcmiBq zfP{~4ytD!pPW||)me4DL@G&U0cQ>0U*l@Q9x5HNn@o}*t$VK=tx=q=5Cgl#2g_bU+ z$r~Ge7I^&yRH051*990vnbn{y3mhpPjjZmZ_y-0N??N_EW7|=pRoJTz!(p)#vUm>JPD}H?;x;H_Aogx8oac zu!0^$B1)tBiVnpXQZDwS_5*#h$t1M_kTU-AorVegysGLRy*nl+)1wk33#h+3w?Mgv#wNa07cseVv;GD`56Z1y5 z#-6_dXuQ9Ws{p*O@Kw%$io(k&yA3T-(3nPQ5lgg6X z?Lf$G3oI-)l>Vmr17w_@%59`96_q*U!NouoAqc*cXjMY~%%CXtL53b*IH|H-xR^M^ z8(?ohnwdikAH%C2;bHM8PrqORLvohYDa}rnsY0}Gqu?V2O9}N3+x{3qkEQ=*@&Cn& zn2(hiDKvYsoWVjWM|6^OQ9{1!ew5%9{Ta}=koX9f;NIbh>Hr3#V))H?6alz0FPKf43 z*EubO$9%O+&(vcEb1%J8pLY>r-Q&@(q&BiO9wEV$EAqxq7CA?xINPYAor%LY;SP>* zDsm6b&7?Akk-+$6f{L3S7MGR~j}1Iu2rR(agL9Dzs=G3Kp??e}&XAw1I;7ya+?kAu z#qQwYFPn%`3UfL2B)5nlsgl;EOym`sF1wp()`537gxjj6X8aG}m3O)3pM=dSH#I1Zwwk$X-O%*Ab%VWY|M67( zOa8)~3V-EI1}XiVyHXOpK?UA=d3E!mP|BV&6#+$VOIDLa$-5j8>1mOS>3))EibkkZ~@>M<(PYy zW4SWv5p$w#Jaus7IEBwsJaP-8VrN<+ckgw_*$#BawKI- zm)1Jom&HCUL-UfOhjm3}6#l9Md;=4?{^KqB0iY~IY@zLabd6v#c%fAC7=<|O&MvNb z&-ObsXRe$qF2tcz!-x&~_=z;^MI;vOFPs@_^q zV027evo&i_%Tm&%=TgWx1h6O*CWEzCH~eIa_Mj0v@L}7rXD_)23{lu+bF|wG7mPI$ z44KUkj%+hr_JEotiK;>-E) zC`g)_`#hGvFQPI>UQN)Z?)}@ZZTFd0`fZ;_-o`2`10`{@2DTE7+;oB&$?6v4R6Cj+ zJWmaiLuGvK;|g*MQB}oUHu1Qkdq6ctvYX1SHTQr9b0dK0sDo_D} zuh@fIu|Ng^4p^!3t2>-ex7wnkxzC~SYBTkk(a*7WAIQjRPp}r!jx{Rh*a+%gWh&`p z51|G=NYYU^IQ+PR4U=4USl4jS8&N{yS2mMXPG*N;4uG!E8{=4u`A;A~DAgZ7c zP)MN+mJ5((^c}a;F4-O#$PSiv$wg?Fn|z@T=IHzO85f{$7ar>ZU`XU+RoAB}`zz{r zeZh9E=ug;8pJpHfz_}tAqx4WNicRHLF!hOC9vKO0$jGx-SPciJJ`0x*Ka$2+jiqd8 zhCqWrl_AaI+g7%l<2m}Sf{ffVL8>7lxa^8yPYfr62dvBpqZ*fn2f89!1G$ka)=pkL zX!}sx6@&gs)8qGbKKK3r#}D0;EdeLUh(6XYkDA@8{mFn>Kf~j~mkG`fTB6{;|4JR*Rg0Q2%GZlO3u59!slZ9+T=Ha}$3PWhDzv8*p4i%UN&N>fF< zuce6>52LU&ODbnKDMI=5Hh@%NLj_X%pQD*;z2yGDi97Iw6M+ILdczAMxgxKD6y%XI z$tv-ga`1`FjF^uZZoxuv9wIz#Dk#!~VzABdTkuf?QhNV=lAObxT=9X2<^pfinFYcW z1xe;KS?Mbhs^V0k`5_|q9>i&Y>~9>TTm+EpAK>g4cvOm!r0SdSE~lVBu(95G>b%#% z;o|%`qoR3xjs9wZurwtX_8Qst^ju&+HXU-4w*n9}kcuP2iKAbC=EFSH%3R*xQAn;&M4mw`>GVk)_q@zYOr@% z5fCa@Xj4SpYyQQr>hOOlOV5=Pm(XOuH0~&E$t{&eP0nG`_Igw$2{9__U=Y^4{gzBg zmychFINL%qDtMnvVs$;9RXd{c0tXH}TEcXGHcKN$d+VJ=qWZwFU9TdqioR>qWjXE5 zSIr`DrXp+~<@m*t*UD-p7X{{o5fWlrA6ub~g8g+_64sR2tdO^t(nobQHq@VO{6dR+3D~A@*Hi^)K?i$bjVxKSbfJspOhHDS;!U zk*HVTR|uWuFD3@4{qWW-G7A7np{2HcpCsHC@P=bS3)vRH!uODNuDih3&=9=Bq#;<+ zXOHgO?&Xs8-VOMZ%E+CljF*@~OVkT&EHL`5d22_&)7xS1Hq7h82X`>3{1%)a#iEn~ zYAoVyBmrt)m=yRb3-8=WBcWr9jdU+9pdU_V6(}5X5a@w(+YAly9m$JZdlFlYoXa^k_j}Qh#;f?7aq5 zyQEyv^(rZ99&pu_L_uukq_vPetINWEpvuWoAiPZlqih@P#;EW!(ndR1B&l`HVrD$8c4w7XYV#Yd*PpH< z_q=Y+PoY&wVrKhc?RTl%Uh#9V?qC;!y)wmU0#fCv!>Cly_V z#l;aPUAuW~UQ{kncz2Il4i=Z)$dOg_Ah$;>;o9K5gKVyxA%ABICQDz<=^XM8rq$i! z#FU69&h_`bY$P^KegI&PhHKSFV8_fPj)S7L8Vsye;}B&{*oP#5=m;kdu`#g(x$|Zw z{RU2pk;Q{CoRLG$<#|?YktB^@LCsVOattL0m~;b(A{#H6cpA@np7t#TW(7E)W58Ev zw`guv_V9h3SK4n75PNF$oq!MuN8W;tMKVcpEQ_~-J#)h873`cS@)R5;C*-+xG)3CgDeirSvjAEMY(6G7j}OF_+b^5;STfqG3q zKHIE4Fpk&MAx6A3%F4{PFCY^wDW=ZnAT4g5_f!1vXeYZkrQnYkoMwn20>;e}Jgpt* zCiBi3Y=WBE5iE5G`eN_=w@<;CqhQVAXF%m8#9UXOGY@MU;N{GlG0@P(cqR*#$SKEA zbaffAIGfh_Ywbo-_+IkN7P+#jAoJk#AG2C#1es5kAwYSsW5gw$dovSrwL*tYV`gJJ z-K2=0c8*nET0gkZKwrySi&T6_%YychUBI8)Ll$^3_hUmn@xt*@#qJ-!_v(qmP@|@TB4rCk@2<$uIP1x= zYXMsp5Lu_AWHfHD+sd5w!0mAto=LkLyiD56#vzZ~Zsj`)DU>t;z#c}&} zj9OYYVB;tWm40l}b(!cxb`P0i=b^?79gLdqfrjkQ_r!K)zth80og?=u3b!Uh0(af3 zH3uDjvQn_knEZgcq~(ar1D+H;oyWkUBY|NTo~mCCxx;cbPHEqqDzkT_9m5%kl8T#jED86#ll-lppy(Z`7Za%q0&HlR+w4VfF?cY*VxUllsM|H2 zY_l@3g9@a=k^?2uMk`q>$VP+`YHEys>lh|&72Z$Z&q%!REGzS;J&FGxX>k8pEhpd@ISfnFf*2vFwmC{TqfUB>f| zX0Z-j;93xf-D!|U1haASj3L6P@*l-S1-_#jd^jB)2A6k@!lSm2xQJp0{K+53p8Df2 zYvuFjazAKC2dehr`m82uQqk+t9qDDJa?MDuJA-GT9l-@`X@NXgEJVKV78ZCxxsfDS zb`}%vDbvY&-{Vv7SR<4f|wZJqyUGSf`R*M;z+l62-W5_{Sa6pj!ez~-I>Ws2%F#!2|+|EHVR&MDa#SuIMnd_ zk@iQ&W_Wt$qEx@s>uF&(*riiM$>%fF9}Fp3@9#kCOKJ`1dw^8hn8HF=VX(Zq|D zbNjAo=YD37l;jw?-pg~Tw2eV>qL@di)~C-rOzdOu0cg?H@2Gg_q+QZ)^xXFB$yx2I zn$5VQFGwlRx~84&mliX16~sD^jtFk#5Jx(Mo$BFpyS*3-c9qPo&P^B$vM;F}rCHb0 zo>+FC^$Ynl1OrL3v&$C~Q2Dl%p7AVmXzVy2ff>)P&|vyQCh<(ssXB)u>m1C&0{FqY z)2h%|aTuh)j(+!i`aW~TB@T|{R9&oD1c!8X_FqV1L_csJYWc~#uiU7cOq0%^JNqUQ zOJ(WdGGsKPrVRHl$E}LZ?X~x$XdKP_57WhXo7lpEb0|Fj{lm<3B(S@z!)PRTQ-jY; z(H16@y|3Vc7DK4^KQ=WolzLXgMhmULvhKPs%iv_SVnybs*y>8HNe7)X_yJ`!mz8+R z#KOz9IXT2L8lhE4f&4?S-8A3rG$vw6?g>5W{(r9et^4T?a0p;%M`3F$vI}q3^5v+K z>$+k?dCxOQ{~mwW2iTY3BrJf660s*r7r@Wj+7Pro)De%1lL|%H5eMxihRhOr4U!{= zxiSi_Bi=G4pSIPeif&ce6{=%uv zwhg(SPP{4w+`(@%Pi;SMw2f9Kk)NDII9=O#s~Y0xqev5LAurq)WT!3^pa?R~*8%o9 z1uyOo&0N&Fs1eHi60Z^4)Ic|Ul~lP1oSL&iOo3R)*W^^Ksy}hlAbi{MC-cgrT9L(^&&Bm!zp?U0 z{=2uJkl8D2tn@{1*%i#>K+oIAzQd@i#&g3gni{MwSzKaKFpIZ3NB324g=Th#%qgLH zVL!Y3z(rjg43o+^+CPLl3`)Dmz|&y|4Y|{Cq3mPH;dDMQW*@ab zzT(&$CdA3?P3S*Jqy6`{d=A|7KWEfjVtD8~P7k*LTN+*4_<4-4`k_>LV%m=K zO_~l6vV6)~hXfV3Ph+FWow{%*#JD^+ReL-Ty(4X2P>d>OlwgP2KNYZ^Lg-SV>fpt| z_OH=*-8M7+_TkkL=aHY~QmrNiZWmT&H$SoQ?Z6Qs?J_xXOH zSB2FX4gfJn6D!qg-VG_n+A!HV-+o_ZjoYY8(v`jkQ+3q;dit5qfk4Q4y3K7w!kcuE z99lx|eknI zS2^BVRDcjb5{a)=WG$^y#+(cW@>{C)kH_?DiLW~H|0S386S)j2VhU}!ZNhtMzgq{q zn4cYi1KULmgU7b@FCXA5EM;TR_H6~P*J1C0W0osZJ|y<|t7V>80lbdTh)-^^i;{r( zKwamZDQ!jeE3rPrQ7klDR(mk-Uz!&8@p{k9U>{fmEzy6*CP^|F6vz43W}@rm}oMe#iD6_Iyc#tZpP zvNe0zpeto_INS|g>n;Q89A*c5FyUfvc9)_#v3JZAlh#f`X32$^?o`7y@p^~=D8^EZ zelA`c`=SyG*~mDWU$=gVmWs@lq{?$A zE7$V$UXn9|x)>%AUg@LKL;m+UJrJ5MvJ6_e_QTx-+47(k-;{zW&K~uY$C5t9h|i_?rKSrcR39@N`yI#AM}}ra&&i2r^q0twYRj*DHK4+ye-3!2PZ&%1HhXAm zCOorXPuCfv9&IHXe2+Q^bHI9vDW26@VzrsJeJB+}oTigml%0}|blCi{efUdxVu;EU z)y@0D^>JF?UsB@Z+NCn0*9Q8faIsfVm&fMp=lR_ltc2_DS-NfQeBUZ9UlUI4tuu?+ znk?ztQp;RPw_FpFyz994WwVnJA?Etu%+bn(c=&YO zAnaf$74ue<-aoU>$=&Ykia1$!Sb!rR`~Bx)~x;Dl?tH)lth1qG*bj%|~Kf z9R^C$hptl}>K@J>$+-2H0`8Z3z;E1$wwC4};6vKTAo$}3E48}A=QCjr>ZYInBSfkb z3$TeOQpWVBahBiHOuE)#uV28layG-q3zo2Djq~Yql9rZ>VYk6+%ZAY3&wGp!Ij6ET zn7u{?y?nV0`pho9i@Z$SZy;K|kR(_78-i)Nu2yp5*V2q7F3q^jmde6smI()o>B}!t z1m0*bVn@-J7E7(5OMkVGbo2G30uHBNZv+U(&|2~V+G&j#o@RCW0Qz(j@uA{{eg+@7 zn;Xac9gD7pU;a1T>+RP#UPAZ2q>K|d_Y3q*sg|nJlb>1C@Nw^RjjD%CJ&utc(H3eo z25~FK=XA%dNQQQY4YNb1?~gxVYAVSJ-4`8xTzdTiM0}Q7d_t#r*xTL5<@lGydKkh& zDRqf`K)b}{9H9+oJr+HBoyK?2&Zi)`q_QA?^PIhxZt>(0b_8vT!yYW^^%X{>QA^w_TQRZ%t6%TbYW}V zuQHTA^#$9C>6tD^1I9REc@SOCJjs~qF26v4j$^{XJO^x`WL^FAcK4QB|QLqPnzlpM5U6swV8ZCVpFe)&JgCyrdfKs9}(Z zmlU@_%O^qbKPQ1K}ucVXqvK0O|)<*$V}DtE%#NT5n`tK_ai^Y5{SW! z4*9`s&NUmQ#U5*sd(eFTJi6JVms8j9@0};I0z-F-&ByHM7(&Y0bB;@oB-7qoMbFn5 z=H$rEd@U|smF510q8dA;k&y$y(s+5gXES{W7UN=WhctHPu3anYfD4ZeURUTiPxy#0 zw|8aY_bmUwU2#XdXl<*FagH1O_lB$Z>+T< zVz-riuj}}bE485t+($M18bPm5mA>h^-1xC!`-JvgpCjh%BxC7!k`uqIcP!n7%J{k; z%WKch`+>}r3j|XYI<6J^Vd~aU;P?IC#)BiFc|uTrc4x7$L1Zah6ro@Iy~E~f;)ZgP zcv6Rz$G3RDgTbDw{|W!f(j!R(m&!pG=L!HJI~g|(F@f$@rm#*=%#aba1iH;hHN9*9 z4cuPQg{*K2H)%&shYA|LJ15L;#nty(oKOurT)95?;@aO8detVx6^=nC5v&_`<6aOv zN{!dK%6oBkxb#%MMQzKBnw+_pLkEHxHQa`k-`yw3A`C7fayPJq{p%Xz6*ppk&bmE3 z{*nG~8JsDmIl+&=MQKI6G$=rE`qL3sWWK4~Uw}78z$WHUGj%1U>j~_b%Skm3^~`Ld zc9#Vuh;h*@EV~}NIg84i__ZW#PnHBvd&YjEXj8woH2ZeHL7?Xhms3EXXNxAj)SOww z#>+yYUg7Jb)SJ_Ofx>x1tJ*eM2p?UZifq0jCgYn9zih!6B~fcV_nYZBXI!!Fo)+Jo zbGjl?RVA)=D`YlRZ=U8H-*}V3#N96ZLbn{C6wK|~_NLVu)LCAUz3UdX_vOExPw|QK zNpD$Wb|{U}7}`D9!|C4`7(-gc!+q#{`s}(>2Ia+R@bh72VHr)L6dkE7213SY0_>YL zovT`YI)s{hZ&dv9YZ?dvQSjx7$v$F=mO zN*@emw;RaA4y4ALddE@iaE?UQ%v9mLwv3}OLD`hr#uci$#s3b8hEq?BWBBp>?c1DY zNq~;jZ63>Q@-lP6_hcbPp7dw125=@+mf)ZE4FMQlb!~D3Uw9u|4X)AIl~619%*!`k!#VKS5dm|A=Z@YJ)e>@uOPl!?hE z64Uom5tk+&N=w_0zGIM~u!P74py9=HABWeNWO)BxP16l{`s#Z}i(3szex1kr6;T^j zlk7|OU`qRscIt^`yV4eTwKs&}We@D~68v@t&fEQPtKrwKYQ2u=1nE9$$Q;jI;_Udc zz0*|!R%Eizy-~YbO^@Eve;*M6MlIQ8o8D#}^aFN`j Gm;VO`zhH>~ diff --git a/packages/common/assets/images/archive/supabase-logo-wordmark--light.svg b/packages/common/assets/images/archive/supabase-logo-wordmark--light.svg deleted file mode 100644 index 60cbc71dc7c..00000000000 --- a/packages/common/assets/images/archive/supabase-logo-wordmark--light.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/common/assets/images/supabase-logo-wordmark--dark.png b/packages/common/assets/images/supabase-logo-wordmark--dark.png index 6b3fe698337798006354338fe7a5f2c08026d640..391cbd1e9b0556a34e32ef0fe4e25a5254ef00be 100644 GIT binary patch literal 27240 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 literal 22282 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 z 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 - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/packages/common/assets/images/supabase-logo-wordmark--light.png b/packages/common/assets/images/supabase-logo-wordmark--light.png index a01f8c96dd8d3119460dbb06284d234bfea35bb3..2b369e1372ef9c1e91fc7a1761e936b1629359c9 100644 GIT binary patch literal 29761 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%0A!53yy&~P@e7s7U_kS2yUl= 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 literal 22033 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 - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - + + + - - - diff --git a/studio/public/archive/supabase-logo-lw8.svg b/studio/public/archive/supabase-logo-lw8.svg new file mode 100644 index 00000000000..060c10eb536 --- /dev/null +++ b/studio/public/archive/supabase-logo-lw8.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/studio/public/archive/supabase-logo.svg b/studio/public/archive/supabase-logo.svg deleted file mode 100644 index 2b69d42e7b3..00000000000 --- a/studio/public/archive/supabase-logo.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/studio/public/favicon/android-chrome-192x192.png b/studio/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ac2bb1cdbac69133d86643ee129f5ff2596348 GIT binary patch literal 8275 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 7997 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 CpIdeS literal 2048 zcmaKr3s6&68pjWid-J$?ze55fA)pi?k46Fk1wxQS-Vi`V8AAw3PzaKs0yAz_Xx9`F z6a}7)SqNYP5P$*>39w0k15=U#4*--5`1Bwl6G#{o z9-Ykn4?G4L!e`8aYQVfU=~r##*uJ{5++&5A%?KX zA`UT>ixb8phH)rj9#P7{#2ie*Bgwd!gpZFQe3G1pg$hV=0V$l1g}p?|$D}Y1Ou{2c z;XFi4jiew<3c|v0*i?i=MYuE^9vz2INBLBQO@|vp1sK9)ph6ZgG=@+kW;We?)V25m+hH~jBmxYRBnJX$~7c)gWB51})T6!dHnS`Pap=eiy9J9+t zD`lglp+gI38EjN6A}`7dem9NpW1|u-QI;v%StdX{&mPih-4jq|3Y_xGM*db;6m2>D9SUk{ zBBz#vO2p(?J~5m}l<|o&E*i!s%ID|jIR}5!4o_Z*w;-nw+W*(|@3ghPYH9xNSFN?X z6?dS)pI&;cZT_^Lp6;IB+!lg00Ok!S&&)7RHcZar*N9weTIm5`Q6}C4`j>PchLc3E zIXj(rk3^)ZkjsQIcx3`ln2o8H_)G0ymXvVvxybAXH=BYk&=o!(4||8%R!&{(R;9@~ zHcLg@th3zzt#9c4a(^%n6SkN8&lu+-Moe3FI_~CRxpN=?@OaSk{q&|{@M%|QSLC7J zzG0qv;B7p!bV*Rxo`i_#=)^=vRj$t^-o2}*#A3agQ5uIHSmtXox^&zBS;^OFz zuZj7m?*1{c>gIcKiXzH}c*hgOG<9oikZm2=+`sa+3E1#rhN^U24o@1t}j-}p{`|Q&hN3TX2l3tt+01xWU?%Rv9CfhTPsN2>k zPV3y#l()a!_qUrHv_~JF9~&4b>>ZeruxB1lh!xVICC{=>wDPXjcHg=66w6VRee>ch zz|L=d(Au*tzi`u6&7*(65*FAQCA_rz$eQe*KIYTO2M+-3AFSSox|-oNo+CxtYUCWD z1<}nM8^j2=dVSi-`g^g;&b1%a#;1(rsXWL3vZd*H^TroT6n7_W+G?i(?c3Fi*qW%_ zTkri?mrHo`<5!+C35RN4_&sY**^+kS_v^b%_lqV;zVuapdUU*WW_I`!*;y(1t#hM0 zKx@C!&`7xV8U6ZCKR0)@Jryp~QrJDt(b+wH`}M2$|6%i3q~iAVZxz0N3M=gPL*3)& zjQz{ytSP5y^+3dyD^?lvjeBsTkFv)m9A>5!w$R4wl3CP=Qw>O0 z)%F^%UY`f09-uxn|C#a^8Z(|nuQ%CU4yPBW6ErDnHWWdP;I%ye)|9v^yiQy)byP-z z647gtY*)42+fZu1!hp`T5pG+uB@){u6H|>mDY_eo4dxNd{uJgn^vu6@!|xHEy0#h qp|e`!;&mFW3a(k65Eow&XN`psv2cI0{A>Mi1z=9kF&;Cl-TE(-LUT?4 diff --git a/studio/public/favicon/android-icon-48x48.png b/studio/public/favicon/android-icon-48x48.png index 0918c9d5a5f6160a798d5e57e9e7a5501c2aca65..f8d8a7d9c05acae1a80f25ac81c3b1d2388b99cf 100644 GIT binary patch literal 2568 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 XSV8BLY#R|n698}b0Jla$?3sT7J;{qv diff --git a/studio/public/favicon/android-icon-72x72.png b/studio/public/favicon/android-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 diff --git a/studio/public/favicon/apple-icon-114x114.png b/studio/public/favicon/apple-icon-114x114.png index f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0..4aa46d4d25d141e00cd52afea852d9ef460c3425 100644 GIT binary patch literal 3914 zcmV-Q54G@#P)Z6Hs#*tp33vq91k{iB zoMl2Ua0EC2{6a+f$8)m0g;do=zz*Om*cKO)KRv(?fbWXP*?dkASxCnM{~p*$Y<&|= zFYs@`w?(8cO2J4%s_LHtKLnOUDHju&F5qzy`LD1AtT35W)l$`O0f&i2ECe?IhgJ2P zs#+1Iz?c^4c%u7(mT^`tCO=*V9v#cW9aTt2#6#HLXiV`q0^B#6m^p=vMJzc+6*I7p zblT+u#3Ggwn}7qV8mL(=XXl@R&68H8n0(m`d@JZcR@3SXF%AQvyrm!p1_pTZ%{OUl zYoooropa~T(ceF=iHj*qO-&8W&CT3&(@m^fw~mb)H!^+t^zocBiQUA$Y9@MwbO!tH zlIIZP^y$;IwzhKU&>^l|xsq>1uW4#)YiVg|Vf*&&ELpN7-_x81ZZ;(B1k47oId-rZmo;(?)NK6Pi zIy%_Bdw0}gj{u0O&IY=%+uSkf?(XJ+2Ofy}$%zR`RaF%S4<2Ok;>BT$^Z|=4?EN*N zL8DVqjo^mtTH4YTaTYa`^CJ1_lPA6j^5htHb6# zdh{s0y}gku788w6KmC-WM~_A+vf9F4jSfXyTU+Ex#pK7aW5=RoUuI$NI}JrgM@Qre z#pFkOdwZ1Z3oIgRWjufWeB=tnuuVVPA+o8GwfpoL#HOg4X(#8^ozqTHoS4&!~ ztY#IoV(PxdC`{RRnSA6kq;6>faddN@vKrW|CimK8N(!0UbUh=R{|J$cbmE45f@&fb zvLw;P4UGKNZHQ&ratSz!nx>g)USo?aLF%S4^3)wrU71c2!zNuz6v@P6Axn*f#mJMl z!$NzHn24muh$60lcAA)dWn${Q#qls@-eqd*N_4Hg;wDa0>Jd*2Yjhq0Wn+<3V$xji zxE_6ArPBops+sOk0Z~OAAyK28P&O7>`a)he6aDH2Bw?XytK{~9u84Mm;+bQ0js<_4 z@YeYhs%J{6>{rmV8eA;$=L$>jsuF2NC=Wjfht;QA+bdkfprUE z>#EU3Q}@a7V13Ol2$p4$NF>T)ny&POTv!h~HwJo}k`*z>8D_HO%mvs&Uad%=3{PgQ zi%w|?SyPF8{Z6P2Sk(_ODltQnac~5CTxnTCB4L%qSh944v;=wL4p=-Z@Njw>PJ+@g z1hm7J*iEa5#ks#-OaGNCh-G29lLyAEP}WsK=AFbl9C9QuDayh!-Pqc;0j_{^csPvaq+d_(C?%z}mUV9<+NzGar%`HM3e3 z)GzwQH7{fcsOo#*6BMs-nm&a`Y;}`-Z)tczE&XffPW-(Zh2jc1y%Ov1J`eSopF1~~ zq%!8^6*N6To^Bd5A_jZ}0QY7ax8Ai($YGWEgfm3b%rRGapDi=Ea`vR$vRo9ej}*cB z>IP)#EMu0`FiHGD!vcL_vl%tC_o6<_5qpZy9&*}!vWTM2OuV4>q&wow{As!xc74Tj z?sR3<7IUO7vu0WdiYBDozXJLEQqs31&>QuS5q(~zh*wPC*fO{Gsi?Z=(zH*dD)v;o zI3B4z^KOSTMeP^ye*B!QX{=8Q`@>O1XmOxX zw~f<;8evVFtJx<8H?PKNTn{SUY@7XM%{w1Qx+mkM@Ip4#Vg1dWP?<<4WrWIDQzn+_ zFVi9#UTH>H^VLAjfGLK0UIPU*^QYr}K~4GW*Q(A>u5lqP!Fu|$Fw=H!JpG^Hl6r*o zXq(+ndiq5%)BRxwbKzOd*BsVpIy#!2mOiHwN%RacXa9SUD(tFDL4}kx^RZUU^9Utg zHYi%XL0^&*VI6VQv z2Fm1bRmtkJYQL&0q8w4bX^f6DBGr-Ck0FbXQ9zI6tYscbLR3FZ*KO&oOmhv#clBLetLy)+R}1-u@0ME*Jk-qYFNcOg(>$)GvQ)?`q4kAj1-U7U%Cr z(|dUuy7QA!u2VP)KSh^PMt=M@sn*ifCWagr(_v&Cdr<#4)o;81Lu0Gp3S{qXR_r~oS*1u1S&T_k1**^VG3V!9MRjic6n{Ok5R8oNh-CMV zPS|~NotwU4nx5|{x^v^FJcJCq=bB^O65Ky3wsX^T;3O57itpU`DGwo&BTgWobIcLd zfY9v2?=!ulG@KhhWg(;*Q)$`9g3`0&Gmc%P;n#Wn{c%Ak3n3Xc+tyJ$6u*T!@v5`^ z%>6}iXKu!#JcL9;G^6Ikc_yCdOVYgWB-Y>vrA&DU>9I)364meXxMIqPGVdpUpt8Vw zRP&)cgjCZ*%`t0Z;^b}o&-bZ)Z)*HWO<4%3L0_r!3+pKWb?;na)_<4I%*|Mog^=#H z3*R!NgBV??{ap1?KTSV7wbHg#@9Y7Oob+a z@(|MbK1RUiJOHL$7@+xQr>B&2S0ehUaam9bz!=>H6j87C3%b&my{37dQ6%9W8T z6q6q-R;-AU{R0c=44ZrX`t^}36q6qtHiZ5&dVmfKI370lnl)=^Zf=fTshDWYpFf{9 zYt}?5a@+#m3Y$BTNU&wgmdF*0iN@BgTS+7mV`t3pmZ)kCa0-|grbJIq4=pV%T)K2A zpE|~j!R*XlMxiALbW;rIv{F1FwfI)zHwu&Ye5+sbfqCo_zAjC?W#9E+YNz zsB?dmk`F%kAa~z=ca$PAA-LQ@re0v}h5}Jo60q+;dO9r}zsI$th$7@M~a`zf>3o2M2lOl~;K2 z#TPk#{J8OTwio~r;nrJkWy_W=+WaQ^&x`uqFKPFNA4rly9brY4pzU(VXKYnd}=&UjDT3#=EB4$rlMa;oZM zL>!XD6pU>m@`67xaP`v3_?=0wQcP676C@&x@-uEufB8M&E0a~Lm`Lma{@UypO>*uh za0)yQe1DQE789Ny0FUPq5ysejB_b(c2k=ki_>q&CNhJmRBk+WyMNY!}LM8yJ`bFU1 z3AsuVGj1+mTj9YlnL}^Ya!z;~@T)v4789OdVGl7vi3kz*wTj3GB62@)A8;&U z9pF9@xnD#=@1=qWO{*Wrt8D>x0e4a+o1G_#H-Kk>mqaA5U$)O%NE21P33wRWQf~qB zo_i`22C=R05bzWKEKNR4h>#|#IuBdSTYwvZ>#(Q$%2nJ!?7hQhfs?=q;2jaUFp(Ge Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 5731 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 diff --git a/studio/public/favicon/apple-icon-120x120.png b/studio/public/favicon/apple-icon-120x120.png index f740816a8891be4315a0a5bbe2f9d97c066da942..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e 100644 GIT binary patch literal 4299 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 literal 5955 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 literal 7997 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 Riy$Ka diff --git a/studio/public/favicon/apple-icon-180x180.png b/studio/public/favicon/apple-icon-180x180.png index bf1bfbf7f005e35ba508ec932288803563192ca0..2a80dbc2f684eb808bd2b0ee35a273e8ef956daf 100644 GIT binary patch literal 8727 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 NLkDgMt5>&={2weY1h)VH literal 11605 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 diff --git a/studio/public/favicon/apple-icon-72x72.png b/studio/public/favicon/apple-icon-72x72.png index 83dfc47bd21897b6800097ef6f2d90162f0991c3..e4418058cef5fb2d846d844916a047462248c311 100644 GIT binary patch delta 2202 zcmV;L2xa$(8Kx1CB!3BTNLh0L01m_e01m_fl`9S#000PBNklvlf}Hh-sBu`FUA@O=@n!--ajf>V(k2yEUGPAm#B*VU#XIUY7g!_5ydSCEeZ z)5_gpbaa%%hYvF_Fu>s8Aj8AM*tT8nlA6I7Lq4CUwY8PU9(#;+>(K5-Mbkc9!|)F>LQ=dvvuoMHh*s1h)CH6{4c-?5wSgjHUPbG zr6(pP=Ow>P%PZG{aRHn4N&PU`CF$`yN3L|*VTXj@z zW`O(Ra!;N-nRtb=h6*;`XK?0oO5)(5c*l21x6R1ry7=PRHIkYYZKw-(;T2`kdYDduY9AiIt z6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTK zV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VEN_$Y9q43NKWKIL9qBzoH02>9BOp0{X z2!FDlYKMh+P`5v*>URtUK?RtqA*N4!2G%Zc8!Oj$L>!U;g8{KoQ=Fa!q)*TTjqubX z*G+Lc&AXtg{=}87t_~HZ3PE!kVB1Qh&cchWXxrrxXN7T!M@tm$Mjpash?0 zaf}#OssbSo-K6w073$7i<*sA@LdKFIITeEB@de12KI;lD6x${NN3Q1>5sWd22qW!{ zj8BX^At%Q7F3;@(?~~9yi!rid9?g4S$Ba(ivMtHCs|)kU_Z|(JaMw0*TQ1*YJbz+D z5T6K#PgQ3%#dZbU7jjh;bs9PE+)aZ(+a~7C;PMlnOvIdIJ!p14=EtjHTF&k(w}J^p#vgTh|pe~RG!go4oRBo>X( zoU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IYB*c+ppCkg$34+Uk26qWM)uIuS z0Cl~ph$xu##}8;Y`C$^KB_q7&jeqrZrZ`z93f%LX zx5Ybr`V~bFIL=&%J~7(RfYkW8rL_E=g1_m#c1VfZ4AN@v*^6 z$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZcz-W0x2-L9m%<%`#ful0 z%YM(`ypftA6uHu(KV~Q2a0)~L^ib%<~C&YS)d%2DjUiNZ2Cy3EHGyq7d+xLRnm}*}3BM-rsEGXc cMlb#!@Dt~|0o$o)vj6}907*qoM6N<$f>u2xB>(^b literal 3208 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 TrB|ZP00000NkvXXu0mjf#zCU^ literal 3332 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 YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD diff --git a/studio/public/favicon/apple-icon-precomposed.png b/studio/public/favicon/apple-icon-precomposed.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 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 diff --git a/studio/public/favicon/apple-icon.png b/studio/public/favicon/apple-icon.png index 7d55e102305d9561f5726dc581265b1a727f85b3..7583d2035e3483da2dfc1f9ae61a35944e2d3af1 100644 GIT binary patch literal 9435 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 diff --git a/studio/public/favicon/apple-touch-icon-114x114.png b/studio/public/favicon/apple-touch-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa46d4d25d141e00cd52afea852d9ef460c3425 GIT binary patch literal 3914 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 Yf3#Z=MKVGyyZ`_I07*qoM6N<$g0)0~0RR91 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/apple-touch-icon-120x120.png b/studio/public/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b0e50ef41fc56539ff0f7dd19f272da7b1738e GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/apple-touch-icon-144x144.png b/studio/public/favicon/apple-touch-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/apple-touch-icon-152x152.png b/studio/public/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..310532c4648a52f0f8282bf695eecd92b0fa18cc GIT binary patch literal 5816 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/apple-touch-icon-72x72.png b/studio/public/favicon/apple-touch-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..e4418058cef5fb2d846d844916a047462248c311 GIT binary patch literal 2214 zcmV;X2wC@uP)vlf}Hm6vzEMgzK?@z~JB@!^6Yawq5R$ zn!y-DKA)$xwUx&ndyIAK*3r<=Q0cO9V3{Y}0>1A28CV{7m8#Oy)5GrFyBQuHPRNAn zBA?H*b?a6(Zrq4S*#`VCzzPwuJ%Tm>y>X={CMM|a?xwdlw#aRT4I4JFbLUR#>gviB zds0MR@HA*!Tq#v$$BrF$3^@ROeSLIyccZH1iaiZr)EPdkj4O5U;6eKO`Vy{U?a|xY zOHWTvxgsl7b-n@C6VqWF9UW!w-o0tmFB90aXAh&JqjA{=SZ{z8aV7fu`xzP zz|hbT{r&yrimWg|TU_qIz(C@a${H%z*k*wH;&M-(JehcfvW5ya-e+*;b4udk#fyno zs1)qxyC^)6hw^=sR8YajnHFV6^wsDg7h0RRwrv?|8LU5@q5juzr2fn>D%fahIuoc( zGZ@?QIkYYZKw-(;T2`kdYDduY9AiIt6rDBQ8Se;auKFQX3AG_eVB*^kq4&@6$pIjP z1eKZ(N*#qSE}*dHQ{eUVy-)Lhg0LTKV)C0y5QKmk2b#;?;z)G~$~RDWdO2bRL}>VE zN_$Y9q43NKWKIL9qBzoH02>9BOp0{X2(q7QhlP1iw?C-rcMJtV1(>QKrcZnZ)-G@x zE7x~K9FhQo0kKh2oSp@wPtXI6@YEyMO>sKSyP&H6#FeeC4i%;fL30{l+e)O)!i%kF z+vO2wjKLV=^o0tk*6OB^9zk^mwylKx3^zesuQA1)LmZMs1S^+g+%o8Rb{I;HAo)%^ zv^E!~d4I(_7eriwj3Jk^7c9 z$d^9r3N94eCILsT=NJ);F^C8w?Tw62j5{GG#`iAI?E>$U&^?PWvSJ?1dtb+lPTsOD z$+xQu^T_ue4VrM*HgQ`n-(x&tL=c|{hfh^!HN|!X+!u0H6m=Ro@7zs;K-(tf&EWDA zpG?G@WIbqhJ?6)&VOq}j5D&h`xMyLaoG|i!2}nS(Lpd5b_Pt68NOB)JHh)$kCM8FZ zWiZ=TA&u??Wk_eD$Da03k(w} zJ^p#vgTh|pe~RG!go4oRBo>X(oU0X71W^rry7wz0%DHIf%jXlZD-nX^;d_zw4~7IY zB*c+ppCkg$34+Uk26qWM)uIuS0Cl~ph$xu##}8;Y`C$^KB_qrT1;jjKeVi8XZ- z!b0u^r8RVorUP$*o!n3*5rXt@=RztX*AZ2UoZ@~=l$}6_ioD3pEAk-Mdt|&o^RM2- zT%Ab5Bp-8qX$1xmY*2OXA9(Wr` zasDWK1VxSYb*4C3CJNm1o43i0BrD2MWRRd6_&$I_(+g*q{{Ben)yW(|8X_pVuIPo= z-LG6=)@$jAauk^(==%BSVw&pTy+UJOdZHXf_6V{AVUFsK_0c%<4xCC=l%uH0+I(4* z(jWyXDD$2@g>@xeQH~;e9uyYbr`V~bFIL=&%J~7(RfYkW8rL_ zE=g1_m#c1VfZ4AN@v*^6$fRNtTKp@A3O3pXxD=P$+}s?Ol`3*qC#ymZKvPpwx$MgZ zcrPxutu1z!!X1Ofix-#6e$U{%k)R~ju3ejWg|dbUHojqiBXPMM9UZi^v?N}ste~Z( zg^rGnaz&09;1E!98Pc*Wwr}5FX@BQ!2@#>Is|(AD9c@hlhm44v2Vyr(tzNyF&d$y> z>R3~Bc6PF6&6;vW`bFftyV|Q?0Ae>zsVe*S?PLG`{h8eYexoqPuzB-lHf`EeDKb`x z$jg2SRsB8A_RLruKYpBDyLR2S`^Xk8T0~b@7fY8etyJ_y5%~&))(TYh)4<<>+2yWO zRZg5Zaa+DvpuN5QM)dR&@UV!Sfym00s(u~#Eg2kwR0%fl4H0?XODH13&FHFjtulnJ zFgXzSl>yaffS)jRJjn)rBqF<`8LO^Yz4jsB=haa+Tk+rJK$#`QgH|IO^qQ`bq25+=QV+CID781 o{F*>;2noL?@TiFV_eL-NAMoe90o$o)vj6}907*qoM6N<$f&&^LP5=M^ literal 0 HcmV?d00001 diff --git a/studio/public/favicon/apple-touch-icon-76x76.png b/studio/public/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..9a76327f94bed655a4ed5081cf8c36d9a68559ed GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/android-icon-48x48.png b/studio/public/favicon/archive/lw8/android-icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..0918c9d5a5f6160a798d5e57e9e7a5501c2aca65 GIT binary patch literal 2138 zcmZ{ldoDx8b2TQq8DV2b>|AS4ZW*a; z*{V&7BC_4GcjdA-Y1~dXp`*5#()l^-taUnjt+U?s{GRnb&*%Gn-uM0ImwPb4Q&mYv z2><|9Z!foCD1)1!AP0R9!Pl~(grK?jy8yt?1=o<}0LOO&fG`sP)}fN{ z6#yhd!Z)!1fGY<86i3t+gohe(alW2zz}L-H)qbT2swi^2B9j2X!gn)ZV#m^}P*I-m z?e8xCQbAq?lpRF$L6)-byxm+v=~E+7zHB{r_jq;VwnoPVZ|r7H(_t1239G11TnZgQ{18t%rrAWZ`n@>d;W^x}`z zoq*OcdzYHpKR%A~lheXtV!~oD%TA^^{0Wtcm$~ij>p^Do3!3E`lWGK>m%zPKB;h_-nJAgXBo6qHOo&f?zxwOAq$y%bMW5ufb*H0 zcyaOBLA*6SW$}jieX~a`4dkr*E$;0u41R305{*RYZg7Opf7-#L)7R(-aVr8a+EW-U z;(4kdM1vf>%}v#y&#(cfVYQ&#`Xjtp8)6EI%B4 zQ?a#Fao0|)cGbm(sh8Gx^H@K>HnRWA->OHPRb5N@w z<1)5>ARG9#s_5+RGh`8`I`QjB+J(foWbTa0k?~bEycVbFR-XJjT{B6LpZ&!l64PX# zbbYTN$4cO?UPkPEGACV@WOO1GrRC(dA>+SJ68dM0xC4otK8#0P8W%PYf&zD6i}kAC z(21&0@lJWrbdB59i_DrNA8)1QahHJ7>nQNG)0oT+VfYYP^=w9?evy-iqtfAQV&Px$ zF#2_^+>s2gR2%hQ1O%8)Ec{Ep@WK1s7S27MP94ueg||Mcp7zK~T3f4pM>)G2P%9xm zdNSvb5*pe?wWt;ew@jKy^8-0asFLk@uecor~zS5h|vs$@`j;rieayW#ezBTph;=8xF6<)8koBA|G1}E?><= znZ9^v zONdnDvffsMK`j(F?#12lsSd?H{Z^4?_3>!Imrg8Jpo9){5(f4}FK1|GTnN(Iio_dV z@<(r0P8`CaTh+)OueiX~CZ=phuN{FwiSmR0y`DS&^d}1Wz8&_hicJvBHiRV zP?d}Du5sKMrbXbX#H^hh`LUxfW>~W{^5k$rJ*D{R`_c=7U3t!W+*Wyehf+hsJIed5 zSz~G4>$6M3R~xa!iSFE^hF!ug*1Wutu=Cm^B6V0 zIGLyRuBuEocvx6b_Xpz)K1|x(uta~L-{91dvp;`t)e%HXpNA;)%HtHHo3Nx~s1{0xzM&p>(UyBNq5|jRmA!#M%SF)2)Plezee z%hNf6H)*!Z<3P3LQTjkHy-%lcv7u_mm!yPAv)y#k|)XV7MTEK%5O({#nQ@} zhsg_q4ZjRi;r6!5!})a$m+uxjYQEgryfB(Qr?%K~1UPMUn~wjs$GnHX1tWZo%r)t_Kkw` z>bH74d8qwsIW@wHl;*4$=_k2Vo^NKc48GALS7bLjl3?i3Y-?HJ=h^0|0(2mE0e z(F`VuMumbwK5E70(e4fFUxL`}n`|gOnHh(}xv|N~Oe%|y!ySasB*6O0*SqMyG2WXl zIGh)iL8J2lYX^*T3^xp7P~Z6chdIQc@adb#(*{EY2+{rq@nv011TRnga_^EBu>QSg;`oB+(wjtSK_U&`PkR8Yl6nhfM4r`CG1)-U74t7|I9mxt( XSV8BLY#R|n698}b0Jla$?3sT7J;{qv literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/android-icon-72x72.png b/studio/public/favicon/archive/lw8/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon-114x114.png b/studio/public/favicon/archive/lw8/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..f32fa5c91e5edf717f8cdbec9fd45814e58f9ca0 GIT binary patch literal 5731 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon-120x120.png b/studio/public/favicon/archive/lw8/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..f740816a8891be4315a0a5bbe2f9d97c066da942 GIT binary patch literal 5955 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 Riy$Ka literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon-180x180.png b/studio/public/favicon/archive/lw8/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1bfbf7f005e35ba508ec932288803563192ca0 GIT binary patch literal 11605 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon-72x72.png b/studio/public/favicon/archive/lw8/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..83dfc47bd21897b6800097ef6f2d90162f0991c3 GIT binary patch literal 3208 zcmZ{mc{J4j8pprZ8M2i%Nh8^^%)&6nNMxDG5<{Ypov|;2(6xkY(@3U}J!K3PqwGug zSxbs6iN;J(wo*!jxZ|FC&i&nc&OM*=e4g`pp4an!KFdF!bZaX!L4Ij|000DWSYtff zWA_cr%bw4Fd1A(P+&+euh5$g%Iuzpl4D9WX(spVNJHi)&bqogpHS>Mrc%XlW#twprI7<`IXD~yYlXf)1@r2e(_zasCB1Ex7btUR#2E)`2!aURE_*`J9Plvj@SL#}yXuki)+UxgkCR-w2 zxf@tZT&Y+ZqgBvn3p_Z@mtWbb0fD@1dKC zc*&f8X_`Md`3;mJFn>p(V(!RDr|8#|<*3I_@r%rARP6Vf()>TO{Vy*yvQWdCFH~PV z1np$GyF4w$BkyEC_?gi=FN^h7ti{N1D) zYQ5E`b{6Q~r@SJo3wur5yqv1+xdBB^qwB(Z$XQ|Uow9iOpIl&=yyx{7z8oPF{FEIf zUCZ(8g71^-ckD*pLR5{xyoL)8J5imE{;pLtLA%>kAif^4a)r6$(=t*=xh=csbj@;E z#g`Jw8;+QZA$?q=Lj0#G1k3b9P>gspywbqrX2G+PwK_fHPoxBLF;9zBtYymWZO_`@Uw~EkPiAAe z`20RJ%xeks-EZZ2b*??d@{w~>%TKw-YDGo^amYPVY{kyyTfGHmW5=|B?D`^{+1TB$ zBizL$aR;^)+)fD$9v2y8JDxZ`H(b|HQLW!h};twSzxsbFWsXS7FwA;0$ z&l7(HT9x9sc{^oJTZ4)<%PjRm0^a3cJkNY1!slDTxu)sPA-y zyWZx(rw?2a{a}1O4M==DFakzudk5(agXzun!l@Nm~&R2;ci)TrKjHu_#gs@_ZXVFJdYcBRAYAnvq!ZzWSCTtd!Bv+Zq zW!qo-=!ZKGDkYz{t2idrF9PvW_TFiFUJVKU(JEGE#d(AGmqmwA^!UxWOFDJP^)qCQ z!VOA`2xu_SIwzpu;D^Pp)u`HCNs%$~jXJ~XT4cnU>2$l~%le*|%jCdFMbk7(Mv%?TF<1Eltlaa3zNuu*zrR;mt}&M z^rfz$QK$%k>DE-iP8Hc9%t!61>;M;J?#`J*gL-8@v*Hf6>z-K2zj`!QF`l$wlAixw z?zqWe9}GP&`*S(vA|;);S~PY5W)!e0)0ar|5E+AOKhO5@fu&}9%+DlvvVOXSK8C9D z{lfYG6w*#ldb;FC#>n@Wt~w4`9P3ZsPEPTIgE{rkP>=Sv+Wb<1kq1NF9&&HM3^sMP zSVksH8i<L*3bjG}yq|jE*GnaS)x?WVx7Ii$<;+k2G%!3Gu-ryUvVE3p=1dXQZM{EE-vEhg zrq%kdDgSyLTaMS44fFuy8lDQfwm0hAs#_OfPkp^_j2`VCSnx=rzJvCh3*hwsQ86KV zTvC=h;wg0`I#3C5GexsHVQ>Ud(O#67e~OIT804)&GE5_NryiO7m??TeS)!u@9(d1Vq{bK*|XSNK)C+6$8%xO2+I7>D5lUPHYdQc~nD zp2U25d#scmx+YJlG^-SDG^F011h!hkI%5H{_i8l0+?nG6yksK2KlLr3qH~m;@Yf z5b)Ma04Lvem3`7K+GNmnk;AI!>LDincRrr)`7bPhyZwOfpXY z)!X%G*U{DDwc8~EhxJVPMu7swzXgHT4%nsQy4#F9P;`IqcdRj#GRzQ zMCQeB!y91|g)6JMl@^bhcrmgx`c#|RuAImgi_6IgmHwMG11`MiodC8|L)g1;WV|?P z^%}`qt4z*U&5$vFL=@&8CXOVQFTWfRPUVpXMcG4{qus}tKk66{ z`fp|L*4?~+pAcA$u_$+dceLG9U(e&ReN|s|#pgVU>Dsl&&%RR!p|5v)^_;HQJ^!Mr z5cjjXZFD{*v^j9vQJ@cYRVu5+K`?gHY;~har^#JLz|X0X#i#i|YTv_ zp!C2Yf#363|WsmE;AP9g^XI3&P9 zW)0ExXK#<;Y=&t$aU@gsBxsf6_?eFA%-QwVULcy(c)0#P?A=Eo zp7jteeR>_#QEN;SD{HEyC7ovYJ8}$os%I=iBd4zFH(Jj77>)m!bn&Zd2B(6_XCU1G z);y-6tN6Ra#ISO3|M-U0R*9a?jT zQ=T+izDZicaz01h@B7hq4kI_LM^1{YJ{qdG)@^fjXNs^g6%#^T-A=u^E9%UXS!!-u zP8K5@Jj!eP_A9!(35e=6^jGk z*gr=FqKO01(~anb_6YN0I{*PgXsW|d>M$KUI0CJOLcfz;zL)okP#F8Ogut{F}Kz z@Fe=~BX1tcf!WC6zaf@{Krdo+h!^m$T|q;Fd<^RBt^P;H(vD35aBW?<79634Lfko+ zrNTyp|E6P0i17koMn;r-r&ic0`@f~m<8gpDA;61$bZB4@F(B9n>g^Uu@CXhHhyLfv zp_*=52qaP$;i2oH>#5`Brj61;Xu;S$-F3B5p4x62><5D@X#~Y1AwYjwgXp2+Orti*xDQbZe9QYVk`jc(L%%@01ylYfMpZ_ zK*<0g7?9OqrA13HxtSWlfaAYcZc|Y@Ey5CD>=Xn5@}__7M4@&@F)heUfSVgIe+MzM zgBg1nx@nTEnQ)k%ZRq$Kaxzuai09ajvbw$&u`0564_8W-OCFCguD{;*%}9BWME{X1CSIgtb_4X?5on$4#5z(Xbph8^HhQIa&{CM77R4s zVjNm+l^thKI+L$N)(S8Ax^ny=sF?}H?#O3=N>(5i{5l3m>c*@hoKrJ1Y+0#xO5C1W z;TfkKF?#bKd@0AZ+6jh>W`bhGEwVQGv@sS??bAcCkVY*^j`=>phQPq09Jwh6AE&!? zL&;wv;eEYNPYSPYgOz|~;c93%nwupeVYe9Zsov)N`7ZD$KKUDWR}eCf1O4q!yqg_zLqnCB|_+J+n;ejUBwPU+BflR13%a7MQL%!6a7Ig%P2EeZ@ zu10lTym!|@ggC&>(%fU(JSyi+W_FBZ8(?M)r^7CzvQ%a9%W=%jP2pi`z5MdGabgk9 zNIsiBhmZncEs)^}V4cfe+>+{1RpR7DzD~+E>wDMNR^`8*mz_&kBy!qW~K3Ce7mi5T;IzE5jR#kda=(^V-H`mZTv`i>>&h=0_wujgN zm~*8vKS(;bTQ>9r8za!vtbC=X8eSX52M4ppjlGShd(Ou}K zyYsF6YXIRF3%Bh3H8}OA$z8bJaLhN+Trg3i)U>48y`FlVY*kwZ!0nXE0!B zh(;1cD$>#S*4lrLIIX@cmu~CP=RTH6$4ng9mD}lz-64f1^*CWjAt-DyMAo*ms!$5= zdBg)5o>GyT^{F#ixBmoAj4x2@q8ySOKl ziTD*$ML3piEp~yKOStl@Tc_s$~ee@Lz^_OjhM4t_}wBOtG~C3Vgq4R6$n6PFzF-NL@)C&n3aGeR16f<>Q3 zmDP4;3_v7mOYVMVG3Tpam0;zN8(kv1C8Pqn9t5YirB!*o;Tj|AJ(!NL`Lb zr5t{J*jO<$-tT=s2^v!O_U*b%md++ZVb{oMuuQDA$lFM_CbF-$fCr@B=s#z@Z;-sB zOYC~7Ushmp_BJMFfs}2k3&+eCY3Gy~qDDa#DBpdJ?R;}^CEa~kWiQq!!+PP;pDcU0 zLOb{CegAX%o*H?#P6*^_HpH;Gd~%a}>&}t^FO@DJ>D`ffW2+NyY0j~eyDzm`Trsn8 zFpqliu=+>Uoom95^;eBspnfy|fQ#rweH$Exvw(rl_&#A8hBDXwtZX8Qc zN1BPU-kup=4!0!0G?Co?kT9aaY*Rl4U$-Tjn6ufyaMC(VYEa=Z>H>OrF(X#5HbpLb zdiJotv<4;YbsGCOH9*&VfS83$g7Kzg;rKWW-x zt?ad^u2rCZN9MuwSnV(9^IxE_W|YgM-8`4Al05JAJvFptiy25$QM`57-)Gh?#_Sl9 z8ho#cJ*7txwltIFf)k3KwWnxJ`Lz)5|0!EWK0iu`!(WQZwrB%H~Z`v{mWPtbR+ow_v&nyvvM3crxDsE$C`i+OwV;PZeTuay^)NbEjXIS*mK7GqLY{kS9i{8_QNwwqbib z)xs&yf}cNRV#ym9n>--1IW8&Hf7V27DEerprnEJ_pRpB4bJ7tWO{N4&c7YJnQY_gc z7LP=a#FpP#DkX=;-xzOcyF01QXDCg~3%3i|i-BLnF}Fe(jSD7l=#rmT(oRi&t!fP6 zqy0I){WxM=$&|Qx{H-ziS64EnHt@ZDe>WH8pwv5 zU+Y%f5tki$L24@^gHQO_FL`tnKhP6n&sWT)jHP@muS1E?;rlxI_^L|B;ci=`z>Rk=jIT1^DAYb4AYM(~iaV{2cQh z!h6t^k~!9xT}`@KE>gZai*EVCMDlDSlX#i5KyD=6rN%^q@XSQqbH<)Xj`o;u3GTSV z(QOnzHq9{dBP`4wm2gdL|H@f|-{M@kWqWZ|aCNSZJPdupw8&;Wi;g^Hdzikj)uKCH zj#anV(&U6=hVFSS($U-WVSmaFIcL}e-Phlx{@#Wf^m!UjFX#K{x}o@(O)rx)-sb@% zMf{4eRfD4C90R)OlTfr!aO;Z|wv6VA+=F)bu}k`MN~lZn>}sj4a(n}9$khzo?PY0D z=X{m&XV2nfz`dZM#b}$tN{e%e$yXHgzNihrq;h0jL$x`w9#&EGU{Nf zPiD4ddR_eq_4?xJ_}HCb?={-gdY)k5NWi!fuuya$mgWFuu<|7ZFhl{YZmXmWRe?ak z%5q>Z6buGMI*R?D0$+a&&OPk^F9MgKsLx1UaD(^#RutgUCTuNxE!^G65!V*LnEs3i>z0+fo58x{Y>!2ha1p~hI8 zhbIA0(oojDinpUNg8$I@AI1TPA$a~p2Ft`jG(`9xh&j#|O9%_V0{>l=Vt}8=+e z=<7%D@%K=4cMZXz{r!Rz|M!zCUUF4YR#nwdMr)uoFzT+ZY7lj06)>%*n}!+$qvm>% YR&kNGz8QhxLRtp^Zh(Nj)JNU^4{!ef4FCWD literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon-precomposed.png b/studio/public/favicon/archive/lw8/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/apple-icon.png b/studio/public/favicon/archive/lw8/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d55e102305d9561f5726dc581265b1a727f85b3 GIT binary patch literal 13182 zcmZ|01yChDv^5G0?lQRh;0Jei_kqFP&%xboumOg_26uONAKcyD-5m};-(Rol-FK^A zb*0mttn8$-ckirpIuR;L(kO@oh!7AED6%pVYM*iUe*qr$^Q^XJ2lp94TZ$@*LO|5S zBE1>IeBP6p%BU$qKzPwWKm>$9K)ie=1sp*@xB?&`PK+QR`2Ipb;5wwYstSB&z?#TQ zOF(@5cVu@I#eb$CILQ2PhJav{|1Urm2qu+$Cc?SMDoVl~!owj0U^P+xiaH>TPD%Q3dS3#hl z)ZF4}eA59BO z*-7QRMEv}a*_vJJ$snrm_LY_1fX$>uxn>W|xWYhRQC*8UZvAD;I2PwuI5u%+dEA%a z=|nAq4u1!SfGVGN7K|^hQ0YRxxFEly#jCO8F1OvDo~zwF)q9ZXSR~~<7i^v$VIik( zYV#rD^!6GnGq)W95s3cIk?5K>*43XeYZn#IlqOjDhwt>O(uiih4RrE=RLT^|dRZT!J(J^QGn%&quJ`*!6Amt}(CY)Cy$`tG`S9vr-R9`w$T8tX_i3AOe@Q%H zS4~^nEvdVk+hs**seRCok0@xfcdblzphIB-TW`k`2i>fF4UDzL%VaxtCX8tNegw(P z0_j~@Vq)T8Qc^N_9lZZum7ymTSd{7gt71L*NZYUtYBWlo`~2bp+;n~}{}?Nkx53hQ z#ci~On0F0+HkWU(4i+T05T*yo4|JK5vG;UY($L4UF4)5!?-}YNf1hqmuesJflFq{* zMh;uVoX(IRmH%iX&`hhc&$RSj*adC4yaRds!2&<~f@9CmF4p)7G}$e$ufNoSF-=Zm zHRKF0S1J~AXzbNhN-rgVPUR7*uB=Dl?&(6*^go#jv{VvuR zn$HWpwcF32$?!fk<7Lc2AgCQpA9=1LoQ1yW(uN@FUAXd7*mE|U{|PbkHGiF1`sF-? zX-pf18w{H|hP)9;O8m>~Q-ikd?YoVVC2^T^TRm1B0Dx^*vyJj_L)*PZ4YAc2^Q<3Y z;gns&{u9xR8}Gzwx5vE;m9a7{2{{zL5zZ+rv;w!({aikIbfMyeeP>$!(4 zsjniV<12I7v3cwC$$J1z=jNL=(liSJ|2!8t*vNwN2cziGPaiW-_PoZU#KihoE#)P8 z&gVF1w|Ig$b2Z})y42h3`xn!J_Ly3%4TQyX^0^FS1-cE!aMONAXLRJv(pDx|ZAz?B zs!{vd#NO%IY*x8PNqUqrzB}~^oR>0E#jO1vctma42=q#iW|Uhvnxx$tQVxW4SY$m9 z@AwZWq1$d3)?RRy+hH}yEjRB6FC@sG8nBEdyLiV1-udiufFwGDxh(iS*uP(Xy9Z?P z|4y#EpjZHgy6ukcUmZAw)`v~_$~}fU9n+xFn>ZK!i)JAqu<#-$?D(ibM)Pye$g7L=ADLzWQA;k z3|F7;MpZ1^4eO@wBRbO1aH55Vf3g%dmHdOT`NGtfLv<`8;e_3f#G%fE*;LeJuy3xG zg#GrCeCmKQ)=dN;A*oUE`|_)8E(VAIb)vFU1Xv1jz|@J^Khg2iz%m-(hawfSNft=L zsG2N{>|agdKI2=|uaxO9TUL`cNvY&i*URZuj)@OP-PzOO2!<0xy<*2kK)qLejp;C= z%OQm|$wMz1Atu>un-$$y-ZW-yq%J{ZEjX|3EX_N*Yw)#24%RZYbO~tBkntmcSx3@v z%gD?jXGDs(hdRKBt0a>>p^q)Aw^e7oigrI=N9+F4*ddFqi%yqM0q{cD#j;5sR&SaH z%yNdbWd394)GSTZ2oFI$6zx%+#443&ym57$>8fFwIW#gkj?q#ivg}EYV@8Ta67c!@-U3HQ!&*<-YOc~s5 zAkM$q+m3}W-BP()OO-D1d!>4C!5@#HFf21c4(IB=LqA{*eVbBkN?bMs_LazpRV)Wm z#TvWIdj6F;xNFWaENZdNTGYIjind?ClT2uBn9Xk%QYUoWx zZ&7A^St#xOJ)_jJ)%*LH^F2HO&uf}c`J~BgE46-vxqvQ^cE9!E0veA>U#NDwdh(6K ziUX@+U5vdUW*(BSTrXQ;tAjuORH5avFm=dH^5IUtSS1@94l{m1Pn4_Sbwf$lp`Bl< zC(Z=?+YlcDgC94yS$i)ts5Bj(Q07~V6pUO%f)x7} zKqNt7tUB8*%hwWQbY_x9ow$kAm7#|B6I0@~J@-v}cbl*fLFcuW^tVXhAZ}{}jkpe7 zKdi{JBic~Zx-9j!!^GG`?WRsQXXM0^aQU_pXWQw#=Ss69j0goI^_7}#EtT-Z|cx-BNM`|ZGg} z8oG6s3h{mQ5aW&kosjQuFOg8wINzcET4vrsvyEP@2{HKBQFjkm$AE}OO^-iOMNBYt z^u!BgiQ9-;jO{3oc5fs}FZMyAPpWZ)u8ENbmq#FlE2Y7r=)i$~15%+Q z{v_Fz*;3ohr~A<%vRM)JBSLoeuW|@KiSb%BLgEugQLqQo7J^3uvbbacdYAT>{p+1=TXQz^*nY zb62&K7HRn*ozsE@eQ*|=jf(tVIu|Z8raGt<1{hW?R0=n!Y+sMx#u;f};-bf@n^z!( zAt~UZ3oe!x>!$iOIOEkxfpcSCyj-yM{x%Qytm~zn+Z==DQ=ko(@*#r} z34>3syGw+7i3+#y6X6ADC_1J5bHouxxEm z2pjl@ir39Ry5`jbh_8OM(zS~6Ge{J5(k4-RX6IYDvcan~mVUiK^M)8&IX~%wh4t0x z&afrz(M{eA>uYoir-;m`dR+DQh3nYt!84#rFqLo63iphV1!kmniD4VS)S?Q&iNgHj zChCx<-f}1kVv*)%5)RS*F8s}*NK(rL&R4b>U*1n$*|;YSFDGz2JD1CPbf~mv{sObA zYVvHgF%qp7H+*fKmB23CtpNIIL03x;yg6XGrz&V&-pi8lX1>;Rjleji21$VFWm`rw zkgI8v8gE4B+j*TFspmKW<6MCcvLDK#nNifEF z0KY+)a@a+>hZgfRV^6Fq(ciN#e9NoZ-dtb^Ev5~w@pJ2S+7s`%k%Ow&)*hKfb)VNA zHyXT=aRoc?y&ytS@@zZlFk|ydjWQFN54oY^uFg_ zGIaBMdKw3;Q-n>0xku{VKm8RUDD~VXlz-HPAm-|IIje}ck7E-Pc)rpfRXEY*Xjg3S;+IY+pBsKP0zjhYAJwfeU-^OSDUF?;*J-eOhD0>i^M zi|6b3p1q}E-{dYt*OG=^a@TQ9IQGtetqoLH_|I>OFjRm;2nrS>cT51yj>m${zpskYy>q#cBsI6Ulgs=tZqG|8JWHuxw5BC$rrH*XT!~^m-MdJW0Csxe3!yS z_TF_ED2yG^MSW>$U1)C+kA)|*A0dwF+bf8pWC)1rw}8&hw>#ecV##Ki5Q zOZ-m1jqr#w+aPMYKk+JttQ%-i{T|9VbY};U2}(5L3r3;WYw#ev*nFZ=x?6C_?0z6}WFXH?h2@GPboNn-Z9^`ur)p0G12*bKmk~c_l`~JeI!@b#57dWcT zR=49SK(Sx1oFYw;#-2beh(K<|Tq%&gU_a?@tFrww{<0_I^aJw?pX#29Hv)+2G36}^ zG+^~DwO_Alj7*|01^9OgKMkc8w;0|JE`lITf#mx~wAG(@8z;o0$k3+ki~HDJv&*@f z>DTc+e*o-Hg&}-l2zK*=l+;_HDBJ#m%q{iH3~M(jzmqihTe_zzK?N@OoLKSke|%wlS@YBEKAxkDTT2yP~Zx& zLr7Vmz0Pwdb$g2{O)&)9A!wQn1c+ol@ zzI1grNQ3TP5;V0*^>=aHx`AkJO()kyY0sgxMoNr`AXpJA)IafYbaJz&@Pw`Dif_DcNY z?%jy}wshNO?{bu3_d^eF4e8eww=9_mZfm2(8=H7lJ=+oYAm`K=Va3ZoTeF8aoH1_d zpXJcDGHgGPeRX(nq*&xF<8E=JzeIJouC?Fz*)gt#U+O=xcmO}>AUaTme3>toJpWpd z@Pz`O{|p;E;QaO@{rSOc zh1PQ|Zw+l=c^$}yz^|hYBXlNYT?DMdJBMisn=gM}>4h4xh(8%|uPIYs(E*I zZ%Js=?n48baZS^jNzXA3i$g{Q6|VZ!=yJB5;hh38ZFc;6MhF3-|7(4?d*!?H+ssVW zMCb>4Pj>IUJetyk+MzwGExzQ zfeCUrWZ3!;!lVs;UbPWO){m7wja^rVQ_g(M5nK~K+8_Habavg!XtbUAqM@fsLIG{M z{+~^x-YUgv+BLHeUWTciA&L)7om`dqJ(q3r#VR_M&?>p(@LfL23Cj|m(6qYKp>MB@ zNo!m)i!$iCO=GcUtqXBQK4v9z5cx4CUzSt9=QLTsA-j_(ncd=@?0c)N`i-vCP?!dA z><*3#Y(>LTogq$gXN~cxnN!rZTJr*teo8snqhF0b;H#vIPzM;L>+fG`{}S+|FhnY% zeaTj)y^3i-+ifi{%xvS2h158JfSa9*x!~)3-RWz*NW3P~f5k*%3clApN^`NtNNU(!nfO z_5)eF`Vl_v%=IcZU(R)Xvh96iOsEUz09+r<8FERM=WU2`qFFc&gDaOiKldL$jpQ#xPS|;{*44j-L&ugC2}bSIB=(hz zQi!6Ne-I@qWfIp|CjyEKl~U6u%>A(4(W96BK-&+G+L5t)a2{N5XG;jXF4``ww`Ko) zmacSErj_bZT7YAv0D7&cbLY%y0h6tlz-?s?U+NT3xxh9zto*xrv+sSDQQUXHfBgeX zDbV(w{5j(#jB|p2i>OogrMj2c@P{s7x@P)WG6`%d9FKb$$107pcUT`b?7>Fjp47}T zg@W#t=l{S}Hhe?+RH(J5$&7Ua+gDi}Nk)3|cAWkZfxnd_5zDCqr52l6Z?2tDgftJ( zf@CM#saWnNBD9EXcBsI>sXp7+&B2t4Nu#RP@Ma5pTP*57+cTJ_<;NEFSjIbne`(;& zJ;u~l=QOZTjtSo0NJxtyVO=oGg1INLvrHjO^B&F9mwoVX(I#rV{9o0LOS)-MZD)<& zG8stH@DLgsAryR*ru&W*&Ok3@CMk9C!$u;sHGswUSV;7r7I3llzNl4a?-`VD4}X(K zNUv5GMA%EyWaExuQIOR>h>u5<20FC4v;XEr@P?ZLQcuByQ1ov`ucIE0kEf-BmTnsv z4mJ@$m?+zWwC%GzSRD#l?=FM;U5Mx(-Zw%5~A`2ww-dleEU|JS1nuY~D zzc|_0DqV(@X;t%uz9S}&Q%RA^KXG?8uO`cCC1G7cTXyyM62QOy;ADP)BdY#?1{F5B z9Z@l9T(yEov_~ye3^I)p93MrP|9;6D?g-I{%^Z1J!fwaGeOPeWiD*XO?)2=9mwLVj zn#@5)hi{uF^su{~ZT7e_y`$N|H0)bhv7M2hWmi8FXlhNG#+ih@2Wr{&yQ|^Z2#yN- zpzlh01WkBeQ>&s?U1aolQm^oY{eal+)*HY|%j#oDCLKpMZ1_`xOW?+abcjRgu#)|pE zf(-6N2hMv06si_obI9yP$)(r4f(NkRuijyfjHTI+xQ{S_-w6L$vj5e^Xt=A zV%@ufi&((;^z2_le7U^3NG)uN6bfd!rW`r4hSI!3npLXI7-UjZScB-yBFR7d+^}EN z72h4`^Hqy69X8Of(2&)G=u-}1AL-WEL0|kAX2CJP0{cqSm|mU@m8W{~>mb6pkkxSU z9I>P%WZW~%lYqbw! zV7h=S&^6R=adqxeuU4yfSY+|?8rsC|F#pZPv9$TQcF^zy+>fiS-X;vg+NXGzJ7geN zmTR0VohW+fIBZK%b*Ct1UQDO_u<^p0@>X4Lq>=PYC*|fBj&}60MlQWnSuGN#XP2RJ z!blClT$$}pFu%t9$X(UkpBuPKhOvn*nxm?mlnrtR0&i?24h$-z;u*R7bTz+MN8Z)zd!qcDiW%HjOZ9Wr1Y+u1+@Wt> zy!X6G5Qpm%q%RMhfgI)Lp{#Qr@0uq^iKI}UugO2tPj}dRbs6_66~>npu2+O~3qJXDZM)lPgT)_T{F1LKv$49T_GyIA$oC;77<*oF}-91lUd8KV2{Ke#wq25(xzn zYchtA1%=3{n<#Q*dX;{W?7FdAMSX`lUOq#;3;EziXVq`%BUd~ND~gn?7j8y{DJbOd zMCiY^L}-vs{X~HysgTT`jjTFoYO=mv6(8Y7Dmi>X2mm%X52sV*>)myG_pe~qdMzb7 z*%*l{pn?+-+5qpYfjtJVG(}PFw`uHwdZN}FJoN?m`_T4(tC3OY7Cj!Ke0td7BAalpF=r5KyBJvA2PuYDrRVoG*4_`N&xSUb#qm< zVnEtTqX*3mCC-CT%Zyr1yLj!u0w=_Qy|-_}4DX>q>%t+3CWNFB)$emCj@_C$@(DVj z4Au11-yC%t`G?~A;1FMiF^s%HSNPM1>JJYibEg0)$|1C30;rI5+Kl*nEW@xf0eeU$seyPWtwc zdk-+`ge;{f>D4Vbized|M$M|UBSUR+IkdUWXk~*KjOAw@+Ot8=?eYvT%0pVp0o6b$#(08I6Wdn-g!ZY$3^ z-?x?-+D4&R?uV@FUmJIyOgCe9)nMUI<`gT`35$%khE7|!qKe6{0NsLGwEna+pL@_t zbNglj7tZs!5U((Ym@C`ZmOwxc{AU+Cw^!dbd;>NJrd*~`np@o<>$mxap~~t7Hw24EqOTIh*k`bRU22Qq=nNv{klq9}t-O*j`00bfg!f>o4xY*;bIRY? z13tftz{c7O2EE%5eueiN(pPGTVW_~Lcp8didP(4I!YbHu^TLAVsGZ4)vw@{T2=Wl3 zU89z7V-vsFNAl*4)T?1Mg~sw~=J3LfwHGq+ZJ=K7qtp*euymP&&BM;Q3N*WO!s?ar zn6W-kC;xUp`we%>L<|@j&_vH?4!|k@L4zMtZ3x`G9-rK5crV(P_F8>R#)C#k`{H~v z{Nor1v)Sb5E718nekQZfa-Osu3y-`|oZG*}|9LH8(Ihy@qv3$)gcn?ZAmv>Up5=!k zNlnqSi@W59!E)i30c^-HHeBR5t{Ze0T&dMReQfDbRSb2?Y^fE002U!`;y)7_vj;e2 zCZWFwNLGaS%bgIqE1EoGw4O_cB)fHmUfTO(B;qUT(%1e{P)DV(GiLKYkEQ%cszbHD zyG7XiAQ&S=&O6&x;A&38GDmfNxoy35uJaohw)W8LTC$cacC=0Vs=WQl8}Pnggo)Qq zn8ADBKK(Eu3Tvk~6DGTWoCIVk%IY?qa+}>JtPE4R(BwkxLvnkvJ6OsM+07M-@%S1V z2Q&fc|1BK}3P0P7@&-KXm^!g&$6#f>^&wDjq9%E%ay{Vx2}vi7V;+2{4zF%Xt~W}1 z!7fTUhp3&X`aarCg6i?8+2sqY+MM%fppte?BQ}03nJHoh(;2LKJK5YdrghG>(x8LT z%Tseo`2H9ZC~%0Tl+&il=IAk#lY|eC;~+G>UT@Y)W9s9IqE1@EwCkHbrZw%X5Jhqq zUyb#%?6k-m9xvJNXt^j271M!u1h7m~eA-zzrG6Pn+U6&`M39k0aL8SeRj>>^P~ydB z>24bzrvKAP#tWiMtMNML$meD@*lQ6qn8aY!pFp>dG=g679cuN{An;Mg_J6H^ zpGrFSAtGDCuxToM*GbdCg1@pxuu@fe%&$`Xm~&ToOqkO8Aq->E0En?uYhNH>Yk53m7(tQv*9I=k@Sxr zXbtAi2^khG$ILLkw_12x;7064P5Rs62zM_*RQqpqHoC))=-=v|H0Q9QhCu@wW%tHV2+N>a>pygCR4z{Tia>^R(E7 zz9%1vUf+9{`P{mhM=nHf6nT)Zj;>sA7!(#L-r&aWeJ-|UrLs}3a4!O@e&;sti$-St z;(j-FMZhgREPw4#d1^@(>ldl^FM<*_hcabxsO-x>n3Zbas%>kbaXO>$nhpN(~vg)GiWtlYGwJhLZ$ej+>)T^VX8!JXM4o~XMYC^=j zzl9jlqKFEt)N^tF=9Y5=&;hPk`HN83)XR!*`74E=wbFsq9L0u&=7YR#nNR0DlkQE* z6#z9%fc42$Ki8x|=kL8Nk5*2LUorjqaIhGeq=zaNLs#wRW1&UNUMS=}2aZ_fbaD4R z)@)fSh9J%1j@S%$ze{vptB-JNs9m)bsGv3AIMEIhU*EmbNv8fD&>+DsZw@Y)gXJa0KS-C>CkmOvI*SMuS zSs27}Y)BNSBNTg0if&i7LV9Rjax|tK!;OCtS1d;;c>P^7ur(5ioBD4A;c(3mZr)R5 z7H3Xv{DFwh*zIwGc`;kGixQK?S(i9Os)58 zL2laoMBH!`n{aaE!JOZqCzmMLA<$gktAK$*o)yZkYIznrvdYZ!!^J%X4No5FhA;vq ziN8~gg|m&lf!Vk-Yq-vV-PEGI9(}O8UL6aGAh|w9j<@Qn)+^e8^wbjaNIN4GTw1;A zlU{=+!Nf-Z7HtZ)slK5!X4JH@9J$BluPi%;%MoT`3YjwE=3tfFAb?b44mkP zUc!K9=2rM$m9#=RNz`7WCpcIg_Fa{YiKMN9;)@NMZ|4O{a*FeQCngag#Td=uQjgI8 zb_6S^{zAw$GM2q`Z39k9ADEOR?*Ac?>Vj$7R2W=3HCu3iqAM0LmX8M?$`tGoqPrzO z*chC$BD6y^Ky%6Y5;Z~MpNlUG<}B39woSWq7@Vr(lb@IWqH65+MCbGJ*y*+kt+bRz zm-cqvo;as^R$OD<2@!r5@po5Jt(Sl*UHihy`@56a)sXw!lcvrs?v-oIwr;DZoVCff zlIR~7^T_IXGt5X@SL!$lk_@-UrXF8;y^`SCe=gYgb1q9cpsHFMWcu{_Dyub9j9K(A zzO1dNk?+^6_vjGL(4>q14&aex*#)xNGw+w%AF~UH)sDtIumo67nOg>*l*=)ULl@|> zg$(MOKs6J9Y_sO-b5-Pby4>rl8y8OI0t0ZmR)wNMcVmph?l2VZ6rVHf`&#f@O2u(x z$%tjfUoZtXGahin*S6>@9$Yj^eYTVDxS2M92uzBg=6Whs^SK|4M^LkFwVE9lrNzQw z`pFLtNKbnRVVd5SN-`-p4QjVYI3QrC}2*Do-Qu4chRPq`RM<$K@);m)#~h6=&t_BxlgOZs-%>3{S>9_2}Mg^lTq$w!uI0mlRbOR4uJ+&&5bx zi#itIKU$JE15cd3T|U0-NsOekAH?*?hGsJsNov+6vpl%XtaL6aYBsDlbv7jrNT#D3oMzV5t@T9M5OAa;)Nab}^2y4EZn#y`Jsxc~*Znb7gE?i)G z$eJfVDg-o5T3(rq_i`*`pFtFw;&O<$A~C-j#2=4%!se}QZ8RoTBie#?N(d{0hj zpzE4`dr4n&;4m9=Yv3zjZD0oCMiiUjY07GH`%CK{}jCqzG@x8 zlO|d>rJ@#b3y{AiCwn-?k!!^kuylDl;8#zoVz-cz0rHl{2#b39`}xYyFyyACY?doS z$hEo?b>kTUj!c2R_m@dYO5p30m61?s|0k5jay)p#JKX99@9qBi#D))uEn%R&VXL=` z!;~#fn?_$;(36jIY&V)a;>L^es3=WA$nL>*!bLcR(gtJg$^8Bh3{aSV}G>$0HH9C`z#m?9z>POgNyD- zRio?sPH_(^6L+imR;f%~l;%BoGR)^o9{I398Lh%~B5#6^km!P%IVdhejCoVKz>hir zzB({vi!T}|BM)Q!#aCfc&OZC0b|(&m{aj=QKEA%&Gcz&^+#Hlu`d#01Z*;qNe#~2S zX+CY)`{4!mK-jl~Uv{iGP8Ks0uVI-)__ZvI zzC8=?@Ei*%L_LdP-G2CqnPgAomE=6Si6g1g6;tPFe%&m1*#jM)i%ILPXK1W67N_F#l@< z!vDK1q5A`l)5{H5=Y6g6xr>6@MN-?v%-F@8&(z8MGlF0Pu(2}%c$fg(8mw%596Wpg zHU6adO&Bg)vti^* literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/favicon-16x16.png b/studio/public/favicon/archive/lw8/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc90100bf3a0c061a211fa8dbc7b47b2c3696b0 GIT binary patch literal 1396 zcmZ`$Z)_7~7=H)$uGjYZ=X$+%|4LijKUmxAt?RZ6Ft&7TWv;Ya*)S8*uDy0Q=(^GC z8ZcSFXd(l)X^>z<6EwuBYykp%P(Nvu%>kP%bNa!A4;l^nO$>=~n@`8oN#dL5eV==u z_xJps-}Bt5fWMhk6etivq_4%>4qltv^38CT+ch2Fo=G&cH6V0tO!;R-26s!erM(TI zLn=1EIW2f#*U^YJyhDDHTqUxSqsmHEz(z z8I9bi&6$aU@-i)$Ql?YND3wgFlF?+&3~G!4(-HX^%t#Rc(`hghMHFhWd_7U5#%Yy| z(qRQOQLMuXX~L|*844>h5L?ukL5~$Pga!EZn3*B0KtkhNj0&3;GZ}D;NwL*{TTO~* z8QhkyD1lrGD}3_JC@sKXAS_0OwNO>IrVWIxYx_r-iP+9+yFrf{GlIM|B}G2dXsGZ# z9bU}qQ=;u&N8u$9M#}UgMuQ}fZP$cime2caa|g{gYV=|?C3vW~OZx&NFSROn95mk& zZFl=@_exZawfe&e>vY_D+smA!aVzvyLV8QdJ*8w*H5H3nzwEQk2MXTGmu~~*(5wb# zB{SHRI|b_(-R5gnB@d0maJH)IE7d_7H$(ecte~9q(byK40F6P!0z+6`UH$Bb8x;J- zda2#t;ml;8tc-JcWqmDYRbz z;6exL=-m0p_#5e=AyTDK6QuI-nenc0_{Z$v=$VnxQ)f@_YdI4L^#mBn zzjxG6>}@+cy7zP-C_D(HeRI=y?zH%PGhf{cE`{gmq1HQhXPxDh+Z+}4h5PY&-EWT^ zkEbTCd^lAxIk~tP)h>;_I`Przi7~N!GI@k!W8<&)Pbn+xc2S&6_Vrb9@$uI*#LP^^ z_E|CYu=f|YOJJ+Ig2AQx_ZO>KmUCUZ8oPSE^XAv{w-y(w+#XN$%^RDMS(ay6`S1bDe-e_Zm>56y{|U#o zKDY=8mRyB&DlTOsM+MX?Ndsx#=@gTZgaBKN9(JUTCO(}jejBi+95&RON%ru(Hxt%bnMaRRBb@fu}<}E+DqC@!Y$+ zeubyb4Nv>qeJCy-5ukNvvR^uqN;u<@Au*cjPdon|xw9(b=BlgfxM*FpE>;tXcxr1n hHw!g;>O8eEPs9Nk4$$|2S-cDtkgv(_ooWof^cOABiB|vs literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/favicon-32x32.png b/studio/public/favicon/archive/lw8/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..b8fd7965f93fe66c00dd714e3577402c8f2e0c35 GIT binary patch literal 2056 zcmZ{k3se(V8pj8eNiqRK$U75~%!KexX7V5}9wi~X>f$3jv{hR|2qC;7K}GEzrR!@e zS`|?XS`SpzRcy5)t)Ng5w;oVb4o9R1PrDZIv99a!xa?7n?2X&q+C67yes}J7zwdv) z@7_6gX4~S089|5;fgmU-E7NKNz0}vJ^T5;k#UHPLZobQ$ZHA!JJL#|N0luIk)0PcE zYa<|N!yh2%1#oS+4?%S#1U)Q(Ak%&b;#IevUy=wx{;L-ME;kJmMMg@M3Ykt7o+uMX zNl>{24VR)3QZy3t5rqRp(Xuc=Ot_C&xfl=^jT0ta3IpK;QCV+b2U7tYh7T@-$_oL| z0DPto0gI06iDY0zh?SulC=2hu})wAPK0*V1umS_vK|VOa0o-6101Qqr%wxbjjGiQItnB`HuQ5FdN>C?oX*=UMzrtp zca-ASOYs|JvRk3BD2ZKHjD4?R7KrJ3yYwQPA`OMnP&iCLQ!ESnlMOv6q{Xq|FpQpH zVpS%xYZKWu3GC`@!QSOzU&-jnELh9{TMJ+pO8bn=1`^Ksy$c(bz8C^J+_APMIM?N0$qJC$WM=Ng9c zcDYkSm+&`LeZqXd_=M$~v&Wonr@M{IeE&dzxp>_joNUOkjUtZwC7JG_+|nc2E#sCY z&5!RiC~TJ(J-nb9J~lJ7e$92`>|G7Dapx{AmL9PuyJ=|Zbj_ZKKQGGKZ>o5~*E*(8 zT9;%Yn=Hp$J8j2z=h$*aZ%q#$)Jq1##oW9KU5kPnYYvHz*R@PmekmW-Yz`V5<1eQU z*RTJgIb5T;(O`{EMkMmAGpCdu`&n~;{-tui?Z$224(#gMs;6#A?VTR4DV*PNZ1B#w zw5w%NYhs%9hp_!Q#ycfhyS=NQJ!?RCz z!1i;lY(Q&xT$oUBK6-V)?%2*tqg$t+iOI8{+Ip`(x;B(iySKlSr#vs{=z4r>D)#V+ zxPbAY>CVe=Z(z-1Q}q>3`-KY^+S|W=Hm#T#I#a$;I2hrmJki%^9PrlB&yQx#n?c5+ zlmSHQq%-}h=SlLlTG7(n?fIRXo#hPisz#k*-TMA@pJ+?6g|Eh%Gj=YY?4AGl%d0s= zb>D|Q+`*&woZq`f<`MoI`-hSb^{ox+z5V3L?T3pkroO;$?)J}AXfEFGnf*XKJG-x` zt?tp_ zr|Q>a^2)7SF4@VV8Kh?W)5(pDt%g@$`lIQWYt}|h1RFyA2F@ii=_^VZ8F(+&mr^oI z9}4WwSd%KBxae@%?aa&*W6e!XdmlW1u`<2=bi?hxC9S(T{?W^^hlP#l?V}IgHBZ4G ze^;c=%R3M((&mYUvy#&-w~gkJpALY-Ecd1@^A_2?PLre72|7qksx=DIpdj_RDz!;# zFp=t5k~EPd_4mu9znM@`Rpc(N|Nj%}Wk0rp2~uALPgSvZwY}B}m3Y0?9uq;hE9@>O zXl_TDvZ~hAI}&yfX!$;EZb@B5p~+;ea@18gE4?PuVj%TEs-tr~z8}Kdnk-)ylPS~b zc9nP`l~J9tvL+8`cyHzTMYGghPpu;XYv>R zPoC^tpn_C7qe`n%YYpmV=FVs!VZ4B)DF3Zco-GS1c9%QB)`^Nr zZ+VrAD7LS1JE|%@#ILWM(Ac%=_;{n*VRRUa^me<>pjT^2P_xjeGZg9UN-#qS*7qZK R>Fa9H)3DP3004R|O*KQ3w)-no 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ literal 0 HcmV?d00001 diff --git a/studio/public/favicon/archive/lw8/ms-icon-310x310.png b/studio/public/favicon/archive/lw8/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..474d2d508f49a0a2a294a7ffaf296ff88a55863d GIT binary patch literal 23344 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/favicon-128.png b/studio/public/favicon/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 diff --git a/studio/public/favicon/favicon-196x196.png b/studio/public/favicon/favicon-196x196.png new file mode 100644 index 0000000000000000000000000000000000000000..adb05b434539536d834a3f7323dab922a8994e6c GIT binary patch literal 8213 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 Hu0mjfjv4HZ literal 0 HcmV?d00001 diff --git a/studio/public/favicon/favicon-32x32.png b/studio/public/favicon/favicon-32x32.png index b8fd7965f93fe66c00dd714e3577402c8f2e0c35..7fa29c547a657b28319a450eee8aac3b1d868a90 100644 GIT binary patch literal 4593 zcmaJ@c{r47*nch6P?oHrGDf7r*kiIA4B2-T8Ds3TG&7j7@0=D!wyY^4HAoc6nms$A z?7M^pC0Wv^b57^`{y67*uj_r^=eeKz_q%`ha$WEHhna~!8>=8I003+T2)M<;8~p1A z9X@yx{r$fJ0IQCNj*gjujt&@4z`1&OqXB?Cl4a>t^hgTh`Z@R=ygj9|GPNCXVp~?;oBl1Oay#fHVpHGmM(A0VnG)3rWWMH$VZZLCerh|Ik4F4aczpW}38nS*4eW{7el7MYB?j{$(-c3;E3 zvIcc=VQzZCbUw@g z1+ry{h?ISE7Lxebv|P-eYrBc;3@fGD>CwbL zi<}n87IQqy&V4-*afZG9?wkp$h!|DQ;HZHYViX~jXPKwo&*_nAB)&|=v`@@|o`=%F zsR1 zgOeAZSXmRTH3lh9j#@pn=6LF86O^xKU1m00$nuWw>0se0>(_-!#oZQu7V&01=GSv; zum1?&L9soLj?&ACM&w$dDp~~Yi14+@q1WxShX^)I%aUIAjGeDO-(E5DJ+v$23k@)` z)FD1`rMV`!W-Z+4VqkA6omx}*kZIU0(#_T#AjKr5Ayqo$S>#$2Ty$~7f24NAd6lrr zx4Jw+_rYgrW=Upk!Z5HcAC@YmD)XwSs!^YwPwE4xWy%uE=G#s7rSU%fP0ZKaP5w{x zA$p(iMHvN<5>>!kRvER{Nkx71y5~{Zw-!15_;`nVRYH?{Zl6K!*-G)xF>bSpWPWv5 z8t$YsO<@8(=B0{s_K+LRYszb$t3B71g;Tj9HYIbwXejf3}$*|BWpiY zkM7-xdZe4#Y*5mAw_#mGqUvt191+-^9LQzV)2yJjr!x=o0Bt zAc5r5>FbTJUe23VXe?|hY+SN+6LNb%%=)6ppMRO!!IkQp%5RA&xLJU`@86L;FZj8t z|HZ&&ZpQ13v7!%{cjKLE%|TChjiob$+8r9z=vrUbw(MqZbk1fKWE8ylLS2M9`a0S> z?$(?(Ez1TJVQ;GU|1QG7n3k^8uOzgiihqTdVLsrOr2Nz7z>-d zFd-3F&%YtGjglX8lT7d9eGAIsy&|+D(e@ZM4++5)?b7?;Tqy z>>-fGza7ML?!4R+=}+e6mZTe`Ey*F;oc*p_P275X;q6zKMm=8=eBEfC-WJ}dm5j>J z$|sd!#1BM?lUZ_f6O(#Z&LeXmdLp1oi3j_mu{6pLKV-CJ$%K#u+-g=?Wbz5 zXip7Pj=IN{`dni^0<3KYJz+XufHgkFy%CuaWvW~I@XkZ?(uzt$)w>H>Hp$iM+DvzS_3pd<*~eI@$E*aki{LF@T&q-o3JhcXUqu1Dqgx2rO3th(;PLLk>dv3;c zm3O`EVp2pZu3qhYNgLgGpp^T~KP$wc!{$fP(~8;;;v++K<9-2O*dtEyUYejMtyI6b zK(_U&(GA+f_J0l^j~8?ns;XNE9Q{b2l$X++6Y+%kHr zW7Sr*nDo_n`BEQ!AY{k0evml)eOTJzKBb1xv*;*r%99{NS%r zfTU|jvc$QP{E!4Rpyh&dMuQD7NH??v8tFp0(T-LH0450!D?5^%u@MY~!$>24`ACy7 z_yaTmsA`b$NR$_v1a?Ndd0^Eb^w)I|u!oBp#8%N*#u%@IcK1N|6VR6aCRQkaFO-T4 zL_-~{N`@T}V9+Ean2hnp5@BRD$e+BhgY_>n6axO!h2*6M`Ad|Yu^CtgM?iyBq-CT~ zGBPsYiz?Ex7iCd$7hRFgl3+O*IXS3|GE`PcN=^Y#V7qQ64nVLAjfl7u5z;c(u+3u)$#BjJedI6PQRL0SeZ zVT?q1V1HT8{RuHPh8bXqBqSDvHh`-^4oIXuJX~P%GAgnva1|}MqJomFtS($jS4$2q z1J{LX!?k4K%8I|Sa2(19gT|76V_gogdddolIx-h^4zN1^iv2YZ82mwGIGW($i+0f? z;4t7nvxa&6w-)99*76tD4*a>hcjStf9W|2u4K(t0adtK2n)u1HaBq{0K>6u#M+#Ecx3;9d zH8RG3bB>Y|nZvXm;+)DJvUT!3p?;^Hw&cuMK?sC{a~aMMa#s%{a)T zI$%-u zmH{F2wVU}(i;9X-?k&s$ zkC-1Fyl05$5<0{h^@I$roU*$s5{Sm?56zSKr?;#t`5n&&KJQ(N7_}V##!lz;b kks2&&k&#{7HlYl_kX2oYV{<~`udk+ot_i$Y+bR5i08bu9Jpcdz literal 2056 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 literal 1150 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 literal 7997 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 literal 8351 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

2yjGPtG^bD^ zFB{S&A@hmpE|rT#ml%KR6$(-5he1=%BpMHEy?ieqD)(olg2MVrIWBnaFH0$0(nqExm+^v zS6_ivF5DX)FwH7y%DTHS_R_(hKQy=1K=Y$#xN^%BN4Y(v%zTqd7Fk*9zj_I^7Kt2# zrZZ0&7)d^@hp{fxqXXnf67FbsFzI51K5Uq?+3>Og7di!WE17R6T|iUIQA+c>!Yf$@ zm;;J+GG%@>ev<8|*><3g!8Fe5BaTwkh#nERUQYfddtEXss;>e;X(ehh83C@$KB$lV zp>bO3>0-a6dCfZbhRBm0$>j+bRkvhWA+7oL^-i}%JB_1~MtBh`6G*fMUsR3!Ma@S? z#wtdu5UT}mof45*9TBqk4HIl@_VsZRf10~RYy&noX*|HPQ>XxG7`AWI^&3~r$r2@1 zmdGX-hWQvZYEJIb8t$ZzOuF}_EjwXyY53cq zo^Hk~vDIh=CU6gX=9G}Yie(UV{+&M8uF0$p8;Rm1Z`|f)e!KsKQ=EZ*__O=dl%rTZ zj6Uvj^XSmIy*LFm#O94&YGv^$?}#+(;cJLs*bNfr(pfCXw3~7p6wVP-3H|lcAA8v= zC1{26>YYeVcxi91D-SpKgKqVV@%>p{2h(b%#L-GCIbF~}cV@@=PF(;NzzdYeHk?w6 z{Am%BucEH3n%65;vvutT?zEDY)dx|u%y9Q1I02wO!q`&;Vyx17n9`qdh)f$8Su1%-i5}tQF)mx%&m1JHr+0h-Sl;An9d|b{XC+(-S zdgT(Qd}4CqDzW4!jI^|J3d>>_YM$O7f-(bHaVZ5rI3KIu($w393pNlYH2AVCMqBV jMCh~<7ZI}-vE)T?@FM!RPBv4D&;U?T)KvH)XA$;avZdWJ diff --git a/studio/public/favicon/ms-icon-310x310.png b/studio/public/favicon/ms-icon-310x310.png index 474d2d508f49a0a2a294a7ffaf296ff88a55863d..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 100644 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 23344 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 diff --git a/studio/public/favicon/mstile-144x144.png b/studio/public/favicon/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..00a5d8b51800f0c80c7245d23d5e98dae278f873 GIT binary patch literal 5379 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/mstile-150x150.png b/studio/public/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..4de1d9b1cc18a062ecbeb63f90db71c06909dbc4 GIT binary patch literal 13573 zcmW-oV{{}<7l6Z!ZQIz`*}SoB+qONilSww%*tTtJW7{@2`^|no>dZMkT~~E)bK&+!N9S1>T-p??EBl>wOm42%>^ zT1;5Y>(^DbH&AcM|3s*@0;hawYn>Zl1}*}NYEqwMzrRbx299Bz2Db|q&nl6Yic3S2 z5oH{optzrra(Fm(2j?MhhmL_kO}4svX%vce*^e9}hHDqen3xDi41?0qQEBxl?|2y9 zxPGqaEWXxU+UiYEsJ!U*-05tsxCq#}dFkx+%{3v+Z)OIM38LyV*)4i~5ir7LfwY3* z3s%v`r;FvT=mXz%`h38yLt2HigK2@Nh2RIOEb%ov4=F!6^xfq({{ZJf;UVFn2@r&| ziVhSb1o)^xf7{RX?~Cc{h5Qai095I`SZz5lk%Nm^?jX`a)`QhU?{$EoUTV}2VUdeR z*QV)(B8Cn??#cu5>8)rWg@)rGS3gmb+wQ~fl9R8P>IiO7!cxfLB>6s|ItkqtsGM8r z>vF&%F%arp4ENFRN*LiKA&|o!WDga;(d@z%FUIq=(nyK^(*~^tuLr3oi+P9%h?=n2 z1>Z$BQl)^_BoN_gT9)sF-$et1Qc6URj9P-KPKYf6xZ8!WY z+q_c+DeUOT_uyIj;vB|~eG!bJre)Wr<-cG8@sZ)Agx@EF0~d7uhAwx^DUXUU#`C1r zM~`u*B%urAdUJsXB7T-du8x)=fE>VhW#2`KI*x=5Vc~NFH-!Gup3w0o%xEaIQ0F3f z`CX>~sEvjsOq+wQyz@a*{q*D<>nw(+978b!_6O>=H_LZ3sw< z9oHhyeA)^(iU+LHJ5^z6=}jfGraUq3xP&1-B-5s$&H zH|mEtp3PO1l!Upux&q3W?tiUA>y-k1tjcH*wLux>8kCDFSdjBiX~ zlOu5iYaQ+k8!h$+eZd`7HPmuSCGuG#17QffPm8MFC;U6(6R8Xtysp$K)SQp5g9gys zwZL^w;J_eS{0-R3f)TS!v5N6dkH5g(5Qf0pVT#>mn{pLge!i8h?ZKw&toc%fdX-Ld z^w~lwcL9|O^fiP7p-jMNB7nkx;xU3F-Rhrjj{XzdhZMlcBOh*S?%S+p^g)*}iX7n=^8)eki;=HC zAMJmhH@r{tBY0d6r3ACcVGAb?$5Yxb8z$S1(sa{*`1^EcJ-qat09E|+Lz@8yhy{Bq z9czlZtqw=Ce?Movzur!$(#YgsCyv+{G^%!G4d2mea{XKcvwlPSY0*8|of$|bRMFh<5q#0FVm<5)fFmeM!>(B4~wdbOSbrn6G%&}Y=C{uR(4bgiX-5T zwt@{2CMPD~cBsV`;d@GO z%w~2PXlvPs+ysj7I_-kBZg~)ZGMAylMi>{vZml8gyWbwdQ>KoyX%!M(&9E~vbnUr% zxmw%5h=cr&uF^mqAtd0k+kM_}tR1C2P$9RMat=Fyhc~c2n3p6u>iM{?JgG||jfHDk z7I@tatupNGIjtxK@3p;_0xjaya}v33qvb4d&(~9}>*MJ>c_kKrbrMvkuj?y4BUz3; z+HOlE(VP%k7M&;}USci)v+~ZG=JJ)O21a4|_uG;r{d9 zbIV4J)s9(J@JLs6jrcseVl$_4KZaut1#Cjnv$ zcoX>dqX9L6l#pg?YirYeMPFQFO}YrH-02qrW&_m2KVSM$0!Wv`Nn^nhguZxSP>2~T zIAYo>M;Yi|YRInJ~mO0)fW8?YRef#M1a;qieHh%AC zrDs=HOa=79=`4@W&-a&&{a9ZTq13yF=<`i$$~f^h%{sH3&``#DjmCrF1<7=(dtNZm z0{PXYr4fdI&NU15<4EPC47`t03y%F#gHmLM;D`$46%`YvWYGZ1CX;DQ;y>8Em7_wa zTduadJIC%UgwvG>1-ufweP6KEx4O`w1tIq0xVLEw@P*UsFsA~$ou?fHp0{=Xb zSD*plWP@$prs$QGkR>%Wry~pzLY#hKo>s`wE6+g|qY&|_iE)Oo7@wV;(N$DfhfxNA zHwYL}D66R9xT|EdLvN`SEH24fZwN2$?LLHsv5F-5SF!A&;)6k_dde04jb14G#Rnco5Z(5s%Vxo58zL& zoXvYHvTh1E!701`dT-IRvXT%qRkK2@h$)@-eQ2+@`tQEWxp<6N(13Zq*9F|4gvpMT z=l>$X=N4$@U+Rz4ESr-AAM|v4Rb=Ko_sA<65%7v}Mrg?i4+yt(N^YXf)f950RC*L} zWs+IjqbAl|;jOY+G|={NXK9D~A{0z^2fQ?b^YJH|1l@E5iuqI-k;zEV;+^G=y1X9^ zo$-N%LJvljT@nxl{|PtC?;nf&07(X(7nDEhdt&>zxOPeAlgqO}6eQi4_%iU(6FeG2 zk%<6I2@Cjj&pM5veH3)-K5XUf0#3#FgWP^m{h+O!LwJjHishc5dao5sId90=JE%{l z^nez_j#Tj=W5SM5f&{6T_&Z#x)NYht3B_7(YZ4g|)hwuOLim5>krTWRxNV;tZmM+A z=D0HvVa2HP^OtX0^;zUQi22{{pKxhT->x15{h*sT54?!D!l_JpRL+c@l>z-AuVGH( zvEPN9k$oIKUw8i7@f;o^kdAsOPB;dxmi^OQuizRL%%D)(;io|TP5BTb(mv{!Q$%O} zH01RC66$@Dqq zP#MfsxR3Hyditw&`cB6&yoz*D0$|EGw=Q<1dQ#l4#NL!q^UIjZ&%6Td(ZtQdn9><3 z)+KL#`bgQEVc_*YK;gVKy>k1z+~e9q*RXq6DtnceL>!qq4f*+~0A`1H55CBc`ztFm zV8MHjxLTlZRO=3dP1Sm8TxR-RY?0dgZ-KR3NrrMl5hO7ld|dx?xr*Lah|GN<)l8yH zDkty!ShHM;Z_$@scGPx0$<95#a;Scw8&lU*%lzK;Ps>xBG`FP>aM!sJe*Z$YcQ73m zBu5worc$b9!o@I;Yl@CZ_7KI59a_+HXGa*!B_TEPQUBMWNEM~$0g|~4oRR>9AjpwWi z5JugzVtItYE)2ZDq-E&*Ichdo&82}}?h;QsxZcOKt3zLaKd>9=#DV%A%d7TxGJ~aj zJT0crNYX}L%URwK_ji?&kS1bnn^icA7|5fr4Es}pS?HJfnD}NRn=oFei(e+lm0CCx zGg4Gk{4~O$Ig|)*u%JrgfM7DOu-y(b;F#t&^Sm6AcZMjI78u0mtlz@F2sDS0onCx; zWHW!WfqffmE!?IJ``S7>Z9G|Xi1-UEa#MW^jiYvf_|QIS#TaRyw<(&7z zQFvTW?Z+Axo#kd7rsRk&XhvI!oGcM-))^H^scz2au)_MQa4xsPv^+niAg(5Mi>6s@ z;MSt@r}l>6UPf2PmLd&pgwW~^ec+cEtD{Vhibo9$Iw=;YDkTKd7Xb#H=*@Wx3j1<; zk$rS&s66{g7t6F*1jKw;@b+57^F3z5@rUD2@C!$1090~9@ddSzNrebcCen;VZ1?rc zncN|Q@Mx@Ar3nvflS=Z8uzk3YZ`CGf^FhCpCMgz7!|)@WFry&0yHWku8my+3q(Tr3 zc#keoqC!01`npmNyEyjobjf5gM)$QOH;IdzprpbwrD6-E(x$`=J-HC6JdC2FTEzQf zjbHB&g+?J;V`W@~WUM!fF#mD|QjU-vlI_G6q%Vc{+-0*^!k19&Drg|>zvBqAMph?z zrE_62+(A~3i&`9D(?KuMN2?re0ypnNP{{_Ap{nJb{_vKmTCTgw$7)HK2o-IF>zZ_P zO|)qZiNlF2^P79%Sx!!ji+2;QK5hwCI8j6@JJR((+LXaD9@ z=RCvTW;TqTSl4dxz+bOYIkv#)l#t^R>WY+1b31WZ(Bm(2$~HpC4@Hi6e^g+MY1>sB z*b?^N+EK%!8~2=z-U3ff4O9tcu}a2Q8Z{a+StRVJ6>B-%kG}z@cGccLQTEoME%@5- z4#q~*8;qA8@%yFiCK~n7_oM=T?$4*Ww9EZvS!a|3C74903*2%yL95e?>U0V7g+zl(81hSrn%b0(3T_{wq^iR#2b7*Ta589RS6HQl>xp zt;}|2Vm3H3jJ$iJb1-K{b^%@5E~QRz7ePUZG1h-AIfTBMtKpC(%wSG>=S%b&>&nKZ zdAOzazOd&@JG9;1Ta)-2%tgn*R%Qzl82>0+@&^_4u#(1>7q8aGJF*8T%{bmd6j+Qp zn-T=?_fMAABvOe)Nv+aQg3mVrSrIo}pU%4Oay*oZGK$AVgwISwCTb>A)4IeXL~hm= zmCd`ejLw8>e##vWcB-Hw%bdKZa~Ai|AJzQOF}N`KJ^5j^768ksRK0c`6$?8m#cIlS zUgFt*N!Kp^?E-$Sg=A=|Q^Q5DaWK<=>0)t$!8$Uy+zx(gd#Z2If=zf_Lchu!PF+V; zr=3X&ymHk4z}ws=$ug&{5{=54FnK({0!ZhhFU-!;8n>-l>io*BX!N_p-|f>3he@~7 z%)AhcoRFfwhQ8nqyk)6!p@6@@UTNMSWpF%CT~Ucc#u(C;l*4 z?vAy$q|CZR7pwLQ<7s|1gKfR=;5}K9v^}T!IHH9)hj=bL{k6a*2jkQ0Grk6+eQtzg z^tG}`7GCT|QIUSZf5y(|=X9R`9|gXEPreGnDin;2Lys;XW)&awQ-8|AjOF%Z^L%ch zgS9916+##Veg;zFAK97|tO>pFq6f?1)uHn-F$zv3plZE}bfrr253AC4nnugG9SP%3 zv#yN*G)D_f`M|7+g65>wWWv^2IBQ9!57Ix3$+>PDbRfP!|1{kxniKAqb98$FLJ-R3mq9q0! zv^M5HSeZ)X7&q-zx!B0&wJ@&b(3Fq8morL|&~tOg#VqFEPEe>R`LZKS^>zaITk_KO z=00%d+|T&Ue&>SDA9pOhp}$Kt2Y?o`guf%GG7LpDDPy%l^Py*2jEQ)9*(OIKxr@>w zoE?r=aC_Z7T1sW+9e38bJBt+_Njqh;up_yK23V*X0?(Llm~Z6w5z0h2GBE_{8qUqCTx1OTmoAWAs!rZGybgk!c89_1?Xg~4qb~*W6dQejJRXyVaC&t+K*0bXDMMl)TIrI_k=QyTcbBFNvC9m(-m-|W-RASUL)=o zM#vs!pCUQg-{u_|4Wc$W;u#)9$G0$gHjDoy1l`17~s z$b$mQ7UI5v?bB}GTYWOFx&I0Im(bP8u~d{dk*d^Y`9oApa#`|K&T4XAERPg5^;!7x zcx@1s2|%dIHe$PrC}mDzZBuc_-Pt9iB8L`fV7}2JPj@mDhwvoQ3GpZUabArOjgA}c z=c;&Yw%?%`OEU6_f-0w}N6ze?E}ONyv`L!kkV|0fLB7Fxgb73vxVbGp{A-WyXDWQ{ z<(9Q{=Y>zd!UEWMjZv3OxOu%#=aT*wnQE!vc5|#wmr7be*=sRx<0?lI@B#VY0#uqp zv)(MPP+|bnGPfoboksNI7TwN2HCQP%14rrLHK}{JjO+AvJ!(BhWtXF}@m^>y$N{#XI8sAVQT@$`BL_n%>df!_^nEOPXN?*hTHAa5i_nn?#HPc znhK#=X%r^kgqd*yR2icF9SQ@ZL)dEP-6}I9=N2tGt&Gxjn;PbQ$CT5khK=t7su`Z1M`LfMA=?Oh(!Hv4JQ=!d+_T1upmZNQq`n|idyGdyrW>j7QSEAvp>`LMwQI#`btc8C2g zosncp$NzDygMG(64<|mvt&DXMQ-~UF?jV>k{iF`DqA=6?Qtp;(yr^{@gLT4!fN$Tj zFoz*atyk;+hft2yc_Nc&)dd<7_)>Nh8Y(n?@m*U^!PA{q zDL%%Fnny|Mw9PN87VC)zU%Ds6Hj*KLD1aj9eU7dyCe5OeYztYjWn=jEwmYQ7BHfdl zJzr1zeOG_hHpcm-<>pfGJkGt~Zx(2Tfc`x^MSJ*T(?Q@rlf;`q^Wo_e<-8 z$i9ojNI4g?aWBq85Z4U*mytD>b=R`3I{Q=93Z46;D8+w(L5ms8#nK(5Z0(SQ9q6mS zgW3FsOg6ZP&-UDE>#&@F<+BE6^Yq)Vp8lJ<5=g8zU_@4EvHs2gdQ+ko<=-_Dk<-*2 zjl#&KRXMig^DS4qEmm>LN^#q1Ad+wT{biOYdk{6~xB)j!C6lWY#pirZsu9vTdb3G} z1cxB^NyRw{KyT}Mrp#ub1iNks8o&52G@0R;_~FjscF*Gd#9C9%Bw_%rnDS<_dUUJK zte=yvp)Y!go?n0a6ACiW$uzZY`6?p)F0?wi*O+twd_Ma$v@}m6N2@dODGd1)GdKrh zJNxX@45)@pK6J7CfS{@ON4ZHGs|!sKa8i4HS(hY6kqfgzTV{`YK-gxS>d zVQ~^yliPs@-n-e=WNQODZ&+W4pNPD**#c<@G#Z7BhNUxdhoQQ?a7KTMkE(J1KnLiLqv5eq#c5|#i;tF=KQ`{0a- z>udIgI#gRXJQaO&=J}Xc^^4vlf9AXs(^~pswys?{YQGEohP*|* zsOoo4@!l0DpJN^cHFKsRsViASU$H;8$7US$NLX*_vRElIS$oA|I=s z=o3vcS6}`~9A;4yJ(1S0RZ@AE%Xb&GDg@)q0eyM5rlS z#j#jo5DEh=J}2NYt+iTz;tbUoXFv_th0olI%K4zUC85Y0Lwa;Be&af^Q^@T<7%n0b zp*+O2$>VkGv#gbEmcZcQ*S%*uZ(02NlY zD&OMh)Qv;_SzgsSC!rWmlY~$=1*dZ1SCwE!B*MmzNYOgK(`GjQ|N8E^D{h(KQ?EUl z5QO}8D>9fuGkgFcWFxGTNAPqRGYaml-JLzQ4yzxZ#ukPx%^r%AZ-;_R97F_R=e2AH z!S+p;K%-M9v^}uLlJ3)=+iuU)7ImiPP*az7tT}UQmpTmrGJZ7Co|b=>>%FH5yd5_Cn9@_Z}w8>cM=zeu%Da3SVPHTRhmNU^mn+Qzsu3*`i`!7#))Oi0P+@Soz z)%74YUiNGq<9Ivx4?rPoOaJ%%Z-JMjl^nZMBUf+V1bxvJNu%ONWelD(ies)l*%JPryKIEQIx6~}4U-Y&PptmrKN*ut zi%X+bH}h}C%q$0xC!^SZs}ELodl+4%3}W2kaB zR*7I&_A*gKxJG?q3~Yp~r%$!mpJG2<#u>#{vVu4}jroAFUf4`l7h5^3|z$u)HdA4*QLp--C;dQ6v z?Eg9{Bgdp z(N`cKaXCl#PD?4d!f|AO8aJGbT|pB8P@o{aPY<3(e5IWC+6zxxOHSVeS*IAOu(JSq z_OMxgxis>ltj|KgOn)Uwi)=%dLjHu$pqy!bs=!c{71{-86VR(B+6_OMNirfEuME+a z``d{M^uG|~xnaOiYkqFJorPrvKF zp?8#FGxk%x$xyouRwvWlaLJb)HxU6PE+42d3j6kG-YDJ(R&iDF+K!t}k*78Pn-FJY zD~Sf#Vrs2+u}5K}5+>uWE-Qs178BHf{Nb<6!b%h;?YtSYxXN;wpr!^vq}jPFu0_@0 z{e7JtE4CDuN@x4h__^0k7)cFH0tOA)SP7kAkocgEzcJ;%V0FwBt>ka}+QjQV&Z=7rqXNkL(Tfwj(iaGN6u64zA}6yR3-!t&`QoGlWQPU5 z@9ZdIogShVT&wzgv-tDdB|=lS6>%+W!dG5VOjbIg8-drB@9+BPE3~knMkWabzIE{s zi~u}8!1_e((2&R1TIjhyAr-(TL$S#@QHHBk`)jq=Pq$TM{Vd?ONR4SL?YS!;X5Jqj}N0 z0!En-go<&SZk_x2pk&Wpry5xi{XZ;f)m_XxRP`tT>bwlyHPuUzH+*_`%}sY%QFdDz zN5P>fl53!mRrbGom7OhLTw6bhtXX|`xuj>{;gPjuiQnJy15mLrkG)v^uI?Dt{$f{b9e7i>6V2lCFR9e-FQF_a zS=j6<`)Lcd8vX910xnM`@lQ~!ECd@u$7^L+nzsK1;xq@`4ZRJK+SVL=&TJterGn$N ze9C{>{c=9#mV%KJFy9$YvV#J|*Azh2z)b8TpHRMgu~X)@*2D)vi-tzMaLDUQiV z=mllPH(`Kine=_rJEh%TT-9N83=^_6xz@HRlXHBQv?-J06Wc{F5fDY%!m5zeHXi;B zH#q8Z@lJHb@?0*C^Di0dOs;P zOr?U!5r89qH)deY>Tl~D+{Eat_!eh3eGLlz#Mnd$ut2$y`}OLOOKGls;bO&zH|KoI zzVS#oNEr2G**H`T!|`yvEi##tgBHj?Fh=(OQh>383@wV;aEAMCxR`Z&JSoLvQIP&; z?4rp&sdSv1?_d2{6>eNi!Hu)14X+{&|92UoPhj3u@*uQra^8Cb4q6QX&}zt6g|&xR zAGM3pA@d0j*cwW&!Ugj2> zy~#?(^jIQJ9&i;{<4fLU6cVi?6#YW}4Qpb53 zz!iZrO+MfkDJy6% zP>%|iOh!v~ySHWGU(BsdK6K`IQcDkfu?3<`X67G2*Yg0@%XmccFIh2n)^5Yq3Z~}1 z=v}XO`YE;9-Sj|_M+CP#BcfqY)0IBNt0>5LzVSW#OlXaZfonaQg)ge34bZ{xeD zE1Yuha~-8JTL^xQoN}ws5`xn0r;6clw6&M2+Ha#W!G;3Nrc2(5F5gy3X|sVgQGnUG><95EXV6hh97uLr^Tii2bHkXH@KiyDVxfd+OLM}TtzY=lzE z{XG1`&DPA~$&P}g)ReR>C;$y_q%@n2amW7M?zW{$jL9y{h%yiTKaO{LL(9KkAKd;f zf1JsRbx`5BxhV8s5MJjdN;F=9lQ160-@Fqrmdk&ylv~>z22SfgIYcLlf)EoZOtz@J z!otEx8z|#}-)n2yYU*25d5MhK5IaB+E(71iOTrB98(n7oe7PpBMgfbF2JxZg2}e6* zt>5NkjJ5!~Ss_jDo40N-Bq|QLQ6xYip~# zWUneiBxNz`KwB`PQaSmv^eLXYP+CK`P({ATyi_bR|8;!x_ zu!P=CmSx^6N>QM%;1kCE$*A1`cSobRZKkbN}UioFT4G1A7q7KEo5bRH=!h zeFT;y0oLLqARBxw z2}D@Rms8qOBMc}h$vDr8<2d(2<6!DPJ%}x+f{F3~Rn&JoF@XWd%4%NInVgKeEmdXo z(8h9&Zf7dX)w-IGWrtw5we=EUUk7N*s!G__1HX7(UkioaDJ-VamCc$%SdKv?BVXWq zY2d`?+e1u^56rEqYXlXcOgRxIPe-y7NL!u9l@6Xc8h|h}D@(i40_n#8#`i+`4@Es! z5g-I%rzkIVc0mFtqvw0o?6;4ROWU9$jLWVEBC+&9;M-Fq3^6slu@*q*P9R=e1xj9C ze$($^S})-3NL-T%7HRtEr{Rp{kB1B&rtUY6;C8zlry)4vouWQcYY|Y4TDN^FBO^$M z{@uUnb5Si$<3oiAwj-C^BX@t9Q%dV)#g$)J7`oxm8OKoDrD8D;j{$l`JOu*y#_e0T zG-mZmOM_`dU|f7lmVJ%YA)(+8$>3-$uB5gcTJP1v5!u-Sexf<2Y@Xod%J( zF|!ZN*}yE9U7FJrIPte_P8lQupiJ?=Ad1kGX3ssA$JKh+a)*ID2v(D%8-}C# z)pzpag_pVgFxh98G!R~k==+~$@!<+$4|q6jNZ4bUgLw2I1p<`>;sxv zT3j6V((}^o_uQC!6w5wS=IL6|H+o-%gsaE19z+6$6X!G-KK+mL+kWX8&Gy_LzuxK` zen%aFmZ3YI$({u9Z)573`r^8}y4_h&w-me4N=h8YbEk#N?}B~3;3*RS=-C$gjn~n@ zPf23`M`dJ^AB+&>vDzRSx$Sj72DFs&NePaGv4wq(^u;#JG<=wQwBUgVpL?*Jmu=-5 zm0kA}44d93*#h@t6d=lPxl=lX#Vj*3Q>)vDlY85XqV$)GOko`Hm*6eTaTgF()TVyf z=UW|`mfzM!5!pHlI3bc$iA`a14&?S@F;N`Gf!V=N@;Ts;VTaQkU8u8|LN!Nfp4sD5HB*o+^@;pRqve0c$Zrpg_iop`voMn*BlkEku}8*&$}q?yScFlJ+cJocgVTtI&7!mWD4d6dHZ_)CKBl)0> zLs-E!VLm;J7mw#_s_L-Bo0ggSXrkn3y*au`V+lWkzJnX8%3z^uGWyYxS3j{8KnI`q zxO9-lI#=|ih}i-h=o|J2XiDjdx#)@m2wwenmkKU$0L}wkyAs8Vj#y0iN-!~llm<|5 zib0CtuIFpm!nhQd;9v1pLuQKI_{uNpst3(-IN-V8Y9uwVF#xC^LB2uXA$3z#-2ID; zx56mMh&u%F+A^%-62iSj;z$>hs{0`Oi26zjLUKdrSq73&5ynh**>?Gic#&SEz6s-s ze+$BiB9^=tG#a%!HX}qpq9LT#xv=i@4YCbFh^k6tZ3Q%uA_jvS(cD7KzjFy`%3M`C zrrcXw?Xk@3eE-Hwni<@Qo({t?gy93dhkN$T1B0pNfo0wlzJ)W>9nEA4HbPne|ACnt z{Ef*7Z%*OxcceHu2e~?V{wcK#!e7?;^Zi-w2J@uRbWG%*tHr#bQvc0F8-AzC)YBwK zPeIq-j%KW3jHOgR@VsaLkHf74Zx!k@M2dwgK|J3H4`(1rvJ3q~U{|bwx uu0m{<=Ik3XnB%Yze}X&oU47qQnC4zEjbGU!puaGIfk}%ih}DP~h5QdbWJI+9 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/mstile-310x150.png b/studio/public/favicon/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b1121df62aa0a102760d52ae785b4a3c5ac9753c GIT binary patch literal 32880 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 ^=^^N>C7rucW4yqDElmEM!rhoHc8 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 literal 0 HcmV?d00001 diff --git a/studio/public/favicon/mstile-310x310.png b/studio/public/favicon/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea95ae09c0732921bb1ecaeef3f71aee22c8014 GIT binary patch literal 47471 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 YKIdZ?yj+&ZgMdFpSyh>GDdXV(0eX6_zyJUM literal 0 HcmV?d00001 diff --git a/studio/public/favicon/mstile-70x70.png b/studio/public/favicon/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dca345802bbb0817d2562cd9b27b91352ece57 GIT binary patch literal 4544 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 - - - - + + + + - - - - - - - - - - - - - + + + - - - + + + From e3dec5ddf35159e951d1927f1a81c3cca1be76d8 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 23:30:51 +0200 Subject: [PATCH 17/94] update lw8 content --- .../8/AnimatedParticles/ParticlesCanvas.tsx | 2 +- .../LaunchWeek/8/LW8CalloutsSection.tsx | 10 +-- .../LaunchWeek/8/LaunchWeekLogoHeader.tsx | 5 +- .../LaunchWeek/8/Releases/LWAnnouncement.tsx | 62 +++++++------------ .../8/Releases/components/index.tsx | 11 +--- apps/www/pages/launch-week/index.tsx | 16 ----- .../LW8CountdownBanner/LW8CountdownBanner.tsx | 6 +- .../ui/src/layout/banners/LWAnnouncement.tsx | 6 +- 8 files changed, 39 insertions(+), 79 deletions(-) diff --git a/apps/www/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas.tsx b/apps/www/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas.tsx index d30c96261f5..c9879188f24 100644 --- a/apps/www/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas.tsx +++ b/apps/www/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas.tsx @@ -72,7 +72,7 @@ const ParticlesCanvas = () => { className="relative z-30" > - + {particles?.map((user: any, index: number) => ( { >

@@ -37,13 +37,9 @@ const LW8CalloutsSection = () => {
-
-
-
-
LW8 Hackathon Aug 4 – Aug 13
- Read more about rules and prizes on the blog + Finished
diff --git a/apps/www/components/LaunchWeek/8/LaunchWeekLogoHeader.tsx b/apps/www/components/LaunchWeek/8/LaunchWeekLogoHeader.tsx index d66950f72d1..df14b669215 100644 --- a/apps/www/components/LaunchWeek/8/LaunchWeekLogoHeader.tsx +++ b/apps/www/components/LaunchWeek/8/LaunchWeekLogoHeader.tsx @@ -5,8 +5,11 @@ export function LaunchWeekLogoHeader() {

Launch week 8

August 7th–11th, 2023 - 9:00 AM PT

+
+

A week of announcing new features has come to an end.

+

Thanks to everyone who participated.

+
) diff --git a/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx b/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx index 9b9a07036c3..7ceebd4e3b2 100644 --- a/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx +++ b/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx @@ -2,8 +2,8 @@ import React from 'react' import { SmallCard } from './components' import Link from 'next/link' import Image from 'next/image' -import days from './lw8_data' -import { ExpandableVideo } from 'ui' +// import days from './lw8_data' +// import { ExpandableVideo } from 'ui' const LWAnnouncement = ({ title, @@ -12,46 +12,30 @@ const LWAnnouncement = ({ title?: string isLaunchWeekPage?: boolean }) => { - const [_pre, _d1, _d2, _d3, _d4, currentDay] = days + // const [_pre, _d1, _d2, _d3, _d4, currentDay] = days const announcement = ( <>
-
- - - -
- {title ?? 'Launch Week 8: Day 5'} + Launch Week 8: August 7th–11th
- {currentDay.steps[0].title} + Check out all the announcements
-
+ {/*
-
+
*/} @@ -59,12 +43,12 @@ const LWAnnouncement = ({ ) - const handleClick = () => { - if (typeof document === 'undefined') return null - const today = document.getElementById('today') - if (!today) return - window.scrollTo({ top: today?.offsetTop + today?.offsetHeight, left: 0, behavior: 'smooth' }) - } + // const handleClick = () => { + // if (typeof document === 'undefined') return null + // const today = document.getElementById('today') + // if (!today) return + // window.scrollTo({ top: today?.offsetTop + today?.offsetHeight, left: 0, behavior: 'smooth' }) + // } return (
) diff --git a/apps/www/components/LaunchWeek/8/Releases/components/index.tsx b/apps/www/components/LaunchWeek/8/Releases/components/index.tsx index 038bb8c1e6b..36e7b188038 100644 --- a/apps/www/components/LaunchWeek/8/Releases/components/index.tsx +++ b/apps/www/components/LaunchWeek/8/Releases/components/index.tsx @@ -225,12 +225,7 @@ export const AccordionHeader = ({ )} {shippable && shipped && youtube_id && ( -
+
)}
- {shippable && !shipped && ( + {/* {shippable && !shipped && ( } - )} + )} */}
) diff --git a/apps/www/pages/launch-week/index.tsx b/apps/www/pages/launch-week/index.tsx index c9dc7a474e8..928af4512dc 100644 --- a/apps/www/pages/launch-week/index.tsx +++ b/apps/www/pages/launch-week/index.tsx @@ -25,7 +25,6 @@ const AnimatedParticles = dynamic( ) const LW8Releases = dynamic(() => import('~/components/LaunchWeek/8/Releases')) const LW8Meetups = dynamic(() => import('~/components/LaunchWeek/8/LW8Meetups')) -const TicketContainer = dynamic(() => import('~/components/LaunchWeek/8/Ticket/TicketContainer')) const LaunchWeekPrizeSection = dynamic( () => import('~/components/LaunchWeek/8/LaunchWeekPrizeSection') ) @@ -142,7 +141,6 @@ export default function TicketHome({ users, meetups }: Props) {
-
@@ -183,20 +181,6 @@ export default function TicketHome({ users, meetups }: Props) { -
- {supabase && ( -
- -
- )} -
diff --git a/packages/ui/src/layout/banners/LW8CountdownBanner/LW8CountdownBanner.tsx b/packages/ui/src/layout/banners/LW8CountdownBanner/LW8CountdownBanner.tsx index 651acb2820f..e12413c5e65 100644 --- a/packages/ui/src/layout/banners/LW8CountdownBanner/LW8CountdownBanner.tsx +++ b/packages/ui/src/layout/banners/LW8CountdownBanner/LW8CountdownBanner.tsx @@ -1,6 +1,6 @@ import { useRouter } from 'next/router' import Lw8BannerBg from './Lw8BannerBg' -import VideoPreview from './VideoPreview' +// import VideoPreview from './VideoPreview' export function LW8CountdownBanner() { const { pathname } = useRouter() @@ -26,9 +26,9 @@ export function LW8CountdownBanner() { ].join(' ')} >

- Supabase Launch Week 8: Day 5 + Supabase Launch Week 8

- + {/* */}
diff --git a/packages/ui/src/layout/banners/LWAnnouncement.tsx b/packages/ui/src/layout/banners/LWAnnouncement.tsx index 01a9594a12e..d7db39bc2f8 100644 --- a/packages/ui/src/layout/banners/LWAnnouncement.tsx +++ b/packages/ui/src/layout/banners/LWAnnouncement.tsx @@ -78,11 +78,9 @@ const LWAnnouncement = ({ />
- Launch Week 8: Day 5 + Launch Week 8: August 7th–11th
- - Supabase Supavisor: 1M Postgres connections - + Check out all the announcements
From 422f6c70d068e3ce544988c469a5ab38caaebf43 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 23:54:15 +0200 Subject: [PATCH 18/94] add lw archive --- .../www/components/LaunchWeek/8/LWArchive.tsx | 83 +++++++----------- .../LaunchWeek/8/LaunchWeekPrizeSection.tsx | 7 +- apps/www/pages/launch-week/index.tsx | 5 ++ .../public/images/launchweek/archive/lw6.jpg | Bin 0 -> 95108 bytes .../public/images/launchweek/archive/lw7.jpg | Bin 0 -> 65516 bytes 5 files changed, 40 insertions(+), 55 deletions(-) create mode 100644 apps/www/public/images/launchweek/archive/lw6.jpg create mode 100644 apps/www/public/images/launchweek/archive/lw7.jpg diff --git a/apps/www/components/LaunchWeek/8/LWArchive.tsx b/apps/www/components/LaunchWeek/8/LWArchive.tsx index 3456a49ebfc..a21d4491333 100644 --- a/apps/www/components/LaunchWeek/8/LWArchive.tsx +++ b/apps/www/components/LaunchWeek/8/LWArchive.tsx @@ -3,62 +3,47 @@ import { StyledArticleBadge } from './Releases/components' import Image from 'next/image' import Link from 'next/link' -import { Swiper, SwiperSlide } from 'swiper/react' - -import 'swiper/swiper.min.css' - -const launchweeks = [ - { title: '7', link: '/launchweek/7' }, - { title: '6', link: '/launchweek/6' }, - { title: '5', link: '/blog/launch-week-5-hackathon' }, - { title: '4', link: '/blog/supabase-launch-week-four' }, - { title: '3', link: '/blog/supabase-launch-week-the-trilogy' }, - { title: '2', link: '/blog/supabase-launch-week-sql' }, - { title: '1', link: '/blog/launch-week' }, -] - const LWArchive = () => { return ( -
-
+
+
Throwback

Previous Launch Weeks

- Explore what has been announced in the past and relive those moments. + Explore our past Launch Weeks, and check the progress we've made on our journey.

-
- - {launchweeks.map((launchweek, i) => ( - - - - - {launchweek.title} - - - - - ))} - +
) diff --git a/apps/www/components/LaunchWeek/8/LaunchWeekPrizeSection.tsx b/apps/www/components/LaunchWeek/8/LaunchWeekPrizeSection.tsx index b59b35da825..7ad927cddea 100644 --- a/apps/www/components/LaunchWeek/8/LaunchWeekPrizeSection.tsx +++ b/apps/www/components/LaunchWeek/8/LaunchWeekPrizeSection.tsx @@ -37,12 +37,7 @@ export default function LaunchWeekPrizeSection({ quality={100} />
-

Get your winning ticket

-

- Join us on August 11th for Launch Week 8's final day -
and find out if you are one of the lucky - winners. Get sharing! -

+

Swag has been delivered

{ticket && } diff --git a/apps/www/pages/launch-week/index.tsx b/apps/www/pages/launch-week/index.tsx index 928af4512dc..80b6201b4da 100644 --- a/apps/www/pages/launch-week/index.tsx +++ b/apps/www/pages/launch-week/index.tsx @@ -19,6 +19,7 @@ import LWAnnouncement from '~/components/LaunchWeek/8/Releases/LWAnnouncement' import { useTheme } from 'common/Providers' import 'swiper/swiper.min.css' +import LWArchive from '../../components/LaunchWeek/8/LWArchive' const AnimatedParticles = dynamic( () => import('~/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas') @@ -181,6 +182,10 @@ export default function TicketHome({ users, meetups }: Props) { + + + + diff --git a/apps/www/public/images/launchweek/archive/lw6.jpg b/apps/www/public/images/launchweek/archive/lw6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c64bae219e9a64b7c664d233f704f5b50f153b09 GIT binary patch literal 95108 zcmagF2UJs8+cuogB!CWtBB1!tf)H9Dq00z?1PBBvp$Dmf1PCn@L7a&Q3}8U%5C}pb zNJlym3nJ1(Rgj{iC`}MYK^=7*|HHh`^SJ>1AUiuaNEq}#_SvL7*Qm`Ts?Zi;FhZ)s3X-1O!I~l5~Qi zsJa&dqILCj5W1itt1cj606az`2lt^>scm4O36)C~y${q%I1U}k|M5fp#$C6x= z9SK3n;Xx+B%4dI8JafVH0yUaSiVIM@K#ho`nO-ng{%3Jh;OE23y2^_G+!7aVu55Yu zR7Fp`lcH5rEJ@KsM^8HlfzVSlGSLYz4n`RnAW1k z{~pS~17m|jOkJ$8|9%|so4NA8-zzaOQ6~|p6BQe(t7l?jqKnYi)z{Ys?$D+sMaBhO z(2k_3{AUGg5-li}5*3?ASU+<<7lA=kvE+kr1d~6U2xLxHxlL7JlzaMmXBY?)#Iw~lhN{WoLvo==-uIL0) zf=w~TCKv;R5eA7sqxAGJ7!ylNOAOjX4}&!_wlqQ_|1;Mvk`@;b8ASTeT+081!a+iXR9}OZ~9|N(1rp9S-1MenEbIenCM2etrQ#A;H5TBrJ3U7(&9r5D^g(h_Ki{ zMfKf>JpR51tGVp?Y`~u=2J}{pU2!MY$517Qq z4>$~QMT7)Y(n3jDMaoG}73Hsww6qqCo{<27!H1xQ1%V}j`+*fe5>S3cB|S@LNpVC# zjI#daJhY37Ky~|r*_VN_$kco*S1Aj2hiVY*{T0+7gL7-p{{sQ=yctO_009sou;hQi z27@G&#Puu{odXatm;cB+T+8C+dnf%d@|H;rWoG5Ci0u?&sNz9Sb)kzFVaR_jI80t|fs zL>99^fW$%a8X<=1mLNLJq8=xVlOaB0vD3DLkrYcD#Cb_>taVIvrvA<4K{7Nu&5I_r z%-3JKk&!t^eq9Bz0D(07ipkD`;&PY?HRcgChyfCUTpDuqKPnJ_L4_uSarZZtY7gS4 zr=~3x#AoTA!zhV)e#$Rgp24uQ0@PHlX}BggmrO`>6e-M+H)#Z`gFu3bP@V{A zhOfM=E?Y?WC^*wU*?V&{G(t%1)=_zc+-&*YneF@Mh<~jfNaTR&yBgI;6%e?+i^K

I`HQ?Y}nvp+`&$MGSAwRQ`M^m-5olc>iNR}apQQtlFVf)f;dbd*@oGC1k;sfevY zsd{Y5lf|b!qKI$M=r7?@lrOB>=1;0$?W=A%ahKyM%XxjZ8S14W#DA5Dm zgixl2{qmFx2Q*FxL7q=RyFo%M$-9#UkweYm^86sP)z?F81RGFagpHs_Ou-fF;#Fy_ z83uXRpWlqQ6tlTWRY36#qe4=LQRJiMy!Y9WNf+?{-~nR4cCR?EN~+4D9__7@Tmh@3 z$gDmzRf0pDINPD&$}Ilc$gz;UzSKBNxHNH6G8l$d@1WeWcbhDmML(V_@E68`z`jHC zUh;I|@jVz*3Qfm?5c2Lj9NnN?WbkkbY7qF>pXwt1iLAl1Dp5|CskP@MWM?n_;2zh7P zII*4~KKrm*c0|$ipnHNhjrX*&@lWKoZiwx+GoV*17xnStyFm&$2HtqJX7aqdZ**oI zU5m>+A65k-C<+5P~u?v0A)M;28(q?9_*07 zFE73`b7w7FB_nshpQUvWd1ku{Rkz8;HIt75n7nGAG4Y;r{kg>$R3TLS_|Bhcfp9*|l=%E_53IVVtc#mQxHXK>*v59KN#4rWNOnk5Tc!0A%J20m>4Y%W)H^CqZxR9{z-285t_iAwuGTNJ%sa<}X}lp_MA)HX^(7im&YyO57s z!{~bjJQ479ClR?9Y&rvUpZH?h#zK(+@@E|A8mm31GCkt2my2d5n{IAyMpn>wj|64p zUcTATNyE3bkjc?Y6#9Ed;fLge}~M_K8m{6rtA(#nFPca5>*eSO3dS z90JEe19Rv@*~1s`(G)mA13i(K@?};421u++G)NE6K|>-I0;lpncO=zTO=S&|1;y$? z9x+-oRY&>nP9299i|C69@ngMWPR=lnSnLJ~MDO;j#SgLdo*q>|`J?6lYv3h~2x`rC zEys0ortOVF=DyR4!>=oY#QBs!$5)f~!-Ua-%gzD9(!v6@%Kc?(Gf*Cl(BQ%Uk`c;5AcKY)nH2d-+ z>gaq3Srx6me6qaMU`4uKO@^7d=oF+~c5v8C9w9qFx2Sv8EZ%oG-@S|F%3(z&d-a>G zF2;z>Sy+IwGi`;zh6&vK2wYiMZY&Q~ga*Sw1kXuYk_3k3tP3kK#Q{#@&>R|}D={ax zc}~R(0W1m9q$FD+95Iz?k3NS=t9Myy#;^|Wx@G_Dv`?3UU{B zu>^zY0?CObCP`W}GP)4rlnxg!1h+UmLczs#=E|jR@oL~Qs;)`UdYNz6Oyh8zj&90F#Gr_@dW(9IC3~@DAGvHQ+)a4a?K(dH3GL)|>5fAgNB5$h zuCzUA(lw0Gs1R?r(d8QK>VH)yuv`)FgGskUTGg1x#-6`M+_u|j4;KK-4vXQ0yITkSyRIcg`<`J@w`Byv0#)Dnh$2 zmr{k8tH9)(mtD}p&t3{l~JNirO9*Y2SGua!Ic4t7aWIjS75W}D=Kya-Bxzf(`ck~y>sxgI7 zLWf4pP_JWal-q*R=xHh>u@Qsogb)G@hQ;Xc1iDrq81ZazaOi7k5pN(3y0^)jwr(IOnp1;@ zr%4b(e`}WNQ?Fnox!TC9*rcnMnDpgo*XkGwrO?bIgU)ZC;gSWaje%TE-i@X;i{=Ld zLW&i>Y8qsLA`hpLwYCaZ?NB5BsE}r%9JAGrc17t-LzY%GoLe`2j#xvj8gtW|e8Gl` zTYJPzRuVv2;&imQROf?Mmnvep8C$B}<-_^d4foz1C>|!LYXD@mfGuyx%@(hI`LawL z&)$o@qxR=`5$>u%DQ#AU_|TMUok1wzZQgk7zW0(L@UWLW2u zMICKbaSJW>OUdzOu-2XR@Cp#%BW;Dz;>A1Hevayhx4uJSQs7Wvw@2|FF=ES3F1zg4 z=Z~I4WxG)B=w!=f$4%BBhQNp`W;l+>$A8eiXKn|2hCG7R0ekL4JC=}k7s!pP4CCxJ zK2&#YRS?|iGJx<}PSs%bm+y76*?`S{)>hbmzw&Rx9HpL3o7- zK&%G_Os|dBp;Q^g(7WX!*tFaG+2J5zWf5Df1zJ4KC+7LInYl5pNZ92yE}dBd=dh<- z-VQ7NY3=tp)RJRb~7YKs)G08TTZX*{ZPQ|(6VI>kgz~E82mpf}_ z7L94WK{i1-UeCu}`pqxJzF3%PR}^j*H(mY2ox>Ou3INDC;6g!RjFDDuct`AcZ6!28 zBNm41jD@)@(ZrSs;!HI304J#_wq1mod{9~Dy%$(sH&)jUFVaq)L?#foQ+D@OO6xu} z*pa!#QT-aBOpFX3Riv&wQF;@tU;V5w7I0CnG}CM#a0?GCyV5k#h`L-O(&AB7X5*Sk z4?~MQ5+skJY=w(&o^xi}sO{V>y4l{EbiO$30Th&;C1Q7JBOlT(AmJ&jp`4~@+PS=; z^-d(MhiGY74Hqx6&x4ofbDVuAkyS9KA~<07J3BXSROX{fT;^$7zgrhmWxS3hR2zhJ zmbslX7z{g%-|X7T@N&ZH7z-v6kskrgm^qKbdLL{4&5({2T&!@dwo)AMXNW{X-)Bhe z3Yo}ykw!R4Upi|)^n-y&M4tOL<$m3(Hl}u)B;yx)Gp1-K=$18I`Ifa$Yb@@nu5n$b zzl^wNDpW~&HQH;VL&GV<6-Z1OSx%hsYWpIWjq_QJOe%x`I}T6RE;%E=Wo2kjosv2E z7822M@~uet-KuYc+OCmZ0z_JYj2xH?!z*ajO-B*;4KOUN1mWuf z9!i)IWad$wMdOf;bm7awc0elfkX54$ZHQI5J8g2Im4qgQ5F4c$iLIo={D=J-hhsDr zPn3pyRoMN_T<*=zjjOq%_N42Zl#85_pRvg+%@0|-Z-Z$RbXsv_xv~AYGoT9*1VwMJ zqC>oIrlyVp`WhKRsiF^%2S~jYG>eB=2KnVoYO?&0*KDZu?H3&yx5%?Vz=}Z~H8_f5 zHLl!n^?KapHTOU|Rgo*nVac&#=}N%N9Di}^%S$CLp|(5~L>dgR@-?|TgT&Mg0&Fsb zqC;xk(5RgwX4yFvVG^tiORAr!u*~ta4|-4dmS_Uoee9uIyd~PPL`*)fTDw;dzv0~) zRPH?2uSyH7mQsBSQ_>;e6uWZqs-K@RTj|dSR)Nw$LYjKqVnJltr%e} z$-)gVsUkUOgUbd|#{+5UHtEXN2i!rCbf?sExaKpd-knoFoB7N1E0y1SH8t&{6Hwk> z8nVmHh(mir-TQ02XtmD4^L7}t7B@S>MWXof&5Oo(ehZ54Bo%=L0o+hi7AL@Q7^Rdu zaBn}CEQ-oe(Bmvt?oc*29f!?MG7TD@nP1H@2u$oGdnyGAg)OL+CjJJsnGj~?9)$EN(l*k^b8H~3l6EfaoP>Lyj!avte?JEXH07VKQ#X zs(?$vE4=0b8ssD+;gF$m9GC+lL5|$psI-0Oi9DuF$o%}m$tT@`&LJ}xD|pXzcv%sE zH5KI!r`Vh8gcir!GBVMOEVmGeQe5_4K)Ex9UQ*G4Uvty((Esch{)nUNW2StbYG>f1 zhp+2|#3dU^;vX6o?^H^PwxD0fTC~4@JO-slMAp(E^+*- zP5?`)9#?|#&?+}8yOZtR9OP$aX1}|0BP(~b0R~VNw7Ks=Q&aQ4*VQ76N#)pat>4T9 z*l(fx1U?|ucPi-OL)b?K0j?H-<;MYuYXDvW743>Gc^-oY+?I_4dA@~rT))Wxwph8F z8*amC)@YiD;Fx-fJYWH-ev&;@*z3BbfV&yIFE_kX*mpPTTPg|gHsEmh|l~Z3XTzHEwJY7=R5W)S;tka7b1%T@& zju_3FN$}V}+CN!Uq`fGP&!*$B1b3epsi!Cqdy~YTszFeWO2^98cV~Z&uex)4Jhxa_xuZYxF?vYY^SX7aYNuy51!B5-V7rXg z&z9DRRgxygGK(p4-h0aBlU#i+bF#1GsJfN9N;&$l%4^*$T*xeMDeat}TR78v(6gy2 zw#A-6bO26aGqftfG9;|9m;&U3d7J2JU8~cEmqDDm4X;_SJ+kX4m=&2&&;3h5=Q=M20rdKevTZD`^v&tg1PMyJ_&rlq>Y zs5a&+@uApja$OnW? zQ{p>bd#denQ{x&;@NsyL8>X=83Vd`}d70YduGRGrrcqn-(~F z$ds#>Y!Pek0&alsuIMC2E}Quo?KUST&QKt*JAND_ON}PB5M`Gb|!H zF2>zD5N&DE?z7_Ny9^FxiAX4;$0Jplwh*WaDo+u}T>&>V!HZQvl)xF88Qrx!14*4bR&_)XcH>z(J#4M>6rXDA0N2lh10!ZSiDlYf2T#p24(L%IZtF- z!ZkX)YU`!J0F9F24FcFWJih?Ezl`M1FW`@&ICh?y$C?QT1PR>tyk@Eugv~8on)8d1 zp2y~*(u;{P(2uyej|U<x8p&Rdi>aU@g@TGc=h!Nh^UXzLM1*5jlZiSI$552WcAdC}RK4^Z z5pGsU(V^C2nf4zu>sUD_Q3-xY!}F#{yO`uvXLsT`9e^=^Z=C%=fRNvm1ta7sLzN)< z@ZD)-cfLK35IkO^40tk9v{PQ_C5(7C?y$R~1o z6?IvaWj-ITnVFlZ^iXPhkW$OgdVA_5(0t%y_XL+)aGiu8n8~-sV7aZsf*(i}g>sAt zM4l$NMpPb2aU043=!zV9)P2ufN)47Gs(a@Zh3UBMwRK!O{?gDsS|*OWLo=DQRq1S* z{7~y2Y?~*H#(T}em}723yx1Z+eI+?!nI8Q7hs4m~=}4Nb3kOX|&<8NrAidk%KkSEk zbv9|C&r5m{dRE5_bQ06sTueCHhBk&*TZ5;*G^W+Fr|iec1ei!`Fw=$3b4rTE_L%Q6jAuS^@4+D2IP;@vNCS0PxrY+4-3TC8nem)=VD7Ucaf~3*_N%X}Q#= z^OV)*zB?ZyHu|A5snQg6nHEVsN-mU<4{0!#>mk>Nw(_zVaUsADX zz)@pvGy)7aMH+}7ghpbU_0pp@+$)=`$_3)I(WRk+7<@z2!kN_r_7sii1_Uj~Y=Q=^ z0U$BpPWIFxB*hk>y%Ej;)e<2P;7+td0SUrvReY!2m@i7{sfxT`jHCmZXY093{wIW? zP=KgU&bQYUR9lk#PCXhAudbDF36=)3-*v6W%OdwJ3aSf&= z`JrD;u>_scx{2?Zui(y3*;aQC%QA4{w4~k zdK?+l3vy82(|;h>Rn}G4;B=g)n5d;E8rps#>pW*)p;VzrOE1jO4rWC9g{o~@S)*58 ztSZ(z80$EeAJV`D3SqAO)OnZvA|1R`tt-We=~Sd$B0iNxgG0iB4E9s}#B}-G2j+p! znXx(IySo)7g^ShAK#!-mUxkU|2*h`~@K9;&nnwME%Nhz1DjYjQ&;SKLIq%?pBq7-g zH4m;rNicdnbE?QM+G_xXSTt5!CdZm7Kx*#+krxPOHtx@3x@*b2n}Ib;+{e#Cla~<~ z|J3+}5NE?_ALEmZED8J&&8uB_l#w}_o8>mmV*PR6h_R5!5c3 zr#7|O61&mjo%>`~p0ATL<$67J@}>`~w&_aCl*)BR88p}}PtL5)F-Ginxg`53A{^S_ zRJ@aU+M%%s;sitiJoZl|q6q=~F_S+#y9dtKR1-WHH@o}7NLa6490c=@R(1hJ$0vp|8mu(CW_cC@B!Jpz_na*vPM~J#4+H|daeE}n=&@mj zL?uAX8qU_pyT&Z@U?tF|0@fWE^n0L2UG6Z0QZw84(!gcG-OV>QW4>j|(W0zfWGK@P zD358btqxh@j4}u91f2jChAWzOO! zJ25C|)AdRxf0P9Mqq&e0wOTMocD86W)};0NO_jPFc%R+)`Q^e}Q@!R;fY|ET!urLa z76Vh+-F5v6jt$G3shN2qlk9dW;veTHC+{%I^ht=s5Xe3K54rYJ&Kf|5f(9VNb`x+q zDU45}OmvadO_@I4k+#-Y{MW=AS(Wplzhty;OtI+2WUUU9J8(gl1IHeFBi}J-_c*1{ z3kb;KQcGGh^#WD%x1-7OO2vRvYw;iTprNXUfzCl)3DE{MILsgq1A=~FI1-dMkIe!4 z8*(=t$cGJK4)c|2}?I(kjEm~5z7f}y5{1A^mn0k zs%G~zB$|ZuR1eC3WH7lma>HnJT}Lbv$002Oo#W!-IE-Nty0@Xjs~h6N27>8#D$QPN zvAnV}eY(7orP+ZoY?=w3X6eH$Zf8dZu)rct_VFV!w}IAg?x%nxoVp@3Q@x1DGgJYY zu67ong~ub4>@Nf117UMMXH(#*nE=qxJ}{Vq+*Pqi(5nIZ+%Kk{G3HSHo*9(7jPx9x zzTB|>%7)sdN3Bgy4oRKhsFi z#7y=OCyb^D^|)(Qzn_wH#y_kqCO$Bwn$@}{`C(u2SWu1yg%YCC4HvX<3!e8R)E^r? zsYZ9QfPwj|yVjaPhsM+;46q6rQ~)c#jSnu8#7q#Dmq&7VKpl;WHJ3+)USxGXAesTr zLeh2)l^`_NpQTnhPl@cD*-EqvIf%nIVa?RJl|&s^H8HH1!rsNzFJ9YOPA!%YO9+*_ zRT-H~B51l~*Jy4LzbtK~)gQEKFQhboEHPz|ZhVTj-I)7&9606xaC|KeV@Byp5UabT zC08wqPME6hTkur@2QGjHZegDjh~hTcB0TV>kT{0o)2l*h6cK?&VtW-TsAD2m|Al|< zFu*nfEPv*9UH;oZIiLkG`{Xm=nq_BDOik{AjkufHOX zmkLOu!MIJXX-~0ykmFLwv1b=%P>&OVPRh&B`*O)p{AcS9o@smOY3q6%y}NYdj|KwY z`2{k-D_CT=1~H|?pMW41;3}XEGA9dOVlA28;wxv^^DJ|&2Lvg&j~Kib2Kv0A0N1!r zJ()Y$#W*DJJFonOkiTD%T2^Ap&g=TSi*<>WEn%R^rG;(pUZF{K$Uei8Bjt(sIMKl_2PE zrN}#tF5)HKK$B*zCxfQbBOu>5G2amQNx zs0xbiReKO+tTsyCjhnq0&Xmik1H=k&uZF{nh>n#k=ID&9ienGJt}~B>t86|X)Tg1K||m(2$CK|8>4ZTL(TLfe)pMPZ{OYu2xT^IrY*{~E|Bxd1g@Y> zP0Yq7+XZm1i>6*7`KeAlYbW2T11AJPyA|>vP-sXT&^`?8D6bfSf&S_7SEi!;`GIiY z8*_3FiwX!b?F2f|j@WA!z@5#{+<6i48(J^bH%4q81Zs2n@Cucs zcKtH?u$Kv$Sx*l8*L;G)xj2xL+iEm(^eF!3}oqZ~{$2+dKiC4%Sn3?NmoOH`EBYx)QQgUSHBY;-@d=*)2&LigJytvp- zNI}|@L{rCbtr;)c$z?z-otLK__uua?iWK2Q+^l=Tk@y&<4M3t_(==~6%wyk$j3Mu| z7#Vxj&A_2s9j~UREuB)`d>yj@$6uB0nzkSyqApwrBBZ8^P0fH(yQ(Y0(}l7ZN{AQ~ zAJUFGNwXyjGU7&*&a>7xrgG!~>cgxPGnur42B>@eeny3KjXHN3I6Cpb4EcP+t}5;* zUsHvRbfB!vD#j4pRrmV5{#8?slCacOgNkg=jTu}T8z>L#-w>0$wrh^s8Q`^wX~AqjLo0ggrtbbF1` z3Y^&K$UO?;)8uyFFpW%NOVyM~h#~<^LVWAwh+!c?<+jQdYegq%5D0E*Ed?9~pl14`L?e~Ug=Bj^ zj;sRoZlKndtgA(Wal(Ht(-Ow$}EF%wUjmt>OXe$ut6tXq8j*ro7oT=Y~}y#%P?8RKFo& z?p>JrYV3f;&QO#qRmX#LdpkEgMLhX!SMjITvvQAz^gKI1(pu7Ll1CzBp!0pkL6l$C z^q*NFHE%}vnZ53Pn>E|Jn_9MRQouj*uKv=e`X}CFb)SwcLD$?2R7Ol)9Mz1iQ9Ui~ z63RDnMcWDniy!*v$mqRz8=^F%53B3dbL;pQw$mB;F;4s`B$i`id!Q@O+0f?a8hhNv z(I?4xEdHqEkm3dMTfU07Pd(}~9lCn*pXfevC!yx7t1hhLNF9qd3P+nF3|pG0JFi5x zTGdpf#CQGebp_+!m^-BmaGl(5Ykpol_vy*iOA{%1rwzH(7aMws1f=Zs?b$fSW-o!; z63}%paeMi9_tk(vYpmB$rfBAQj}@spB0j<)WaVg6*m6%xL&Cnw@1kw@D1W8>sr!!7 zqGlQOc6C;av6+=uMj+}C}jO0Kep{=F8IFDwA$LGny4zep+N>V=}OH_Jfb5g z#N-XkWrJua)>W0U$AAPENoGx*GWpbUxIU-(>3QB=xpI5c$>J#D1x-IgYES#$98t@e zNBLLH3*UP&E(aF8p*?KryIG@O`^eZQtKeE;rS@e7>A}8DZV71nH0>Z9E9&9TPGa#fFD&vtg&z|VcKcLFV)E9c)*mAwQ9?bn1+*Oc40*4MiFhA3N ztv}O_DXDMxC0~(hvf5Sij<%(3?=M#@hd5X>s`<;w^|z}|c036m_b1)fQAEDyr6Gfl zzo%_Tmn{xOc;K-2k7;%+Yu-`5=dd_#`o*Cw-|d5PKXl^Phs-y<%s&}SgZ5;S`+NaLpxnsU1OIr{0(XuO|kXjc^)t^dJ4Rm)_uekQPyTor+ z_5aGg1KqnFW{j1P{s#cxSo)+yYbUIHAbL53{iJ*NvF06Y_RGzi;Tspy9}e~pG_|g7 zyWfq=R4Z-xaZTWcMXy4OANJ2jTkl0%hxmOvw_cYVSYq;;E@3zt=D$sUfsgchW&-C z((?M;)vAZY&)P-rxsQjJR1QA;J@@`BrWNwB>BQO3!wa^)XH!ZL0a*thU)`4?`}A!7 zGQ^6z?96EzI}!PJB~N`N@!-?;kOOaWAWXyh)kW(~IODO)_2?l2hKf698lHr`TD+{n!J(p4*d_=^s>xh%i;?RWgGT?z{QsoLC6g&(vv9oGw|_HTx7Jvlq<=vki) zQPkm&_i-thVooK$iqcc~<2Gv}njcm$kRsStetH6{hP^2BH4IN^Tb#_Wko16?dFF1H zl|A~qJ1FU!u}V#`JvlVdHBvO3TfF~ zYPtk_IMY3*32Q0>E~I?8G8_05OC&j-HFv98^1X_e8gnF^bUm(VPX16{|BPuLqmv#m zf8+bx#jW1a`@TI!zwV^pxt^tT%`x~(T@-z4%+0;Pb`Y{Z|6&|-m1A+R(opwo+T3URmDd=6}qEKA?3uUaw5!EE=CxyljI7k^_$&faYBW1sqy+h{STs z6F#q^jtG%P8=}RV&t*0#T8wo@CP|;T_185xX)Q-HM&;t`^<|~Fne@M6drAFn@`iZ| zo%*iD>J&>gy!vxgF```~Kd($~%}CpLJM8wp0?wHZjdoh29yV|)tf*ce6 z%s2o2eN=;NEt)F7MDhOho>)RNJ~8oEv}nY#TND+aC58A z+6P{n;r0RQrS1NY9TxsQ(#OiCCD}^KlQ}+VpXJ*rC{(#0Qp71-)qUsgD8!KbyLmyHsWgnBZV+Sci8>z=1 zfCbjQIfcU`3W}c}x~xpzoUnOENqvett(8!};rHcf6Hf}{U?e+qyomLykEsJZ)<-lj zv$pPLvvcaAw%L{7DeL#CyniKHTg9gJuTi`n)*cj}S&Aj@#a?RE;d+b+Jo@T8CF)cWg#)r;A#kulR%cZ}{mlvL;WKb2oTB9=ahUq8cjt zYxnV2I;^h;KR~!QA?V*Fx8Bq?5=Yt@XO7Q5)c6GRdZwu|&VTn_zLMlk(l@_L;M>}_ zWtKhjT`MThvqa<>+nKUu`7DtC_4Z&cr%_FIETp4sQQOapB#vy$ezPUqDl_Ys<(K9B zzO>S?(^rG}XEPJkokZ=ZyNKSIo4EgJaAhx(4%N_TYJ*D@XtGoLgkLA>6aPS$KBU?0 zR&S@h0BdPp3C3dHZ=@t`a`!4G3O{ap7c#cJlVnOpuXk^|lIf|j7_XrO>oHrW#~~60 zr=_B5d#ryNUiO}v2Hn4axSBv6eyVv-DEsB3vLmA5Xu>3z=bKUnUw*vR!qjuW(Rn>6 z_TFV=Xyb~g(#B%Pv2f~}55FqUj}_)tkL?Z~>cE4JP{FwO6Xx}fmj^zs_m)J@bsm@4 z_W7cTdpEkJV;`Arm}z@jxc<{yzSN8w#6{e^_j5JLp zs+Q(2#-(->`5*ncJfd0H0jmhn{=;IhAiX)ZPvf=oR#)BUYGasI%-v_ZoP&=qfOvMr zm~nZe+?Y1AYO22?mbdLQ2+%p-eWkA%`W`o{z`pL;@(Hs}4VsD!4apHaigkhn^u4%- zQx5S$RC9U&A7>rL$18XQuZgM9UhYC*y$>m4uh)B! z0VmblGnj1KGsuTIXr5+XW=P_fhDg{vR3CLs zvB@yW)x5TCdwu-haF#CZ+6@_4=? zX-Hpzon=fLda$hYHQDgS@1~bzUeb_!mq|Yr31U6IIOeB{mBv0C6|ye?2Zst4oW3RL zx>xwDeri$a*Nb{y7UgH}`Q)u7>-BsVFOAIp0dmEzd<{K|Z+3FoGa;NV!eG^}5x#8q zu80j<3!rrvRV^=b*5wwaI%5BH%svKghInmwFcClqGnQs~|H{4S{`dz7=61{Sc9MB7 zM&U9~!tZu^60UcqE|keF>*$LNVHj$T*>z$#)lkgywNCFZz2Xsd&vxkL z5}VPV5{%v%6}+4K-hc7eNFinXzPRVVoOJRlmuNYgmp`IA`g>MmM=E;TDt(LQ3rV|O zbH)MQuF^=F}4K^%KL3C8A!f={$VRn?Rcr_YM8uy>CkW z3+~5$-jV^!{3sg}tEwW{kF{Bo;}%8hKaa{d_qkhIj~4DeOWPo?f`yu zx#!oeBTEr?%oCb8oSdeNt6mvvob?+dud*?{sxiW_Pwpq7%sdFOt!0`23~o;`GESSe z^aIqYhmy2JA)T$(qcRaCJ{pDo_7(m~_8Ty!1#~cGXiZJ)3ZEB+iqtRlweOd)#+b}a z)p0L5j0spOKIpS@u^-&ry=F`N8ld?$d};Y{TlaM*s)w_FNT|Swufsc3Y?T;P%&Cla zCQI;S`O$)+Ul#KFnHANL?YZDO*BaVp4e6U)%h`F^Y9^$LDcA4=Bvv&i`=ZAgBKG8d z9;Kw?4*h|8;25oXepuvH4j!D(dtrKd&u6`RKX4USr*0cb=FgA(seR(ptQE8ik#yqe zsJyV8k<3#~)-B-S{C7>=v_?4vIU{Fc)5OZ{?NX9%$etw@K{nX}d|uEtfvr2?JP zRJ}Pkv^)?371Yo!?b zKI)Gxw)v92*Se=za=t%ly{UfJ^JZ~o~I@~(P2 zMg_ZA+Bk%txIDIu6_HMxd{;yXYSDHRgv0VkuTUhE8bhErolQ`+=_*j~{Oxd97=FvF8hDJv92Bkyzo;pI=D3 z??(CPEDcBg3srN6g8Tup?D&`ZMp{eV=~w#qjNqc0sX_9-NmfPm8>jk+lZCHyZBH8Y zW^d^Dkrz`I$EYbc7svYQX+}wQGSQPq-qI+9>r$!2TmWV!4HNmt@ZyuIhUd#_X#m1EB2`T((tkJq{pE9MfgVggGYHeU zfHXk5qO@R=ATN21C@($1Bkya&-}BwGc$6}cU0$BmcKz!YUCpRMS7OVtx~FxD!I>Gd zp|IEmYDlqo-lBSMHtu3pn_7|mc$xYB_rg-iL=ro!5Ym7eRQ#n?EJ8@TY<`A|4l3u38z|68JLE!+|u?Kl*HniSr zEQEmBI3p#G=@frctiJZw$L?~T7_Smy^)GF52O>)#4cLCqtP`Hj68cDhop33`b`l?3 z^G-I~sA4~yp9zhUt7xd4oSoO0OOzqsxEodV%iDYI7mEi&q(40K?O7*kXWvr^$rOWy zYMNc9|MF4N$?b?!{1GR&@f$yHe7qNsGq&G<>$v!cXUEO)-j+8ZHL>MaasjBW2KSVK z48%y{x^*ehB|9jmuk*w4vU_hR@VEM*BHiBe9>>K@+RQXK4LNnpo8o^3DCcX@6*3;e zGA#Q1u?uh6LS9(s^Z|!4$9Ox1bA{{wA5(7~)ze_n$p?@69>cyF0V<%sexD-*1SL&da1MQe+2^Ks?xBw8`|tV}rhN5^ZG{7Hkg3MDv;J)O$HcISJf4P#@GzkqKiJLq zIiiCN@kaAAx{4&;PcNS(3&s;8hqh#NO^}Wt?Lai}!$5}6%8zAgR> zJhovqE-OzxVe8YFv^0{AL9{rUZx~+{wx+aRzAbET{F`Gj7-wns7Vc8P|FVKfMlCWH z0nQt>O871MS2rdVQ;ejzmAT+6VVDuz&CK9;=QZO|wz6b{yy!MFqn6LgA4l)`@zgO_ zMB90T_f+?i*dN_Lx6h3<{%>dvI(-b4&rk89AUk3Jbp5f1mF(>Ne`qar5XfU@=U8og z;SCzgOLq{`*8Z8lm9N$JEr@<>PEvb=t+Hp8Oltm=7O5z|=}P=t2Hwm?JR5USZIV2s`=M(&F7$^&!`plxO3xU9;wcoVJbQV;RvdU!Yw*}HD^By=RvgUta z_Q!vS{M~8&yxF>J9P^DH#=AdeU5R^cjt9Rv59(P_!$OJwe&G6n|3+v1sX~f5iY!tJ zM9`Hg2@HLbokkhfhCPzT}=lYDg_uT(A>W1^I!3d$#)v}Pj9WwBJ3P_#qQWQe4n z&(0`vuz=5*FmqHh`L^)Hb&)kaaPK*6Jv7UNeH0>!_j~>^+%q__Uz5*0n-nJ4QgP(w z$tjf}lwJPC_?rcs%L3o)RT$`d4$WPw!j`&qd7-nl@>v8$f9@6MzH|9R-Bt{U+tt(Q<6-WGbdEim9&sw(1%2&n3}Xj!<} zymoCwq>kD`Q|&*N^TAd1lYgPBUi5`6+K?dSKG2K7N9PHQZ1h7WGNzh`>AXpA6^Tbp zJv`{0Q~7}ygfC-bXVY$>1!~M>V17~fZm6S;0r^iYK~26))Gb|cFXkrHg2!{-FW!U` zcx`m(eUH*qVwfiEwEF~o`#2J_>{VSVt$P$TcytKZMszZv97{h*%?cZC`51FFRV^~)$e^|51svsst=W|>H zNjP7N&K;A(PZPj<;AXAwfLvu3Hft}o;jdpI2BcGEo_EP?Yb^|6d6CUrx&e)UC5H?G zgvrgFIICKPv^EB_NH|3)R+V06%BsTMJIlCjG@1E0d-iA(8R0~ z`=5(m*cEQnEt#zGV{_XLMWy;Y&~xq|9`+pkdf(_Kd~s#vvij3w{wL&DXU9%uE8kNC z=uvg-AKI(nbd8%e{&ke&0Qgno^Xt`z$o6a4pI2IEH-fKRUtfPSF-iY*dj8Ava6;UV zUZQuYp!ag%fBZ4VfBf-3w3EO8*M0V1_wMOQOq}T9Kp`X<`48>k!qwSn#Y>7@0cC>WFGov;0!c%WBs)o6s1dd5GrXTOFt=67y_o>)GFPRAF$ z8u*9CS48naDY;x>p7Hyr(w(v6H2l-hH0^(s8EhabuHfYz_|YxUVY)x~7M}cSV5U;{ z^T(~ukVJw9f#3PFm(+JChFB$0bT%Qiu}{5xe|k>%WPYnsUVwGPZEFYg@#&XhGA+H# zD#62RlwuZ8!$cW(N%EXqAB4PF<$>~iC3J5EIv11c+>#bLTw2_6KeCEj(acxU;W-P> z6>Yt;DZ-@wo=_0j%NdN3OizdPnQ+++B2hMwm~a|__=lFyh;yfE?~<@DpYRyOn_$KI zu&XhDH5ABx2lvI9E2?*U2;x_mWd-rO7$KAEHA4QO75Lq8?#sK>ezrSEeUSL*GoM`P zR?_bjIp+ z*N<5IE@={dFIklZ7?9UG=p{N#ifP14II(@S6lb&J})IBnjv8dX^O zBd|knT!cyg%?@W2AQ3A;`5AwAD*qAhb86BpBd2vy)l|lwy5Ak-#s%8(>UVO*XugAd z!k?ne)QDiT#Fx_&gr99Ua6J+j_q-}4070FiJ1<5h2E?>-gSuaqQCB}Pi1A(isJiRD zshUZykvAB63QGTZ{`kR-;-yf1(@Mv8|6e0VM!G-$d~-33-StKG%OqTMCx3AG$|`MXnU%^RJQAJkX%{wDu2bKA_b z>gT)6sY;MQJ(u{0rcv;6QncfHaHYJ%7|DYnaO#y6>JRA{Z+ds-O`3kme->UfbdPz` z>I}^nIwcd44W=m~p_j^M{D&4h8Tf$xYj41!D|r5ti`>I_{@(zQ~{-*DP>fT=%{$X&^wWnuyFH6!Iy zEvv_w2^D>DM?-)*ByVWY5v%&$TAx>1`9RysT~fld^2R+b_KSyrMTBA=jV`+BqtX0L zn)5r4 zi6;k?0zS;aa@PEb>Vl;|97>c(a$yb&c*<1xK&{%v!V&jM+nGoB-PdP~ex0*QSjJt( zughX9DQ%?GNq1S<`WskxB<1vb`9egD1uZpmXk2Q(@6(;p*!NToXWFPp z0wm1v4`w|(fsJ-V{k1_-f1kp*!GsP`qp-7fLip5N-%8g2NOSu(Jz2gn6w@f&qnjQS z;wrlLz{54w?y5+)SYx=*CmBFf{S2z?Sk8FgcXX8s|K(_gaBEAd$YC2-OGTqM&`{B1 ztd{GhEEvaLUQh)EmEXs^t4nQIT()k;SQheVi$pulUe?0ddcksuq>lMq8o@p*7D{dU zKhQ)4`_`Wpn2SlWIAY=)V{Z%c*%*hy8v5GEumvZoZi`H7m@Al)%!lKu5wP|$O^p2x zCo}_3GlS(3Qm_u2=Lgf+^dEHA$v6r#I)|1yy-Nq@;tLNgjS|R)@+2@GR+Fk)NyJYx zR~v_)Em=`vK5H8S@JjP-iKuEoPVeA*f-Qy@yM7maU5o19_fvX88@&K#A7^~4^L2>7 z8Jl*TG9~Wvc18=)#?#H9f;0hRb^d~+PtbdIaqw(%uW0(O)qaR$x6O;>);U;8t=@1^ z@F}@FZqZZ?8c_tav$WZ}0cKhtG@BC5|C4?}Sixh}H3XpLCsg2Zb}mX~ zaa>EuW+H1;7Rp1tw!yjd&~k9m8O}zOW2~^Y@iz8nW7fOgEZV(V%?oPv(bE|gmu3@- zUW&nh*7t{du|DKBfht$pxN5Tcqo11)L|>BaOEb)bV~#0#HQV$DJ^gHBzPOcUl92U? zw3Nyl9fad*TNtA+B-sBac3cN_}R1&U{0eQpPCse_5d{o7e$yy78=|lbmR@DPGCJuI0U}w!bTK-RsKdbQMN+R}* z<9fch&*fOPYm*jgfrJV0GX2G6103F3FO2GD&6#=~Zu$ri-}<>K?yX8GXSz4~)C%In zbGKXpMstx!$#PFigFglj-e`MMrt9vIcoiZZ)}zv=)6v-1V|ro)k*yDXo`0z-gG$D# z2yI@WIVbag-YNI_-+<`c-LCX-9@`cxK4q!vk1lvO<#OS(!0w&uoPR!2<08y(2PjlQ zE)-58YVznP?*1|E@_9@DCm;x}*HXg>?k z*wMW-*e&69`!u8{mjO=Y+QUTJl2=G}z0SSbt51@%@4k4!zRd!4Oe2lKmC5YSmef@H z`;JC5@(-;oD2?|0c;MY%genE=QDtvqI0c}^iB*#_ZJU$x!hNbwn8#<)WA1>I1C$sd z1g?Qr&UuI(jzx3P?gVYl+*%L?%pybM?_u^2X5ibMs|Y0x!acpZz?dK za5Q5{C58&4;W#7Kmcm#+lPYV`o{7OjXQA5E!sE~l&Nx1aX0v?sWrQ76n6toa`^Tx} z9~#KTX*n-iy6AdyPT+0e6x2pW^tI{wUGGIj-@%7!8l&~brlP?xP3Jf=Gn(YUy6%?<9Qd%H!JOTB59tpTL7GANIAOwoK1DeQ$OA+g@$%EccCB&HOeE&&~%Xl6wo7amJO{sy#t zZGPQ4k?e)jG67n!?2FdI#dN{XUHbeBB?rESE~p*kw@Dtsj!gJ_SBM0vPDw}Dr!Q{CIh1Or}qF$W35lC=%74>XPv$lxqpJDBB{oYAoUw!1{u zpc+gwetQP`F6F5$&3S%}9r=p~w&&O1H1vycNwS@`$|C^Q=B$xR4zfhaozi4H*}bap z6OV{RkkK&YsOp;Xq=I04i)%E?L+ver*O8PyfViZtw|M3S(Kl$xAcya?Hv!rYbYrT zZUR4!>s>8@9uGBZ8_mlsMW(mv3*AZpu0JSlg2-81cn%tsrUMGJn@iKV_)?8It3$b; z_vVq(wC2}gDp>&d7+8BWEx}dE0kn)j$d%~lPAv{RuYI;+DLTe|-Ej@+xK9FOwUL|e zzCb^C`Fgz(K}kHDY2ld@T_V^a&k&Z$X3=Sw%(cF42Cug`2a0Nq^J)Lj#%ODMxYv1c z@0>apGbnRv3>e>&av3!DqLU7In0}pQ>)lZtM{R{Zuk}lG69a~9<5^zxJrx*>{}3u( zp3h?HV`hw45s51MlfI|$t)j8_H<3Y^Ang*Tey~QIq-$<`StNg5~pGNlr)ID|C_M z1&KQ_yxVS_#aDwl=*JV+QL#!}e{sL-S45N=V=}-3{}|BR+Qcl(j5xL}dRx3`*TEvS zIa8^6t@cOf#hwV(c;=5HrI9d}ERI&-#t49rQFqJ8cTMH7`N)+6GnSG-^+PrHWc5w3 zq(_F?jn3&J3YUa*m!;7H+j(e9v(5B}1-cb^Fb^IUwP255wHDb>Bwf9jZ9R~I0+W%J zxLCYBi2vk}D8Qp&aC4a0%S@|##YES5eqQJK5Z~#!%DOBwWt&~W&a4!gYEmt4B>)VM z7!>gdmpg-NclY{PnDP69H}IF}4#)e1gk!Q?dX%*|a{nCKaJvaU(tIt1Z=YXOOsh9d z9ZmS#9QW>rX&VR$$$t5V=AmC8s$F;3aPdGx@$t2{AQ+oJF|_#X5yu#51g<$WF?+G<^r z<2cT08$J@V30@TVh1$@C?6P^wmkVc|yDf17XM-O3A9~?KFJj+|N!xG>^vpxQ^)h|s zErqgcrouXsBeG>`vC?y2Pb@p)!hIdx2ahXGpX!aL6ACsHJbqX*> zVhj^FWC2q@uL?CwHWiE6^UV=<3?+ zhL*KI_1(!vUbXe9f@F9QzFx3V?D$5CQIfJh-Fr1daN;m~ujr6xmjOc1l7lWzY2|cL zK-`deN?}c7P5qsHc^=7dFo6r{p^nO$0chH`hTSZXT_TZx;6Ocwm`+7G3k`HcMynIl z5o_~%iWaDE+t&fKcuvaX8oT65Ti&p8g+j z?Yfd^W@Q_7j>XtvqJip|Uo2~=NTI$Ht6c(4J%cxCLgKs|GQT~y7fY}N?ICX*m z3Z4Bt>(<~8s3{S%{hE4{6zg?LTG>}AJZq(E^zB_J%eMuJ zKf!etbYokZc4#SQvznFZ>iH&lVal39g(RBhDGZVbNeg<8n}To-j`Ws0B41d6_oYJ? z2$+!)7K#@&&MJ5XKD3VsAK8kPbngObO^kagVbkUg|0b2`DoUhcI=NP} zs_LZi%-oQ3*ykc|q!1}vcR@>aune{Cd=o@#Ja%0~Kr3`7Xz(n13AkPp`<{_*08?L8-`v134%lxmEIp4W=SlVE*cibsK7dXQOV{t+IQkNF#K*h) zsvKWwbVKeB4ocEj)jUxfbax<}NG)g`ConqVSddTYa6#tdv~9xPT0zD}DeO7CkXYCr z2xZ}HI(v9|LHj0?d1 zmOMxCDBoHwVPR6JR%2ISYPV0P6*AnM!;!mCwj#Iy#;g&-I+1mJ90_x&f4g1s7KA`8P{=Zj8U-|8_DCabWq3Wy%_Noi zw@jc4xNkVSO!XtOL#kPA$YV-wn{2R0%!C9gC9{gZ0Hf-0q#`w{ReOg>iwqVdeP`En zEGp_HaEww-9KHuml13B2C@LFuvKtI6fwQNUWe%O1#Cd87%w=gNGOnz81^ff6>hBDh zb=8hY9T^JaDmDtQj;tO=I+d?m6D9Ri&CAL2so1a18$70pEwbdP-P@M36WD*=6Q zOWCs3qIKx6oh!L&G@3J9pJk-F4m1x#L<&4lG~nK?daZ$z=Vg$)KSti&=zzf^F*V z=r1UXP!MU&(!7#TD`@)^M1zrT-(2YzaWT zmK8>O8{dXw-_|^Z)F3bt=+Z?YbYisE^6Rf}-DAR%MmY>nks$z{(gb(Nx}p*pqhdoX zI}4#*G=D2V=K?}bXrl=@GM3hL3f)>{G4sIDD7mxzzYQt)A+}oe9~x)fFUW{DFp-2Q zC&z zthD<_g`d~|%J}?|ZBk1meCE)eV*>WZ#;QFov7)sU^9?fXq%lholBc7MqfNWz9<7yR z$tc;8UB7A|3Eb@Ixd2Th+o%O*gJK;76JwWa`QnIoOIy@@k9;?v&RSP zDaj~cYmO450vT&ielS7xoHSUtiL7~ zuH0S&Mk_LO;p%lub& zip#FnNq3D^`i66{_zmMO$F<2laj*g>phz2L!|oSmq9pcN;yXnE^`uE90bT+%tYvaV zn#{2Vzle($J>yh|*cQ9kOEiIkWvfd1k7+95zV`F4R*%41BdBd3Ynf|p=bGpd*k7hVrwcx&G&8*BY!VvYjp0k7R`V6k?{%Z2(C7 z8axgNwD_ks-pmpTT&J5x;QRXTm!jEdDEMRkC14L+P6-TJ2dE`W58Y8SypE}+dnCl~ z%YU!Kmv?VoyS_IA)sO-iZywrXGAjt=&U>}tIJB!WO?(O;q=ni#Fi85kjugqy;-Ajz zLUHk8HuBlkWXnfLeLDyY=Na6oRenV^PH_DGWEfS?e;=cG@nN+Tr%aF8Ly_ShrMdmoEAcJC2S-u0iOulOjfV|OT`?R5HtW!4N_}U zMQ@uqP-sd1iFK#K=+tkwKCZbw!!5V+BTFAnN-2X`tZp_lcAgPGaY4BBIX(SekD|1T zAeIJ1{~7ys4I?nC4T*B=98HLb1shV;UA4dYeYb6V3odPSc7+wtNyq`xZk|Lt7#J{E9ev51Dirh9CQeef0lnPX?Zv8@1gV?4 zjm1+%J1?l;r5-J)ESoJDNo0^kIr^*!Q>u;uK8wp6AgdF6HXfBLHhi^@7HxeN#+t08 zYmcZXCo^FyRF!(M?vt*2(!PTw12qUVaCYb5TSkinoeHtCuQ2>HEjaOoUH_ zTiO1oe_y^)K$dyt|AU5Q>~D#QxxH%P+|AM(K)apH*77%D?qeeUX|~WgAtV?A zHe*2Ev?lVg1r?YG?{74K7b{{eaQT>9t)G}IsyzMGz7?>vn*rAr=B8c`Ru?`RP>t6G zvT91m{XEif?&dzT#n?*)v2O?Z7l3_&_ZNG4QHHt8W`7 z3agyK)r`TD;fSKo!j(kY4xIFrbN5`b)ui*Y?FX;Zu)^ z3wby_Y=xHGiy&tE8hB|b+3_=PZ#Xx`9szEcdk=4Aq1HTGI=fEIy{My@dDHForep?V!6TB%=pqIT?bOvXj9cBs$ zY@>TQKWrv~w1-lEudLO0jGhs+^{kW2)A17jRTV2p=?}>9_gI$^@-E1*oYs>Z(n;yL zCB)2kq1;audy@N0>CgV{mvZ`UakxDwlhlI{pFD1+W=5YN?vhWlW%!s9m?Np5#S}!- zrkdmbAaDocnfL@yfa_yYVK{L?A~Rtcj2C6hw#-E2CMCvFyfL-TV~{;%48>fWgj|Jj z(icc>Xv>wTai>HIk7#n8@xHROBn)E7@@U8cu$oK9)$(2Ni+D)h*IdwekoaOD(l&X# zUw&e|!Q0rMXUODHNj&ojjiznvc(Ji+zwi~#0OHh6$a&@0j|4+zn#-KNHm@V<{meI4 zw?QQ~0z4Qm?Z2j0XzW-aGA+9aaozX?b)?_yiIJ+sZhwgC00{5OCaP)aDC`pB0~Xx(jLbE)%i& zFZDMHahw(1in2CA(I7VCiMG_GT2rfY0Bi`{cAe6^i&~zoe`o;D=n3jtvMM##@9u8I z(gAx{QE~9=$lUD7m~GDUpeEIPkvf_CfMukYS$%@HfZ}f*hik1(srLk<2oL3iphI?{yF1>b1a|cGW`X9tOftr^%IvT zZf@(ki;8W1Hzm1Ox0`6(a+5hTeh%aak2%tr0A_5K4Oc|4RpV3>4Jp(QEPa0Uk)D@D zh7UVZ7y{6-Uim1)DXafdF$8U&fynDGSL$me$c>3Ib9n}#9Ups@F?);-<}9BipV%Ec zXjsyax|{czzS0nQ&z=l-n75z~R1;H`sM-fz_vWK^{5%+>>7T(~X*I10pD@MwWMW7c zhTJ|`h(S0WcI#T=VZ9YRU6EiK51Y}3+y#P2Kaa!qp=V-?^%4Z8Cr~p9;7oAC|04Jg>t0xj#fs7x|dgL+jvxu0EBV<*mFq1+a}dY8EF8|>p6v- zT&bjz*&19W4@$~6s+0YEogi{?cESIN843zx1pinJM627h={ud4G#)V_DI6yhI0wJvG0 zl$fC9{oRH-&Dg^swg}7(cA(fYlAB1k9LZ&Re70!lyhgg!rz22p0+0Ty$Wph_ww8ZXPc;9l5odh~d>p0fpx7<+>%KBau^RJ168aZ&{|;)Oe$cv_GL( z_8)4@p*DY-ml){DPK}cPFNH!#lQGe6hS6!F2zwmPXx9m!NJpKFqrirg+jB6JbN~(b z1%+yJSq?g`&9iJY5=g95cuiL`B5qp5^IL5yDNKjP*{3qpa?!Nhdz;g_Y(Sw~Gesg{ zS-l~7%jrSUT^W@H%X~kczumNtwQp;&CJ)UxQS48_03ol^lD?a$rc=H~m z_~>pmWbJX3ujN*tw+8ASJ3K#Y=ufNHQ9k-;h2hDYmf6s^>CMXj(1!PIh_Y6^i6=-Z z=NG3_%+3mJ^(IUfOzS4i0PmUOG992<{}(aD&eWgt^jGmUR{5KUg^ZQ^LxTmLlDi}1 z)U1^+<1%g)(P)lSD_vnX`xpjOY`%20pLJ3x;uMj7tN5iO{>moU6P2e{g7O!z>1(cD zH2EZ5R!9+s;?yi`h92{_JbaQM2?%S1}q?cWN4QnIC*#Z+^ER?1%!;kCY~ zWLr5Pg9DLv{AFx5@$a&TDy@LG4td$t`Gco5BvhzbsqN}h(^(b1$~iGXY01O$K*Ja+LxM7bk|IY9K$Wd3Z`tcl0xyWm zhyq1|K_+?HC-BONPy2dscICVcm86S>GT4x@Vnl*(JbC#5@5l@Qzk0vL#A?60P+z54 z+ZPhhGQ=+D=Kv9BI<`kr72rO}wp_9f_Q?5|>W`lt05V;C_dX9}+EzwhgTT9ks-46H zhqm1FiaDEIN!XSPvlG?x=qj=qgXu8EapNCkuHWatysF_?MQ4fAUgI!XX8}D24z5hMxodO1P@&hQ{dUSBR zQvA|pSy7Qp`^f@3oA*fnFPKA`v9|i(q={3uPceL*)%Em74$W_?l zIn_}-;*AH-J}0H4*Ct`KA5(A+C7Hx-rWE2KCFq2Le!9`Zn9pg(7M~fpdy!7Tma| zL@Sht@yT8`;)w;g0ORi4?-By&)rTm?l*6$d?NHz}O*0d@lwE;%ul8)vnC_CFRPv?8 zw-v(Al}OgmYX_X%Dl-3U6@b6inB2GY6sUMI<-Qbq+wxCb$X>`|jl41yDS^$(bMN@& zjA*7aRLOlpsiLw-+Kayal`rvuEo=QL>qS#V0bY#f(C+!%y9sa6{)_&O`?I_0?*6+E zJ!`)nU+n9358RQ#8@+-rh{pfFmi4R__4L{QS{&4GTFdMC5xLR8BKWT$GlOg4^{m@m z=$j{j_K;&x;L%mQ9=lmayLlp+b?~A3#p*6Rq(SF|;}krCHLJr8N{49ut8`wg$UJ)#QIc#p>dws$VkA;`4`Hr?&w4GUPQdH zQ`&1xo3D;J>e@&lr9q`Xq#fCjES;B~G{p6Lbfdx9>CcAdKzDa5?e!vZ!yDwowN_gn z*1lo#4zxL2AZk9g_(oo&BAM%CJ5RRMl$l~nX0ZI~X8mUf&9{OIb?A!1J+YN3Fe++5 zff85MFCOZ(qqhjAetDQU<7O!Kig#FoK#`uapL@UzjZQCB+AL}$j3;oUO`8Y>YP4v% zzzg1xdbbVq%O)*pynaohk~r0fjFq&v6t8$35hUF~CyNsrk`l<8V5AaVWhXwIriZ)7u(raEeSK`l7UnD`|lwvG=9pWDt zD|HXh>J`uyz!~t=Ql^UpBOwhQ2jNQasaG)byNU#&(M%;yD)bdvFY@)D@7T&F3mq)c zB%J#2KaU{=m4Er!`6%#NPi5g`a;f_;1yDD9U(%KiIS;Y6&cw+?(mq!+M#Jt)qclVF z{D@;uq}3de@r>INC(*n!A!1_Vwf~S0lz!rU;%2Jwp5P^=XLu3~8L~np$!KjSfb@^V zz6w~17keo{zQ_J%I^4>?>cwGSVaV?*GZl7i24%YPa7EGE#_ew_HLF6(xXgL<)woAW zTOX8KvhYU;Av-7sHf+t4?8X!VVgPyGj9BQx-CbWE-=!&3AAK!v^o(xrf~L+wJ%c@% zS4XV01mDkP1_-ikyfnHb!VeW&&?DZrk0uR3VS27dwHwV?PTL<3_Cs4W4Q;uQd>QE^ z-kKS?tzH`z(?L`JaG#1``>W39K@>$e){}S>d1Au@OBrrqy7@ou)6TqRkYOyo1g{F2i z(bPjyB+t9vBT~}PV1$IT{{d;pN*eH{+fLqT-;X3MA{Cx9u{?xunI_L{319Nkrv@g(j2VJ1{XN-5Bs1OA=M!K0p? zdE|S5IE;H(Z@=8;X~Nri^l#ld{-JdeNZovFP2`r)ac}gnj5I0Pu9(uta_q9%_j!zEW$G z*0sP|;5*wj2BrBL>~VAca09Y!s4hi9o~X+?U;e_rJ_*5X+c2QrR>;s8-4G7oj*H_*yC~ z{3`1*#3)Inqqt}BYAaW}*=lX$RYf54AtJ2cFf(Z^fDMo9Rib}(&sTc+VtfNThk2ZB zjgOsSPLHi_G9oh(hRzmT;w}4o{rO7VZ?7gGw7gzrw517bL|ogx@yCQ(y`2@VpU}v6aAm-Wl4wgm~z-rneSHA8CUC=`X%2p{x-iByOUP z^tQ;8INLzh0@|N)xIg#GR|Fdf~+DvK15>$5=Shm zB{XtZTk!(g=M{25(rJ}ll)~jJ;a0wOTqg5&QpKfu_zXKvvOV51+(yN(twB+5Gip&F zm^4ADYgRuutyJMz0~hX45;i!8)aJ#^8JLSvn`mFD{+-qd{QGJqsH0*>ZYv#$z3&w$ zz2bECcyjS5BNMj4E10a}n-+E9-ue884`+ak_={2Y?MqGlW8y~Jl2?1fY1?Z-H1~r; zeO--BYlg^ki=w8NYkS5#i zesMJidp>*tsO$&eSfi1QBi-AU=b5G;x0%vrwqcdj3Vh!(k^xYgnx$V*AWI1lNP1B| zhok5xgcVXAyQRCO2CQT_>vJ~I?9yVO!iK1%k#6p{ds9i2PGwlC3#21R4@_|^3E(zeyc;0>5ig#>*wJD*w*e6;71ZjVI?L7&6o`Bpe5vjUO#0*JPto zL!-#ZV7#*LOT*`kr?U5oG=rhFN?Bi;_uOzCOkqT*Z;^#%-#D#I2_XLB%NHwCKy7AT zy_8q(stY-+sqm~3tGoSmH@k5oOsn0)f^fEbD}jJ3@v<)3n2Vug^QiKESWK7+Bc5u1GPGr9={I(}Pjvo)evmiyJgT#3w+A}b*97B+8Rs#1 z0ZXn|qs5bXSMz%!0?ND8_E9$40UUpwIYGtST;zlE|7BT`-s;#N*AjeqgXBCPLd-rM zcR8C|L@(ieO-x4D4Z-Fz}wpZy!B5Z<@sjnCSUx z*A-C+a$5kX8!H*Cu?5Hf0|1#L^r4uA3%-TR}lPX7c~W(jOZ0b_E&zLWzh)B0n- zQen6+9AL7$qkeGV&X$xU5+Hji{Zi%5O|xl+R8vHcB2c z^Yw&yj_!Dr67yJao2@GF^oL{#bX%oaTvA3_44bGzyYYy43*u&)f) zR(9}r!_c}er)Et|N49=1U4(8S)S zKY=a875lJ8gCU()iG9?qZ4c)ILpv%gs3JL6yQV|S$Y>G`b{(6ui6JW-(82r3uIhv_ zR3+sZAc9Kl3ING(EBrCb>zAF@Btq66Wm!ZZgR1Q?V3)SYP9N@^R~;sw;84FY)8L{+ zeWoA;BVI3&NyAV&tZ>uYT~#~XTV#IEx__Ow0yM8Sk;^aMiF~}0WxTnEfm3ye7tR6`IecY~k9-v%UWh-ZDL?Jp||1FG|uFTvL zZ}_6NShOtL)MKW-V$5RS8u1nzo5MvAwuLGpX@_q@=v=IsUqmV)bp_Ie{OKY+4_r@1 zgzHHXUIH|$y(`kr$K%$wAf7`>SP9+y%-s%Hj7ino$Q+4}Uo%5qXL&ik)llq;no1q> zJuZ;S6zX>Dw4GTFAFqumq4AgJDquaz>#4+*a;S=bbxT_FIJ_AMAN*f-BuZ~5cy*X2 zzQxHwDm_|df#R~8Usg(OUK2Rj7mx<*)j5FP?P*>((uMaL8+b9}w>O3kFT{FDH*Ir^ zCFEQY%3TK$;C>O>ds4{dRle*{4SinX!+GCq!y+9qQ{Gj*LIDw#fvNn!BqN*Z+ETd^Id34t7}wSA{M;Xt76~3S(dT;@%xD7 zVxPYv23pv5g#S)S4{%x%r>3mV(8`ld4`I7AR9iWesS@ieWm#g6Hk3aizEWggGzKi?@EfTnZnH*M=PDiM$7f<_os+9D$ zfzlzbcja@mH*%62d9VOpMMjYfTw6T7&1W;^-Dd9EptP)r#fpDux=dlO``UUvLA2V; z03MubvFrC=S2kYydsJljMN(tty}W)!@YZeuhfRY(cQzJt*z_wC+ccI5^Kl76B{Mnl%VR zcBlvgT|LR0uJ*Z#V2f)34nl#rN?*`-7qwIbCw-O6t~rk`myqi3(H>H%DoS*@6F5!r zwc%VPgS2Hm+qbyM%Y{r~vS3Ls1kv& zWMFVTP;}N)B*-cI_xtsRzbgA~x4}Dzi+lDU^5B?~r=_2V{l5km47`c1M1KuF>7tGz zo`QAz({w0slnQxW?AD`}5B=8tv~PM2ScG}po(1`bwlmVI8B>BF3>&wUFj|}EfBW?A zZ$vUg(|C^`iB;VARM|U{2Qiqy*}OgRLa^4K==a!2=iGPw~BgsJ@5S~ z=1rq+UuZB<;RG-~P#xU`_jkbW+@CD36nJj$3j;C5T-~WWDR856`&)%O(9cEwAC|s5 zo~{4;KdPmRR8@zORJB#3w6rK9RMAq@R(n*{jIDyCMyXNSs#Tk!HnnFcZS1{Qv{pjI zii9lRyg$F+A9*}(lKZ&#^*ZO=b6&4=pU-n#!3{^4981?x5%%Ch?n>{t>SZI!%{wCs zK3wvmKv)W^F~ch3Im=8d>#2KQZ*sZry;D^Kl`X_Q2Z1vGp|7z{Ylo^8(9p=SjOTIf zvZm)xV&9UR$p~os3A|13z#6*@l8w>D{xM`pfgSX&tc<+G0Dd?*m)BFKxmhMQyuXS+ z2FxD=!pP9D+-0{fk8)nsQTQ|}?hRm62iH^QkP)l9RA14~+4ae9Vd+vYQOZ)4Zy)(c z{R`jY5=!Vn7g+F>kHFbP7vA70EfWsswyi-Ws&i**2W3HsDfFzMt?HRIg(UIj`9KsX zQT6-#!Z<6%HfHO$a|b~7f_vTu4Sr;=-7+Uj>#sRv-U- zq?4B%ac3W@BQhWE{zTc~GEj2bo4aVF;F5n_Z#Un`X}YgPKL-ZVMC+FDSkEE-P$`db zUxEZeK9yL zdIEapJzsqD(DzFnAC=y@bZQqof=vt-CV8=MBCYvjw9%N(tQwSbgQ=OvBgQcRSR?!C z?v(}LkBmxIF){y63>NaCr#eA0huIn~F*nA%qJsv$pjrReaHtYi6Id?n83=BQpI^s- z`;Gx;eoA`B*UcJM=pO@20(Y(6FOqqnQ5^?!^kit<)b#SUUh|cOPW;vw8RB+WB1R{O^HnPFeerL!wk zOP&$4DK#g$r!3tn^T`ztT0Q~fHFX4)%0=(K%KV1o@$g8GrKc@S&|KOyh2o~$q?rIS z%6V`dLcZ)9&&ST{iG_2-DJ0?{T+j5 zxaa2OE7j9`eSZ^{T-+&XJlkEO0|KN!6zHe2B@Im?_`Q_0BcTT-~4wh=*-NC^6!<>4p~ zm7VoJva^t#sDF$bKQqh#>^&LK&g}W=Gza^){kv8(rcK}o{N|;yoBvCiypG9TNlvkn zvv?DURtg~NB1qtB|9c2E^K-}qbcMnZ75rz(eq7MC4pS#oS%j8#wDes+&(|XrxCn0_ z^{s6Uu?p|*uI}`Dk-hA>g5O!Yk$$FOWB4HgpAxifs=(Mh7{3r5 zkv&`p{O*1q9NA6D$aC(qoHQ(R4&>N5BGVr*jmXK&I8m&$-=BSs4pnNhD2{h3mvw|W zHt+J`bKQOA&%m`b&R?p0GN-UDr6UUBM6=K3Z8Gbqox=&JK}rLCnb231d9|oXV~r8a zBD3E|-;3OeKrmur*>4Z(J*Z7KJMr5@#vi4pnHTBt(Uq`l0xH%pNt~9du(Rog`4RRT ziSMOs!%m);P+(7{tG$o?Aq$oaanBrK6{KK4k6Fy;k&^C17^cZWO*4aSUT+Qg}R)~iw zi(d-cUSA5^k_YL;O>^VdcNOG1w$K{gsJvjK*qZ~&b$yoM{eDhX8hQM@k_nC2{7cVu zf|~j~yrooOLMWv?5%%p>_;iqTBZ>-)S8w8cKl5^jjQDh`USK(VXZgqV$EUAHM=lL5 zWg_(tkn;#@shT4Fnlk5C@{DA9i>eZ{U$u!5{EYaS&*3}66vbB87WqY0MS-aVv=?U% z8*X0Utqh4=hdB9Lu639exmkE6LrHft+eh*l5~3{o>Cw1B?RzggR>r8=QJQGWgB^*j zCPavp(;YiL^ji7A1nU?nm3OV~{tL7yOZ$eIklqGkXchlNCrPbOl+Ey5(L2Km3Q8FT z(wN4!ecFd#)naex?#{{~*(xVRPfXdQ`B0K+&r9TX{LcJ0W~L2m1ojhNLZ6Mlb`+`M(n zq~lItQX;obBL?nkl71oR!dnRY5o&>3&vGLdwWDDMv>?EiG1u}ha zB{3DhmG5JmIHI5b{7l&=!%e3H9!la#J(%5TvI!P;m|l*D%2-Dowj)h;IXe6vlCEOQ z>tOj*6bl!xzw9`#?k#$p@WjtUgz#OK9KEYp?hcmhs!GVl;`U|^ zF)>r8{vK)&3`PhSAf1O+@m?7VRU$A>`RClWQkIX4zU)oHa!yx8NF~&JSEN6qid9m62TW68Jes`(%Gcg8vMTK` ziihBLh;+d*Xz>0gWBx>hWjHR`WTm>_EtCAn0&T6CcB!O!iABTcg z8pu#fkQy;`J5QRvNftQYAVOR5m4B_5+|?suC2uGf(Rc1o#Zc!vN8-?B~Y-+PNFr^&Ow28<63>ujXaL3hz-HJ@zHDuTBZ-C$CB`n8bDs=qTM+8h4Ko4<%6oo$P|a3x^gg|xsQTsYjl8{f5E z&uU#s*HT8rPKT#muXer-z5Ax!8m1iyXan$wU%9(H&hnRG{R{KYtZvmmSogxIb>!*- z?(~BcnHMmTo9B}jhO$1GaMJT9l)^zT!;w#|<&6{bHL*-Tu5x*+?K9;AN(`z1<`Quw zwDcxkC^o-+zhVnH_9szHfJXrI{q_c8n{r+MQd(wI7h6wMoq`aGKwi9Vx7G_h-yM7m zsMw$Sa<2pp`Uj&|hk9i0GO+|Zf(d42L9HMSn78AKi_gp%Pez!@=eA=2OjBv!K~u?A zVMyGcz0z6%^#P>z*Vtvt+@^0}O}$R265DKMcv8D%WB zO~2NyV5Nk*IJQ?Y1bfvG*%m;gjzN~?C0TcVhT^31aJn?OY2NYr3$KAb04 z^~5V1wqB)eDn$A+$Q7xZlD@*1l1d05K9U7yk)Yf?Zgk8NZcpQ&LRcN%&wi`xijF1c z`FUQ1gR^DQTVwNm())B6fOP)NONVH$tw5hkn=spPr<7|g#B;nL?``s?nTF63ZZ$=e zuKD*LdN|tgAC}sdNJRL8I_p|)o=u8lRr#D*0J$d%DYG$q9$sZVZRVi z5VOflg<9gMtsktCu0V-%J7v{<4B%=wCtN==R~9C&WPgT~B6N!&O5@DvgpGkSKMtY( zis^AKJWm|O(JTT7nGo55W5CmaX}-5REK#2;Nweel9-u#s$SPH4;nDV`X>qDfnl(g| zQ!?je1Y%p@Rc%{Zp}&&6`_;WPlSYOZa29q(u7ZmAlDoIn75GjsUMgn4%! z1G-1^pG1vgXR6+vsBhb*XpS;hB~57~c&UZ9HK-aQ2cX$I$9HINsF@Y7D=~?9ev&99 z%vD8TjmHyw1>Ns*f9)1aM}p__b(g4oiE+QJ`d&99$|+=IZu>?*1jWvt6ns&CO8#rk zhXsWL-)uflEst@{7|YO?hRV%pvbcuNGmoBc56k>w_Z%`hRXkfKy?kOI(cGPKbwZn5 z;TuH^3^)cnJ9@wfIW&Fe{2-=lZhU$vC?zCdiWG@KYU`8)vWo5KaIrho(uo(YW6!pD z&$k4kn8Cj&(qyg?L(%v{ZWd%(Y|#lt?v22X5YmPH)qUmy-i+ytH50GlC52gMVYYqY zf8{RqpPIi=6NCh|gQ1 zqSHI~k)m1IDn}LbtKhS!gne-y%Cdb4v&4_`8Gw>tfBv1LVK*cn1gcV0`0MGl zjI|9BT;S(cEHuHolsr6I*KxK`12PbY#icC=!(NB|^iPxT35uA#_rtcYs)ZB#Vp_pD zpDSU8N5M$3RS+gxwiwbQlD#kX;sHmR?}JbgbsX^^{u`?r z)cWpjzw0D|vy17|oR~7y&v)7SeK<#x8X0b_RL;&N@B14lel3GY_nfPS61z-Zwn%g`HAi0%jWlA5`xsrkyQqXUrcvw#%E;W;&>5WBb(+YFDRePH z&^*Hh97ezGF_7#yGgq-8lDs`O-vjC~n$G%pg!vxIaen6T$wK1SyuVTZ#V|3A(Ylh# zR6qKl4rWgCA5UwlTMMn3OVpibjkz`Y&ogLl1nnl#%jZ&!)r8v-^uDwfjyj;tpCSS7 z(t25N7vnZXWYf|De1pud9p8I-zw_T^Lweu7Vv1{w@o1<9AJR$17mTgm$X!@57_v?S%e$t%Z z;JeQ2DXl-dTw`AFVBdlNOOM%1$N0<5H&As(0moG5P@&u=d}>F>`hX2qEpe4&U$_lD zm-pz5%IXL8zP}}8+)4_Su#MgteIx&=@SU|{5b}Qs2Q%X=0JrVTjgP1_>gf{$pXJDi z#ESzii4Om*U6@n<&*^`?ZkdHYKTUl?dwb*0?M?CCIN^HRl~miZkDq65Id5#B)oq(+ zXx880V!Sdksz2p2nwt<~JWXYXl6iuAC~xHI!=aVJbjqVFgb_8W`AZuw7K3%9`vB@i z#r-tm@HIC`DiIGf6e24Nc3&=JhJNjx52|5XubLAeod1KJ39WTo#0Q>Kcd;lL(h}rh z&#xy$H(NCRzGV$j?J=9`rP#F_mNRkhxN|20&+bm1QTwT{x%?MehUy-e5v$s1&Y$%= z`<`}D3wqyh-mC4C#G{PxybUEK`S1%JFwV#sD(sw=OJZOmN78Ghx_;Si`wSADDtOV|(wGljV6IAD{iNh1#X^dKU%TmK$sL!rfb`+)rNzP?uhHC#(RS9oU^mnu;?8$JB zF%|~Hyg6dDV1px5JV6B`VSQ#YlJYN48GP`^I_3DSn%fs_oqZdX@<_GX{gYkd5I&rn zmzs8<|3Y;;Netqs+^OP!ChbG&aG*#m+=L$wwNLm5I{LE)Gc;I`{@0xF7iX{ag1i(o z`bZ|arRf{*Ny)p)0d@v0k^X!4Hvgw$Ly)n50DlV?+?|KLVCm_1l~<&_yJD7De!I*k3i0hV**rlYni(F?l!Nr;KV#e}KlJXq>yRy2kj^h7RShpZA z#x#Sv_hp^^f3^i?WO#EN19F2>QiN@e0kT^HLDOP8@*HB?d{f-pq6eoq!faA@`+_JH zyuaylK75Mv$qCtlpFJ*q3eQ-7G!fDWyL>K&(SL`8du-Dp9H|d_UijsK>*OG3NnNNk zfxJ8>;#$8@cUxo8Z$m!#h+51TU8<;#ocEM5$s!}4xuY8km*C*16t_d{g9jfJcmGj} zPv82_xXTdYZc`_qo$an1p~mk&-rE_d?wk%}B=ZQI7y6&sC;nSl>{zg4a{svx)?P|z zHH(#T+LA2k-63`Ee7Ac>H?W&4>%&Sq_0}H8fRT0OqGu$Xe&+{D{@$upnqob&IM_+t zuC7W9CV1Z{NrcEjRX!1lXW3qD!R_o5!1=hg^(U38pF3Z48rUYjlMoDWYR-O`meFbZ zsL0;rHIUgUO!CCysSWLz_SS7~$JMU6AKKbEm23OBz2E0s{0|_%t&X4)g)hu+NxSNH z?tA?Cwww_^gp7%P@qHeCV)m9_RlkJp5kPwlPC5$cmT6`_27P7DdvMU-_+tM zq40U)bBWFE4OV=KZTI2VR+KLR_3^YxyZ1Y2X5@sn$x-ZsGOS>I3(Bl~jAb!6QdRiN z;Y;f9MA{zcrY}!Td{Y0D*AqIMxw*y?=O5ESa?zcvRG}8J$LP#-zi$;zE7E$S@e5XI_L7iH4b3)3ig5SH_4fc z?>qdUb@z!O4_|@r0SMXDwqbNmtdISv^JhNqGs#q!S;)lTSOm9$c!)ta1I;aEw8v4v z^^AJ%@cGRf!gZ+ohY5$VGj-Ag#E`u0Viuwaf`?)oPl<2wSOq{U{)C(?6U$a2O$2<3uHykY1~?B2?$RzoUw}O??9rfo zkm`#11QeiPQJ8P0Vk0o}VA^p{KKR>f)3%KYl#VW~nnDbdu!w`kkdo)X?p_E}_HcGI zG;PWabM(oxw(yX_F`Z#ryRMrvhe}_(AGXl7#&Kw}an5c(+*%xXQDS1*_}L}v_bMrT z1^qk)o>f5c%|?&F*bYDjIfJ6z9;5ox)+bLYQQ18EvOOnYwW{wKcb z>Yw{*#g*i)!52lrgAb_}q6_Dp>9>PpP(FpbqK~?3kILG7e9B=n$gi4C7!7rF;)&+@ zxhE=fwnt~ywU!=EeDYVdo4G&giYczA4-tNtu!D`t> zOn%gvQQHEkC11J9czEqQYjV1g8w&Bwqx(WPbaP~=&oOM`rSPr!N7A^6^I6H#W28I8 zz6F26+|lq2o4LTfGmVGqxU2bU4F<#Q{>X5O-^STQvFBmQ)08t-F$I$x7@GyVX*S9C z+uQfSxXu}Dd89^h!QXVx{fh?J;^g%OYMMu2R^a`_XA9l}rhnv@s9D`@NS!>Kgy!o% zn3$EnF}DA%=B)dWDg&+J5|eGST=P6l3LRie4iW`u=Bq5;iS2(;WM{i+po{E=LSSvs z&^7jLs7TJQ*XPs8Q}%r4mSSU0iskX@H?!6TEoMU+Krb6P(-QZ`(rXPG4H6ttaH7en zH4h`Vajo3ZVWlCRGSk3%G*Xvmn+n{;A?I_7rfOA=A~b3u;e(O%po3>MTb^Rtsr7_fHjytH_fcAt0Lz>_GgnaD9kqPERW<)KKr z^9|elRYd8GUX$(c&Rjn(B)+$(=cyJf`dD7j0Z_NqS~ABw0^H;)_wRt!G-q)5M^1*eC_#o;vm+z}lad zGp_Ro);js_HzXbM@fh${xaA*IXLKW48*Mn6Z~mlw{xS_EVwDhk3l@jDKPlGk%GNP@ z%4y}V!u_W&9JBg&$NzXP^(`q@9i7gq0PTtxl@rP{$7Z@2Z9#wT$J&G9?=n}0^ejwH z5&?YqjhHemBjwSYWH$0lqzA)@@qqT4UoLArXiL`5*fwxG^r2l)Wb;ufewrG;K-UU? z<2PtJD6w5_;rg(FLlSGQ!*(tzNCmrYe%85@;Oi(B`jb<>KE-jte}BaPb8?FQs;@@0 zg20WB>E5g&gnUSPTM|2`Gn-vdJfu}T<|oBML6n}HbC9A(m)E~xdrLar1KPKCt;4(e z2+Yk7IdRpN8ozZhF|oIIqdflWm8BrxZwS^)JlCL@$d90~U+Mk=;a-33NiA(*_Amby ztO%KbI_n#mP7CLA4A4kzn=41jvr;+p^L*~*MLOMg``Zc+;KMIb({Wohts`{faO76Z z0pE)j>E0-m4HTi<=ekA6J>oEwKIxYyeT{MT_nQgJvmRo_#vcZwuba7^zLWRes*_SB zVI9!wtAAIVU9#2Zql{;bX`Q&=#)%VZGoDtdz5LhpdT`Q8m<|Sfz&{h*X;3(yPe>ky zpAY{&6G@d}q0{<)2)DYDqer^DVPmUAW-7E^4Wymb?;Pl5EoqQL%)9ZV$0T8HsISXc zxM3H%sl?9KS*gynX~S_bWI;+c?oI$xiKRftJ;|)G3Tb+W$$EDBtJf1heyie#gjQ0M z>N6+1O^Z6`uKZ1U1U-U8Y)q#yo0l*XHjPO;IiB;9&3y0`ez^o#~i!vp7} zz_))k-DB`Sh7f~Mb?C8Yl2yS>vz62^jZ4%2ZI7ig& zz@4*w_W8CF`x2#X_hPhm_k+8PkzHzZ#T|-7n))#K9b+h78cUaDu526yjoT=04B)8WVa7iwih4CAS%8n#hq_64 z<`svL_E;s9XwioO>d(9-3y}h8ubg^@%^G_yWTP3lWh|I z3aq=eM6DPl#RXyxeZS#p5DksdkJ7!Jdf9~&-uo8aV3u**3fZT1@kB> zF-C`C{`8!Noxu$*f2X0R;xNt|w%3tR6#Lg6tVj zXuL9qKTT1+;NXV82nw-elF--Wo4+Fmx){^sk?&E@nA#0Pc?R zSD8NDtt>m(g7;z4p)=@u53m*GXJaM}R(rC(6r(5EMaOjB-?!|AhA1=noZSSIN6@U z>d0F&x&vd^yTj=dDBxxX1O~VArppLqfpX8OL+I<@d#YJKC@1B2uk2AIQ7Ks$`aDTh z2s%F_fe{yG{naciU%hlqm(GIBjImv9PTU!^?q0y}-tXF-Az|Hy-yNmDS{wwWE|8OL z2)&XkIwmdl7n@4G50!+%zSA<6^Tz+^@uac6Oro%C?Q?!!9p{wT^iG9;Y$_v)-}s}@ zcZQVS4-R;RSh#6u&X$_YU1~;-^AAf>C`J|j$yKU{?KBe3E5%E#&JR`g(hJ$GIp?9= zH}r?z^wRS^?o@w{?{FePaM(OMtV<- z+gx6h_d0o1f_iIU%Y6Ke@uUnfRia&CxnBRpCI1DwBC`>p222Z_+2-ZT;e`hWZU$>K z>no)?T8=>3cPHEfq_Z|)L8&KQIncUxl5ObK1DU%aH0xw}`Fp?-V13lyB^iP44Yct| zx5fn$v?hDU(TmLZZ1F4hnMO+Rc4YPtwa9@nn1o!s`0_|dM_`nE#!+IGD4bfox%xqZ zggQ;H^lv}BhY+4r>!aGQYyPd* zNE>%sDLWdm+|ZQOs}pL>Xi}%nwFD$Zl(knR7q6z_KTA;3NyN%KAMY* z$2SX$y5Xc6KX%Mj<6a#h!yH$gAM^4C?6+Mz2FRmJw!%Mhe$NnSZQBFY<*VAxY=ML1 zBFVcf-r+9G!n>1L?4>JT+B&$;X<3ycWC9eJiEEDlmddzTpB$>A4d*7mNY0qp3MgiMHne3`x;U;BrdT} z9b6Yv-{#`enm0x&2B|fy;2W)LW{@_~RA9gQrnn8ssrgBjUBcJ33QhlJn?S8fm`z;V z^Nfm6kd<^)I-_h3uSK4DF z|Hi^Wog^l-1Y#|Y`1R(E+DJhkcJU4*fG?8I!FbMdI}}pFSGclqf3z$Y>J>D}EKk*B zX#^g;f{zQq#0^nLVy8RzEW=%Sr}tOAen;P_8tchI)o)Yaa#O%glviej4OC_6K|?G% z{(}1L-Yb^hP#z)n8`NHpmvA?dol6h9O0~^_u z$*=47O^B6IWW;Kkh&5wZ*+;nh%b_Rekd#jIEPo2fk?%Z+wNm{~ZcOpI-8f+L3=Lfm zQ++UxJhx|6UcfHABSQNYD0AH}>md9OnQ8zFbu*zZwDx^a5m*eR^B;vuXa^`X-3m9; z+IhnDs`}k3wiyTW}Bx-xWf{uutiP}h4A$s9h_UaylFmemO>gK?7)6P zpOXcTneC81Ab)aY#|QF<0JVf1cpy)k!xJjUovJTf z^2k5Im>}8$TI&Z%wK@@x-H3K~(6)ykTPTnOf~H zk2?I%8ZCE{FDY49Ee+>JOQi26f^$})q`jDFoXJD|sFnARqsylncZgJeUEs=tN^|Jv zJmjfPtDVS%qw34cu1AJ4w>l8dJ*iswrWB_Jj=ojiv|Pofr(z$MrEpqNsj{!a{?*m_W944+PAt&E4zY7$$?noN?S6H<2RVib&BW@pM z&IT)@!-90@n|Ck^5_5}^;{n!o%-)lZPz|S}^8$+Rls*$7AT^*3(y76@!rQ?5Gt!5V z$Qcrr=dZ=m4nLKQT#$z4Qm)nT&j1f(8L+TURnOt0TzV<$Lzy=U#tY$$wU8oM9 zerEOT?QJLgBL(QZp4#R6xW#~}nP$2@sDh%l#en!!A^O{f5=i; zo0)-iHGWkv#atlmk>Yjcf8R2HYd5);4E2ixrYs6;IL7yLLE&1q4UM!O0lyBzlbqtZ zj+5i0?tE|`CVhp@jpzrXvtgBdr!a(kNuP} z^+#G8O1fo%2dDGaH+ME9KVwVwt(w&|SSh)`-Y1jeHyoOCw%uu0QoXXk<57N3q2vYg%Z54MT+A4tqJ({3|t!!^GKmDo$p`efKq&b@G1k%%X>lZXK)j{ zjPperIYfcSN&^)5Bg?VH|sX853vDP8I*(TG0_Pd z4R@L)G1)I4q}}{^qu&K@kWoO%s8b5m$ceQ>%L!6({)~8xGP_j*J|jiI$T7K}V)zmf z@qB6zSgNuX8j4Rl2IOA_;9w>pubHPI>k>Pq%f*&RTB$iVJ#ucQtKv zt;X*1GFxfDusjpF2p}M?zskK^M{8P;QJrRuMx}RD9(ZQX^pG8*D&K!0&j%Mq7IanZ zaKV*%ytc=}O^oUUJ?E>2jJw}e!YkFpw@!fHZABsy?uvIhNVA%;7#rZEzhbyov1263 zS;^&q79lG}Fbj}uEJ%v(^hbMklE(IKf{S{AlSSTb|D{z%`F+lw575|njqJN72To!C z86Aw*t{OcC%p_W`z}X_Wm!2TTSl6ia*uO;6YLF#WX?K_5V;{rxc4&2R(_gYllH0qI zZhgZi2BpqKW3MSeBM-2qO2d%V^sp7Jb^qPF9r!74^wx>9pTGP1f`1{xKCaORQH$>~ z)O#Y>w(ilR%t?7$0)H9Rq1G{4aAUqcR7&rq9&gjz&MWT03+K$F zs%EZuRP&?7oLriS)9d;kTD<4pTc>!2{Cv={!~}#5Gu&bH&(?fdQU2#DN8m=&{rS#1 zx8LHF&sm)8+KX*GJ6BpFDf|W$8A_c(6qIEInrfWARt|UW#%>!C2fgeY_lce@Q)?9T z+(_rXZUctq8*pwHIUZ*Q8AW7M(eHbjq!0Xh7bGh? zf%=H}I|=_H3C1s*t>V1a6I7JGRZD7qUYI@H;zvo7(tmw-k`>^52NVVD^_{XcK?!4W z)GyytKRO|_z(P^dNr-g|_0IIi^U;D=JxUILa!3T8V}Fe%ZK4ku(g*g-&qoZp{B2`q z6|Ju@6bDw%YaR937A){|QBH(AB-@@AubmX1*|?XCoe z$mA{GCf`7?HMZ`v6`Ux89mOriNk>Yx9(ReWW zDZWLbr=fr6R95ZEMwPRI0<^s=hP}7x2kZ$8x_YZ$f2-1uJ^YceL`*5qvd+?HOakUf zk~ynmY9L@Q&Tky%sXEkaA>keOSz-ZrFYm6oo8M;nngBu~-{!lisV zzz2o$u10^&t*}wP#x*PWx8JA90{Qlq47jtDOlu0gu)zTL;$3-#*mo@HKEVrIUjsQW z@X!Ak@NRBvSjG64YrDt#--#JHbP3DCE@s;hqKSJusqCAu* zo9r~ZEFTE%#w{AcA zXZIW2K@47M20Ej$`>b+H?VKIsUFuoHtXb9v#0PLduze-_>e4pHM2GPjt)=S0eq`L~ zlVyOwc20YOX-V?E-0{(uEHx~(5kG=*ubBKixb5)5TXGKqXW=ofYdPSdf8BDnFx9^_Z+t+LiKF2MbN{Q9IF&%T;HER0$w({RZ^%Oq|;>-Ie0_wMH z`9G>%wVHw^ukrOUVFf(ke%aQ8L)@9OiK8t@seuMtLH4I&B+34r8#tdC+X$!c?-R|< zpPPQXKNCvztT})4UfizTfmMh!_{JmB;{ebwIB)ib{8b>YwaG~3F#uYqT^#7j<{$XT zF>twhtHr}lXq*FI`ta^>)+=w;5ATzjODi?6n+o3Ke6U^AkKS>!l7G*e!e%Ty<^J^q zMC)=|$#_Zlu;TO1N5;R1n1X|gh$evvuYZ(NNeHm(IywJ~#QfUtd7kcw(r&)b>53 zXI5NV*y*!Fqaum#SowE4s*!JCVMI=(NFy3gO^ImR@9xC^{)-IqxoVrNnS*o?UbDWJ zAs)oY=vH*FVZJK#$?$s?hC8n)Q+vgKem;1lo8!R(8`ejjJts=#p{L&AIPqX|i5(2b@0% zt6S&9(xqmuP+=@V;2^Cjz{C*nMlXe1T*SF|j;rGr_U5L&lSeF*;$KXizUgdSm*xvL zxzt38a0f{A!u{Z5k0X?n7)h|pYTVBD$*|DO%4g3$3tq!pC_uB6jdAZ?1<;)wOZ%A` zG#^5^N!*It9{A&L*;%x1%jv%zu;W+3a-|E* z+~tp<HWd$t()U}e zt@jK07bB;GZwi0!PQU-mAuOz(i|27dWZ8|fsF<>h%_C2&XBRcnyQj-Cl--t2#>xDl~rqQ zy{`@VD}mE(+n_{Rt0V>%2Q)wji3%_gQszTa5h0G=Ma~i8tqtzxl5YyXcX&mh z^2KEdo2gTM5}K~9o7(-bH}-4dmmt4L(Iw`V3sS6n9;Y3OXVC_np?z}a0wVOT8$5i8 zHe+$=XjhqVDMKUU@(OwE%77}rjIjr$U%1;cn{LD^*V$`G$tDz!6s7DebMc?@F~8uN zV&_eO@#hMao+c9$;=K!9FvDG4o*CU2-4P4F-v;>wv!(t0IF!f#=My1@X$JBF4~-W` z@9$Tl98Ee_y3=A!-n&EAcZiGO?S`xhE72eCvb#q3d;x{(3+=3n|e=bIWx-mf5^zXGhC~udn*N@-2qvs(Js?cZJ zIajvJ))~riflpw5Yob-g)E&LXs{m@inLb>JR{#BZ@~--F*6PVSdu(*`+mG>{qYh~{ zqnbm1WLaqg(LHj(VsAOmZn}-OH?x(_Y&IC;<5XrI2}bHzWCmjjbF|lyqy`5`UN6fy z0S;c9t~szp|6Uz^5Yw@-(2+1?lOUGm(H7(f-yYO**In&j$&O37_?>+C#WVurhd;2r z?)eu_2-10VagI~m@r`ZLbkCl>ITrmhD~5)Bw%VhVgml>zP;7vgUDSFUS!-zl2?!W! zrQI5-J7-ZL&g#pBHSW%LkH5IM)qCYh9ijFr!Y=mIkM_Y7wLHTI7ElmeVahW0wUhcS z+05UKn6lti7MTXt(`WxqRI%DL`-R--{ZlRKQJuAM>KU!l5CCMy5f9?}-W~H&Sp2^c%Z?&_pkmW~CAExiu z_o3tBYf!1AK`n~)!+?rl&iH=I=GKH+7uZme3-cOE!}RT?jlzt8fEKF-UsB$B_5Q9@ zupsf;-(bZ9zF?lYwhGi?>db009NSHekC12?$^{qp_qDZXN2U`Tak~XDspM+2v`c&I0mp= zFN2S^j{#uol{V&k+ymxkdHYb~NaN7)aEPIL3`jW!WD>zguwo>3GG%hLZ=+&&=*cml z7s9-lOf8B@<+?t>JVNcn)2f+}Ar_(-%|3erc~s1#_6AFjAUj$`K{*>)M?8%CjQiNO z5GEpu5?P31s4~2nwds+&k-5YSAmimR;P+H1Tr&3=;lAk7tB11bk4GhYXiVtj}&q4zv9ZcslwR5D(#FZaFJ@1v}aSfNXYR!~M2PlC#1Y|Vxr{+xoM+P4b^$$#Q zVnSwjrU2>GnhK*%up{cWTI)9(Dt=bBuRHimnpds_+m1XT{Hp_8kHZSi;gmT z);EEe)}}_xda?;UWQz4&Fn8%OU^Lj9IphaS!9Wj%HJFD%#LPTqGn5TqB#kMql`J~? z`&c}!n2G&3a5gNmViKjgnk;Vhr6x<7B{D4gk{Q~4$>k5rBaZ>m5QR|`8J61wq{By< zJHu6+^hB{_q&^!$%?wxnExf zk7URn1NPQS5UETnazfIXNcd3XS6(P>Ns-VH2oBaii_=Psl$r48iMU z;>GiA37pl)CvaGH?TJSl%6Frf$7Ukl|>i%V&&W+O>u4Tb2y0f@BoEb zp4+YPFN2i_Gd4pc7^uH?fUGy`=V}J__xTu%ub05gh7Z;#oDrY|>|Nyw!vhST>QvjX z*tpGsNS^#1V)`ezlSoo8oc~~J(lfK*aMK?v57zZ(Ubw*;X1SH?7ltTjG%s4knv1e9 zp1JbjWQpf}_9t!Y4Th~%amiC2@c8mdF~cz2UCmaeDRgudurRJDeS7}NSC+`E8Pk+O zR}E%YgZ@$~zf5=d!B6}S0;@QiNLG0NGI`s<_M%NnT6BhC zW6hBz)l*(y7Oo|Z@`yC1y2lV3u}>jlQPo95>Vu_=6{Ksa{CVHFUd(en-YUTcGM8zgv1l;s&O>VbI0j$!RF;8b;av#vxY zybdcnfyr}JA9`Y~p%i^F)kEjY(ZRX(3BtkUY~NdbWt7Y8hoajBLx+l#hqKnf0hYHrQMk4pWPmXt`^sY2~b8k1~P=z2h5iX zUsa|ia+vz;kECt<_%frbm1WXAjwen-91??F!FxTDN)i43IDhO+$#7NOsW(K3hKk8l z+K6y?9V_$6yWq>^N55DxtzLJG>x3ZEHh(23Mv` ztj9eIc43{cAuh)DW54I>iRuBqCQ3^fl)NsG_j}UCM~sQEN>B&IWM*VMhscVg>S|Sw zFAy^qoY)HpMsTW=*NlF=R_3=6R{=jCpa3UDphB`9B5JB6$tIxA~Zbn6;|YC5AU(<1^T|TH6wC2MVpA zA-(>&$(Jad#cIshX^8eWJWkT7ilb(|bbA;!?$hdKU9iQ`dYi9-ohA*`o`UIbzY%bR z8O4m=umDk7*9OB7k#BiqoPE5DipM#Viy{qB1(+YO3$Jz6hH_VllkDn?(F62LVH^86 zKJ2H!&E>odV>TZj)BEFAaqzeTKHt~OP^BoGTxyFG=PYZQWG`5z`OA-k@*49yTh?`a zV0qP6zNS8HA>$JiAL2}P$*%yH>XBdwoeygYDw?C&qaLfoLpam0?pUWG7606E4)YBu z3j2SfD6AjZNj67I<}KiqzG#iuzIfGDR8H3XuIcdKeH^P%H+pu6V)Ykd_=b9hmdQnmznqYMG-cF$a~`m z5W7u8X0Y)1%NNM@28qRNOnI}`wv3N!)T0TE492{0#u#52b*7{dNpN>Y5=QwOF-vdg zu@-T=hBFd%7@yH^?v~3Kpnr|US`cOx~)N4X7yTu(!4{VpDXzO~w4 zfAB}4w^G3L5)Y)9hg-ivzMCgH8f=>yH+5JQrf*fK71H&&$EeTvr*qPGJylEBpH1|( z=(rw}-_t!cTLx``rp+DW+e1@Ds1>Pq)Mq_sR&T2p>GSDu^qtQ`XI)E&rh0pN<~=9B zTeLRR-aX>UrpeM=KMYA(9(=z2c z#_pT6chvTrLsI$C?XA=fmK{tw*mSV}01>y++;#2rT@q$rUp}J1n|jWanbBQ5^ipR* zzd>;g^fcxf%rf4)=&&nY`nT&d=$%yC(^&Mje}LKO^U$4Vroh&{TkR{qqLAvUaR*bO zfrzujd}{X8)$P>4>U}1!t2gPFf8n-&faj?{z;Du!eH)%yR6P@ZvRoeeIh!NCoWr~h zbu@F1gQaQ*S?N7O{W=-+x%6G3w^q+Y^b%a>(|XbmRn7WR9_Y{5H<5zKQ8nzew~F4?@7}+tKXw9rX5SvuG8j`)YaDex-q3PmZnO)b&1| z&!U)vXQFS_vLE3MDqmaaBppN1J9-a(u5@{W6S^!rz|n!BonIYGP&$?eOQzjtN?aTC zyS*c~qVLzU{2{irGcTm{(q9t2B!m6{duhBhT7g<`s{^R>)_3YX6$wd6Nlg~L9?9&M z_LlaR_LlaR_LlaR_JZ^Z%1UbQ=gFBS zV{nRpfHw3kw^c(Pg3Pg|deR!!VVuSTptS>C`j{N);VtO*^^T{%R&Uch`a3?3 z&sQ>~B{Mpiv(Y^hZBk!;qtM%{EDcO`o9ME*itu!csB6ADn0M-A{{R5@>)WL+52W{p zpdjC%A?c|q7CwmI(01ys()E2UwOL*IQsVR*#~2_QZ?=~MzPsbB@7KO1Oq~k@(%Y$r zOMaf&^mct6p03Wm?I|i-DbdfNv#zE{FyGVKUuYH9oWrZcTKAM`zM(QNdow4%QH8uUPe7@buCT9+F%e z^b!sF4l~qt>u~xAh0BA|!*4@oo)CQnfu`PtL$ucp2YnJ$whyLtsge&%1EQ)OX$C5VtQ8iZXuYLqzJ~bgT7l12{{Y}u zT0y>-89&6^&`3QlI^O<*L!l*0gP%d%=}C3JM(pgYa3}AKDZ4R0xxpdz~exPWz1J*4=sm|W6 z-E6+EZmqpNvFIhi@8~2Rgt$FtZn}qVq=u})^vOB&YqT9+1n%iqzKc@3>v^ahd*`m< z)cF4Z8S&Ruw^rN#0ESD0!{{U)gt$FPaC*`W^=$N1seR_;HuMeWgdagUCChd~lKV>M zOU*#nd_$>fS3P$Fzf*il{{R5%e0A-&SL@T;&`XzF`UwZ2E)P;c@7A34Bp$J36VX)3 z4yHTZHi-fwLf|c)`1~{Kmd{fh?r`qS#08{5OD{2vJd2zz*{UINB|H?NFqem!LHxy^|R_q zd9l&X?^K5)Dia*ltdGIM3L!tw4-P5LI5BV5&!{hFnPC@ z8D-X#z;&yq-Z1Z%Rs`DC#AXtui6m%{BK*2w8b;~KsrC)}7cU{tr^r?9_>u`Egqc7) zNY{O&qEFq(g6U_i=r=a5T-&-Jl}F~7NvQxS4EZdi&_icSJ1a6S&>I1E&DB6|79;>b z5rjcDnH<+kT(LHa1OuDf)Okusn!CnIA4RNe8*BiAT2i|&%lBKeRhcavBxX!kmeK*+ z(SQIFb3hOy4of_?!E`AU3ZY~0EF_$)-aTdN#`huZqykA~HiEg+r}39|9;xeKS21^} zwY|a)mViJ6h0rAphSz^Ax^44lm2Amea3PBTwRpjIV!qcj&^NY8C=g?<9b}Xn(A54k z8e|NV?jmtMB*}DJ`LLmcY#((#gMdb5FgMv3Q1h{N*25_&K4G0&p+2}}3$Vmt$ z%AFlJOhk2mImOi#Jy=V}R(ik$6L3YrXdC|ku7%H`D3<~5cmQbJa+*)uxD9D2I3?-IU$)%sL3Is$71i1y9>$dXa8v=qd@z-&@oLxz9;&=Gk zWS@<@ZVCGDw*&`YPu$A+YGYsyt8Qx48;>RZ0znA^077BrmRo-F)C-O)@*JmjW^|Ul zfB5#utMeHLSaoA@yw$Ue(SO`Hbw#lv0 z1j&hc<0iRqU({?-<2_Dmtefw-&AU~@)Jh{wfOfY$H)gIrM_)`kGxJ%~*|tedMvk&u z<(@lrt$`w2<_OAKN`U~!{{Z6Fy34G;PlvD`e1n=^k=%%roxsKH)~-a`hJ4a0I~FJq zK`0n1R#|nne?ui3R?s0G^uS67(lamp{46d^qSKooM}&E%4i5BH>GEzIJ952*K%3Wm zkXV`opg;sisdmjInvx2K$MY;XeS@$yU;P>Tc#D|A+EY!Tj<>J~u<%opP8chN;cR~4 zG(>M#tX810Ne}@U>y@k8KA{t6qIiJP`s;yuTIEvr!H50+o!dfun`$>Hm#>1j2GjIU zz()@-YmaTz=}njhOMn7aTgxD1-6289=h2oO-FHx`YspJ_!eg(d*KhLT;zU)~{0urR z<}gN6WHGr;&H>$>SE*+F5>NmfwbI!Hwz>>jQ8aB78#$svYL$u9y3+y4M;zD@VM3J3oHGPAmgBcXfNe)pzQ zYir9Cw${JM&{R#{WL5!p(hf@rT2k5RArR72=pE7pz=8t4S$CE-!=x+bft5AKAU(3s zn~-8>vR&bR!=BjJhR{~}N$t;^+atY`upk{TmfdR_W=*YWnJ(KT zp-HjuCWjU;cXdQ2mJ06J4W^-WW<@`ZV1l7JvE1Fk5>`{Fc5okL%m5B-^8FwHai7N7gWA(sdiS(YO*|mUz2BLaXf^U6)@v+*l-x*QEwOHbhP#;-xSCGhHN?32tGn=;a6F%W{9X%T0&U7`{=lB|f_ zD;9Wla-%}=tj1Y9i|~?wlA^lHExy@;pe>nANmFKbDK%wY%3Yn3gqOgynm17RvfR#w zrt2j>zCt`aC$lLJ*~6ETuI;b^1c5HH`G1xnDoS=q7tdpn&P`O$E5^Ytzk8J=ysVK) z%Tw_<4Oqw;FCNA47-Y%fp0TC(%D=>jK?L0`y5D@RT9Ta>@3INx>?u?SyxtcNKbFW$ zA*(|=!i?Mxf(kZA3?6TJ4gi3GB(7;Jw$0N=c1d4LKDHlwwj!rQv!UJ*?SMiKyIwhRWPTZ%)2R!3g6Xe_glMUf@m$BEV|uX*~*U< z7R8zZWigP(P$xkLNlNpZg+J}HzRbt#*D#y)NJe6+4m}|tl9Bb)B-Vb(DDnVzOK!GR zxAKE%E4pCaTh-e8w(#26+lIFPe-`eY?f zQ8ej;&EkpH+i4YvOsj74S@sSV{6LF~vg$Hk8btDq+J!>*RB!cHMOFq&vs%+*_+QIdk7LXfnV`Z;cK4*0Gq6i?% z87~AXt-71V5qnibPBZ)NUkK22#Wd}IzO^Jx~(S!07L+T!I>GXm*1eUCg=fQ<%iGKTAKey+dQKoC&`LTAZ)W!5+yZL@fH zni9v|l*jVl(2;c7UXU3oLU>IkVt5jfhF5vmMpHR{4Wlz6yMinEi3F$t1G#;k$@RDY z08&Y0OWyUlH@u)%uq^F4Kjin)Y+{LZR??LNNDUj6z7~waE5JaAb%zq(?j}GbA^;Uf z3f5U=MNnCHz`GC`hP|`I!SBi;IPcBN*!B&btqJ=-v)uwoyag)+js(%%CoIU*xImCu zXrKcU>MXKZFxD2F>?X~*(he;OJ3{P;dvg565}4Rl*nbrPccTF_T>79b{cNNf`ph>a z7my$V)ZhY^y3efM%=3kzr6l1oIYcu{6B-|YAt?CYzKJO=K)ek<&nR$ax|7pC+7d_# zx3TER1|&!XkkSB;4wB1$v$9kSxSU0}R+tPE8U~Pad5uWA(o80-`$Ch5R?I+)aOGv@ zeiqWnJ?c<_yG;@RBqWF=X|*d^EUO$EYmq|EBTtT;SmD5ldurf>luB;P{i%|egdcL4 z#C~8NZ!M--pVAz~D%d1}i6B%#DHUb*e`n^rTgEimp)mxirVII-!ev6E92wy-*@Hj=0YCrR00;pA0|7q} zhMp(BguxK)ZE076IjUQH@H-dUc+=dO%%=Cyja>_fZY$l>^`;>`rDA)1rD}QixLE!! z7sy7|3=sB0-D~;Y0kk{7)5J5pJ5E1{Ywwn-mB=%beVJ=m0RcP}{SOkMJns%+IuSOG zz(Hu!whrX`bL?US0$2Ni_LV5+RNFv+O8)?mJI?Nhw4#6!8x^ z@`;5i${p2m%EYVjDjTBW3wFvd4noB32zI92r}q!;QwdsEd03Sy5CjQQyGlxxQl%A% zMeQnAc-_}*31lrONNqx&3ZD@raVj~D_KowPM3w&lVnpMazlfhPH=gpTcrWFOiA-e0 zGc5d^J%&gFmvgzTp9%S>ouYBuO8mr>_lR#Y-HUct_dhTy2!8qH`8M()o;FKBs<*)! zE%^Xz?qA9$eHl+aXr7isvjNjX2)J6`XA_CM@g1~aMqo8z&G{4WafvHYBw$Ul;C`h-4^%n zFYhyn#=i4tSI(pY{K6-tT=y~FzwD`AWn&tKEnz-1@fN5$1D$3Q=z{}lfNv{@&A;4) ztVPz46-EFFe>Yv(xjAurIhEQSpb*Ezr|%MMP1)}c5XbQXRY18>%?%odfF~8(dwIAW z{{VJg04h#AcplItLzz$*46Y#8aP0>k-_oeJ(oYy6^gx?Ev;?VAyGrpX-$i0z%FLjY ze^R?ji7WlV$u)bwNPJ5B#FR=RZ}^Fi)1yC8m6=$T5s4BCPwf8ywKDA}jZ{V`wSE(k z8grn9j0J(nQs+bQ z3pDZfm5JJ68Ji>CdB1t&(wXB=d3Bgxn~?p(yf4RyvOY{$$=-9B#(_L)K+GjpX3=^r zzLWiTjkN6Tfo}(P^!e%K2RN!e${gFhDy4Xl+P`Zv;eVKfT+RskP9<9z+w38~G0y%LhkJ1B z$7ZA4VoJ=YoWzwXCG9FCz;_RTn@%EjB1ZTERE9)IGSL!%T1MZ<9ik3OO~<(_??2{= zh{ZX*uq}!6D6!k!ymm%`+NY1qt0OCq#7S`QXf!5tyg0Hm-ZS1YjDH>aV7AOV230M>0jLtWm3u&& zN+5A4Sp)R=US9jW9L=pnJV$f7;Xak@7kpEHl_JgkIDW@+S`%eZrzmr6vcf=RuVIUt${kN6e{RrA)+? zJH{Ffk>3;Yl5+Q#0^8)DxnG$^&{$5$uek}Vaf>@qjj0y?>VF1Hc86z+`iltk_)@;= zHSjID<#97BLwS+3GQD`Gacus`Uc}xLjW*0X5P`;l+EgbKGvPs8 zp}oH*8{^35jkp5=6^sab1mE!>D>Girg@pW^!)a4(3dsX7C1`elrA6T2DjooZoCkv| zo&)Z8V%HlL7rMZe1GEhb?NA-G7Q`~RQJXyPC?&Y~>;$iG=v2DNcB%YJSx{$(7uq56 z$1o2$%kxw51>*?W$;c2s(}^{*E9`LiC3(?E9i?`aDfpD_EB;EA9p!e34j!b3IXCVX z%*=l=@uEcHAp#m~&%H>n*mtk!ui+iS?N$Ec@PNFu=h`iNF`4_yj1)b??gl1i%MxNH z@s3<#;YExFiDjcM*K@O%heXDea{PJxmy_ZA30rPm#1Z?G9_S8R@Jn729yMmyRHQ*3Og{Klrr6kC1T3=p7-w5=6#+$Xg5o+q6G6A3dbh-|f2x`LI5 zcA)7`Wt))J2Dh$Z+5|6+DzrC-G_E0>%7KX1E1hB7;d~FCCDKgZ;iua2^5zDJoeO9u zk+IutjNsy(7rj}pmGN-SfdewLDXW1g_=ky>QB}Y$qVI)v#RVH+l9XemX$8WY3U?+jx<=_w&{w5hIBAV{*UT=Rg)wfH*|LN>5IW>}9LBE0g9@PA1Lt zcrDB98E4xGLO%Fk%t=?5aB_h8QfB63%wxEpc(UHqL|_1<{oJBvV_aa|9C%-iU))#} zfLJ(KH~IIO*q1qtjvK8DdKAtl)99SlDl8(>%nQ=5%vc=Fgp zC09Q2;x1KMu2s43@6u>}6P!Z6`Xv!TMqDg$lltaUQ12>MXVxWcDbP594dLb@#6~AgBj7VEPmxLN ztNZQvj2?t)1Kce5MphtSE-Y>am@zb}-2UmHN>8~rN{K6o%Dts>&uLLR^D8kx`xra5;f{JEkhhl7__vWB z3>Qww?4tE-u2pcosgp#oiVu^XBvE&rZM=;Gm zz0(cuk|^7u+ueRqG2VHMWrpX-57l3o$HZ~`M9^HO84l;$SKoMMFi3@IU?y~SjA|<0&pp#oI%rrW{|u>-UXJkM!-qzfe%gN5;Jurl&@4gHyvN`*ss5ET2|0p(qQ%Hm(y#+AE2(E;8C5IaDCL+pcC8-~nJxiI1s zs5lXn09vnN5@!l9+*-xHULaB(4wsUbu}6uXS?$E#1Of+a1$%sdL{n%tx%_#ZwY08T zP2<`2j3bF(5z6#Qo0Te5rd9mPnL<)FJ7xoqAY!FIdHIPdRwEU}u3~b|^`dhT#+54= zc69rN`(wEr8cBn;3wUP-w4x+Pl^UBwiFuWrNCah9u(15Jp)*7V{D@?#kjbIFUDX8{D#A6LAP}~Vpx#A_fiMth#fP{%F zGNoqXarcQ5ZS5-(o0Kd{!8350kcvh86*wkud)f9cZQdg6S`8uGi4zec9GHS3%xT18 zkZezAT#&c~yTC8a+A@WU+Hvs!ju~C$M{#RSzUBv-;&G#y;hFD3wKNYE_o6Ym=SuCg z^U?T^XZw!%l>i)aU8(tP1?>Q+Kt{)I(L3o@W-@_ztBg2t!&Z3ItrzEAPY63^#%94c$KvA3;Rw8X;X+^6_>bK@v?eY;cWJO?zLrg%5jhhNi2Vj~v^Sm8j`WWQc}%O6l|^^{Wn=Mj zs2|KuW>S&lM9iXAWkk{I1LLq3z5<0+gdP#3mG_*=l`H#+D~VdB(IS7?FTkI5v}Ogv zyjbV_{>g`$3kvLPD};)~XMzO+Qyt~$cx-2T(D_Lz%&zyo zUnMf5h%i#i{ul60W;c#B;wmG+a#}~q{-R2jwMA$L%JzmPqqbR;P8K?G26@YDEl@J$ zY3EZ*zFc-@!l%b+?>@1iiM;oLK($aDtgTlK5ZpqNxzig%v?2chVFCxt6FO02C@M|4 zi+(nk(9lU z`F4#ql`YImiHl{J(;S6nt-oupB)zl`w#f1((SWnwQ({(p#I~7VGO=H2TlS1pLLn+7 zsZnB9192M|FaQwPP9Fe7t>-eC?I@KJBuM#<%I^|n`yaYQpUgfM)K|TC7t6+FK`~1$ zlauuw^zppdV>gt>6%RF4@_odxOL`pUe%(HNqr6G{#}gXLE@hj(3-c;7nwVJ*z(Hx^ ztLC&$C(}034g65}L_A;3J);;soTGR!*@+m`YYoAY^4PBOITK=TP@!Y$6y%A3mO6W&$IhWUgl;hq#Nt2C`Z8^@85 z00eIE>*qjs@3cGULK<-?ti|%QADh9Je6KO!@N7W6pi~d_KB^h!R5pS4ficVqi9x^% zRlotg!N}w|zVA8i{?P?&(O)h0zYFgeg`4yZV)7=*k%0mXVqH9Ql_!pK{ikvyMNk!2 zU@A#j%G1*^3`FSqZBf-nSXef$?qzqXm0WxvLa?D5sbu*o4DopGX`ow+Q<9?0834? zxAvclmUzM3N=W#gV>`pjKo86JiP|^0i0_%QttuP{%efl zWW22nP&~#vRH>CpGzB@a-fTPsEiIs#mCV11`kC3|jUPHy;ouhG_WNr6p*+j;8U=hK z#j&K|_r&uHoOFFNnauW_)kg{N35H-%p7EhuoK(B3=*P!_7-2(53T z*cCm7K5i8QGNImA`jr8OCmIlfXDMCY(i3-Y^hGnNDmJUS+z+(8W5}%4UBkkAIEP^5 zqKhvHJ{`%E-e#CKn=@`zU#ZO-rRRVKRB#6?4LgX8V@;bG^LVLBt7`7N%(D}`qF2#8 zB7Nik08u&oL^t}xOZS|mH_*E7#z%xs$%Z+cF6}$M=FaGk>Yhi~FB zx4tjt;+ouWjj+9E_g@%N9~ArmnN47*`v_<_+PP;iMKc$2z} zf3^M*$JwmkE6WP=_K)PV?k9>B%01*hWlH8Gd5?W6{{Ydghj{snq7QIee^hixk#tq#!t0FcJeC4aaYo<^L2S8pK~>_+WErd4vVJ86kGX{}V5*0)ME!B5x^lrq? zSip0dY&iS#qjhsK_l>egfPbl9+^j@#91%ML;$3}eY5aP%6N=nRO*2OiM9Foo@L6@o7VFU zE|peFve>KPikEXM%Krf1B&}<^7WWpH0(M@Oud%iFjZAJ3mJ3Ul$qURQbf=`z+z$RH zIh*KaR3WyW`dV!ewn=Q&^H5T|@fYoL+g|X7+d>_nLus}csh(vOY#!{W;09uYXE+88 zq2e1%Ux-8V46qn~$bF$0gC+>ecK|JfDn(dZ_sM<=AWG02RI@8K$i#B3_DVM*0Nl$C zd3%Qb%+0GOc2ZQY+DNQk19ad-{L8lXDjTn`VAQ0`k8Ku|Wp~CJ&&%^Bh!;KXFChcbUM{5QDMU@IZ6@%Y1qI7}G90#Qy+MKON#;-}WWb zAM}XbMDY?Q`juGi5?6Us5aF#3yy^E5Ql$|qF(MJJF$Dyn5ip6#D#!~BUMP+oj8?SZ zQN8j|zC+psY2T73d6IGO$MQ!pE;)(fF+GS~z}Uef#&tH=(pkiNzyVkTmBBBCxg6$x zZi(JADqipuK1C*X68AH=EZ` z9%ete#M>d=m-pEGlGc6S@AOym8~eS_>l~50`lc7=`-~w(I?+i`7BgMRfHDJq3V)pxjU z3E~?-yh?3G?nAp=IDg2rC=pu145 z?RiC(dn$VheV5E|tF@}TtC;18_DY^2`8a$g8B08n=B&T6-*hF%2*SB`h*YdsG46vt zB38s5{$fPVejjh_^4QMv*hRGpCgNctM`>PVM>8FwVqzl&x2SuGF)Ww>R~2K} zuXM!qvGT$BHz%==vj^7EiJ0>fe-WzM94!#swTG7{+nAMF;N6$t2FPRxdsGL?1ikWi z$!j0PPSNbjkCfLJg}lFE9p!g|3`p4dfFg>%#r&fk_JQ3VYQm3==JC^rLfuuc&AWoB z$_YxAhC5x&nwzTcEU(!2MYqdAK;Q&x9FaC76sj;R_YFOz_QuQQ%}ak_w-@m}r!ns{ zP@>avt6jO<u>M4|4bT;P z!1>c{1GF=th;0m$aMwgz(u|AR&VA)W#P)>xxKtqmcA4H(;lFf%hri!01R)3y#0VIb zp*unz{^D;rPhj&cz9qVrzj!{-Khz9B`^!uc?jr9S1Z0{BVH0FYV!U`(1#wT0`h}7} zX!7qqe#GG`-fq5UvLx<}ufO#-W-uRlY2le|xPTiwfluHd<3;+z%pTVq^J~Oo>b0l`1@< zR9%&T+(yUm3yKmr#(o4cyXjHBB|C9E#KdD8(R2KVA;8SD@hf9MI0lE!M(!~$%uZt} zRCa|W_YdaJyTm*i@)i0be8wc=Fj(a0n!nWF5tW$xPpDd7#CybxL{w(N{B5O7&)F5J zz2610;lS#R*~PWLDuhfiIuBt3;%^;7ZK1d;`f;noM;sV!fQ5?R;(Jec#iR8uSJr&m zwk@1#`RxO>GOyXe_+m2#W%r!Je$&L=DK7W`Uiab|hWq8;%Se{a@A9fafXqR++lxpn z=Z%x{eaA|z;WNB8fo)W-EQHYBj@Jlyhj=G2#wQRUSIpjViT?m2>WrPYU*GvBa|e=^ zzj?eSZW&+~4fF^?d9uhVv*Wy7BBm<~?U?X14*CxBHT|JnwaNIKbFx9;0OARia0DHf zBWB6-yc`g^49y68r0uxp5vwYb@SVqoeOXRrc8(I<#7ewI#KK{N<~|kED!c$nH`Sc8 z_TO{8N(k6M-H!+ER}&}9?AoP$`$`y>Sd2gMGYqxv$b9z?cWA;p#P2Hq0GNbL>xo>% zB6fqt)O#g!D&k_|Vpnm@H^cS;2*j9_#EBU8i4l+HQqM!aY z4YcoiR4>99PYiQf;rSISd(AEg6XGg-u%g|_`-Hw2Xs3&kpbgs{yd{)^5{N2RC<=tm zgbv%l!E-Q#;$mSq>@;M(tb8Hn5S+mKP7puru4NLTDD|FJbO)M#ZpaX*K!<3TE~qVb zhZY*bNL-y1&y zN5pP@SG=_uySv5uS8(U02=`5d_B&ia99dOIyMFlWMlobl0cC9q$oBIcA-a291f@6N_hD1Qw*CnJ(H zC1|{SoOO{A@L)|uxPkAyvs>x$J$Ul=pYFh2`WF|iltq+^xcu#7o$M2uxqQm<>z^!bU}Jq8O>84)2^s46xSKOQ%XrA9D6yx(DY{L(6RuJd}n*H0wf z=8t-Cp5|j3<}ood_shT9h{wDXeN5@uG7A1)0Pe(#2LKjLz+UbQVctB@wAy{=Xy-7% zBIS(co+Ae#a=U6;;Nm9{hn3>QZ9|E?jpla8Bs= zMOGtX`0Xk%_(Zt=6J+qrVGET8ZdAPFc^&>1M9jD07xoBzvmg(9PnsWySlYq%wrYir z%AkFfUxY^yv`dNg@2U^#IDPhr+&DWIdjNeKF^IX9D-+3)Z{$GqCa?B<{nFNJvE=Lq zJ`Z_BE%pz^>+cdX*qM9}@|M^3ijUq{Z_xaS$n292x{bA4`46@@kC>4sn_YPa^5ZD2 z;%|To_eB`~BN>%)zcl<9$7zo?$I$N=P0d0Y&$5XYcDc6rq*cXu+IDGQ$YGH8(_k?|d_O#tW*n>jmE3>zTxSZyTwIrZUB=8nzx)wz7Dt)RbAe z@LG3qykHdws%v|- zgCB%pGmYXKM9f2pR^mM-F2=~N{?$RZ1~gef!A-;Mh&kXd;34ot?GtOvB4)NiNg|9YB`Q~moE~hZPNKCJ$x&9EsuA^8aG$$ zDYN0G8!csfP|Rag!^Nt2MqtvPmy^kr-akPOZyFY_Gj7~v?WQj~7@cI5~f&4sg*bmc@`qN8@k9%?cS?pX7<&wVp^WTmTj7%bt8 zW1uCsiM z(|>I~t~fL4QVOCxpXwh(-%ctN>Uf6QnKpJQ%R>e>{^1WgdHhFB*l%_R@RTxc<=#?< z{3Ca_1eaOE z$1qF{Nn>OOmj}7cMuhbxRo!0kHFI@JCXJumd?rWn93yDk6DamZ6SUmi4!*(nFnNuN zX65e3>9@>G329M$u(&`2e6PrIeYuGNf$kYylQF_39%5qnfMZ1V-? zCvTbE%sabyE|4#jj%rn!F`rcvc#^E(gfYFcJ;*Rp{HKfZuZJEm3 zgpCR6)}^&q%&yUn_>4t8f>4xNINP<#=wU$8g}kn!7*_p@w^e$1B|;Y%7Ac1YLmPL5 zHN+);XS4=XbwdbMtrRlcKov-#7Ffxy(Ek9iJls6P%m`-_BRON*CSkvhHY3@nl+BuM zo)x#`_KJb|O1tJ1JGnf+dZc`ITb2vx=aTEH8tD}x5A&1q+4AQ}hz zf%%7spKa#E!@M>KAF^lQa`=e|_bjQkUwL_3!rRT(%I`Ac60e=2h~bGwY{V#P`Yi&e z!6(cLK#+Eb%+Yk4{FXT)iMH_1HsGvx40 z+0Dv+Se)+@v`k8GT)-=Q>H7$eh>`A&C0&s(ZJYujZ%it1pfe{qW=IoP!8D+6wti8 zRwf!gB}EM@Xl;GB_=|ffnzGP49BB7JbQ~PcE6$$rj;;0sT39hj_Kj$lv{E2rLRyYm zitDvJsolhSD1|&fklI#=6Z;2w#LV-jIhCJHSX+VLvn~_MJZN0mrY`hp=_ZC#@PTxz zn;jpG48r2rPIiY3V?D^Bt} zA0LFVrZ8)G9Qkvgjy57^A2A4>v)(*Yx2%C6dZ>yhwvU(OaTAgxN}Hn+10e@^l@sv< zVOMRdU^!kB6DX>2k^Sn48-kdQi61eHw(u{{_0<$AO~bYyr*bev#j8#`pWt&7MZ7~V z2Xy)U)c_yx)_w#^+S=u~##eOs4G+YzjCo~nC@=1!-VDlw3&8U6`G*abyHG!Hj`zHK z#)Y=Gcvvpg;Es&NcHBfo!sPhp-Y{TR11h)xhd>c&DjWxGt#^*|n~c#mGz5xb<{B0f zfECPn)5qpLt{gEV3^~Ec^yusF5_q#IvtwwNQE#lk@3AR{gE^EQPPj@lRJ^ZeS3(z4 z$41d^Yq`K(>xo&lvu)X8>%{h+A#lcE z@hT@Uq@^4Q&7NL+8GsRB0h$aXUnbTR{1)+vQ>MU>XWAY>UjJD*jwUvXFu;rZL z%`J+#OD^%AABc_@#4Cp@Xum96OT`T7it}va5#}*xgTt}qs`d8$*N&XtU7m??)8rm8pQ3@sZ@i=0*B zw5~cBxyZvxif&&Hp7S%_d%_=?iI{ek^wg;lO=;WOEvr?05b+FD4*Hn>p}a9Um2qM! zp|;26bT^sO`-SpDHog(P=za41#XuZ^^U;0I7_;a|iNY|4-XCuf04-VrD|3^brwCsG zxtUP&4h;vLpt^+Rl)cqvJr)l!&%WjFp|wybo4iE+Ga5wZKk1^Q2Fl|sjsVPl*bsMJ zmv#0r5(ai{2n28D6)V;-4U_fvMD)~ZMpqK2WJvvzn<&%W;5SYLa!5G4=PCHuMCLt_ zKQRjJ66G!;L6`Frv_zSdrQDRS(=XK6w)5x0n2ZMtzb+e_`C=XhsP3aThz z<*pyjn`l*Oh$H+V#YEaJnrz1Xs*2kp-ErbVd#Pl z&`Jv(?mI>R(KUP4)#D$S-tLTck9kr{`B6wJzTat4)AgxBQp?GE#4L84-7VeT9w&_r zD$@ASwZl~M+4zABd%|OgR3Unj{{RW5_AbMZx4aj(5Z(yy4dr5EX|yNm9iW3_lS)kK zYu$4QLK2x>ptdIc?h-r_Lhya7PY@1&BW2?c;(S9vNrddJbDuNlz<~%}%1=FFihziWF#)QVvC1cDiE8x(vT%SVazkO1%eusg6A?3Y6PTUx+H!3Z z{lvJLiP|9CLhpKwLX$h3o=o{nOh9{O2gl|yB7K-VUl$U-XM;qq;Ka^W!afQ7M=#vV z^PidaW`Ew1EuQ}XxPORRiE%6f$R*jFxO)_w8_kc+gB(u@o^!kSAm|qv_$qx|NY@eb zJoKU60W4!$1WTS<-p<<}25+0s2%V24WI$+l6#QvB$7BBhP5%H0am>1^tS4vi9LD0a zcT;M{WZ2F-Hzz8-{-FKGRel>t-)Iy9$wGq8$1yleJ&6ot?Y8mJBi{HG9Nr&joeV)j zfC9W4FfOJb46bwb(S&G}Ef!I1WEH^5Vp})(^Bu2WGLP`@et56EWa`YcxEIW_bUGYiCL7& zmCSG{pg#V2?rg+G1;+M>#*Z}Znl8>wz@GNsvIFh0KaD>Vy>jyf zzs&Bq^LxypgLZEy*IePUF?O5eW$c-Zd_+pV$?`6lv?Df`@8nQ?p-kKGs<7{#rBFuDhemIBLsU!rCi#?0VgFQ?NVps?}k1>3$O$BQ|C-8_W(oSxpNkebh`(- zeYlJ!vVrBqPV9cc83P+7F^nKqscV~NdY3e%X2%!(Mxt*X@_-P<40mX|$3GFelpHI% z3*Cd*3L6-k=Hom^ymc3gjFoC=8toJ%{pZdnlg0r@rfkDU%Lybs8VFZd=$Wk1#h_PFBOb7em^9VsdD@(-0S*gMC> zXVXU!;ywCk%C=<~2jv@mpR|k2Vv@v)P%1lrxT6_?4JHExs;7B>08{|i%N)ctzOc;M zc#EAggdnVxTiPuJ(&RF>&eHfNf@O>>Mui-?i7i&wF??Kp@wm@@2b!Br$N<${czJ|2lu2!Gwfvcr-<=;udz0)BK-dAECbpmWoB1DnYwpMf8aQwDJ=5INk9EUKwFu48UgTI80+ z*EK!o6EolMp;F<06L=I=V5pEN;Jexa=n96>ZjMUZGiYS}!n?pP5Qf@#o@Pt^FyQkJ z@chHfGrTKkK!=zhSdZD9ZjveT!XMn-;u~fWgO1s+!}hlE9XnETR8XY>kF=`!gaJ0# z7v?7K97?Qx$lEfwmG+eqRIX(O#}L!Es^4Lb z@9bli{_IK3N=h|-_97y;VOv)n%lI71zi1*v4E|%k?j!KZKzu~vSpc=zH&zIcFqQFU z!|$IGiUvyq%XxWX7i3CeeWT_J7NK`b^oaG8iG)U*AkD$V+j;KM<)OwSwD4dMTR$Wk zbgbBA_Yys$81qq&c*+}h-3WdOfS^L?fH3>+hi?hlk^?9X*n*ne8n&#&Y z1}n8r@xcI<3RU1EnT1T-ed7E_ykT@Mg;ND9>?}D-wB@ByMYD`c%wx=BRv56cc#$e< zY+o1VqlS2&sLXBln{tS+V$tl%#AkU>rb5`HLBuX*bD;+F=XNk4oXeX%O_*xJsqW2< z4k{3y(~oTk-ip7q%7m=v64&qh9IhL#gera@L%cVKZB3pgA^!kjEi(vtgt1J9*2o{2 zq&&hKN~l5FB2X|QbKPG*m)J3JL zysH|Ha{;tW_?Z#GGxmV&(Qd9P`#inplpbKh%=U|RY?h2;+Ae0P%AosF#m5oaKZwRZ zXgT-U!}}<+JRoc$ZVnOTVdXs)e67peev{kT^F5i53q6vRYW&fc?pMk&_P4Qa1Hmrl z5`5b}>NOeJ<8_Sx0HOGnYXR?wDd9uq8%Xdf=uyoPh%0Y*%SJ0V!5HRUqu~=}DOYrJ zUud|QNpMkOv=?K7Uw8@>ma^vSh{m>MKBXA!Dtqtv^A-2ekDau(LvI4uTvhz|(WtaW z;{j9`?Y#IIk9<9+jZ4{%$o6o`*+eQu(1U@{hJX^4V8SNV9Asi_n7eSU{{Rz>IMBu+ z2t&*piE{g^n)3o^DQeVHBHzT>ggZhWAoDA0o*}i&%ZmFLLKSrgK!ge*1?J3s{{T%5 z;ByV(P?)$xhq=de7-XBr0YHhkl8=glYWN?8rZT+j1HbIFvY`_Q_t90ftVB39DB&(qQ8j5600w* zm@3ZgNN@Ywk7$*GY>$k@iQZXbHY{9?-#Z-3APZI7^1O_2$MYDMaW8L}_ld{m7XS*o z8hepwU0v6Uc`(5T5n-saQwA@1?-n@B*v?P5{sF&<6^}b00968+E;xIJ)`4fRjJ7Fd>U+MeG_P0_k{winyc`jLqo^j5Ux!IA@3-2o4)V-OF7eIAneS-<{!W~2l*6xca~JzBalUg5j!Ll z%J4f2c0Wcrb^vJn+51@vVZ#uDqYO_q(f4n(t?D6IiP}-bLHC=IqIkHA?-XJ-AXdxp z0R0a13~1QT{67=~}+CGGPD^4v$nD4Y~IK)(y-n3tYz;At6$%)-gHXpi>AZI9+G z+B2Ji{%FbYLdA@6nY3ZL+r3h+z(&kZ-h*?43GY?>G1;Ex{3&wb`@>R{S8Si+;eBZB zOBoF z-NB*eaZ>muXE23Ac!_fqnG3a9FneNIP~HbqEpKaR_KpKMzRX zM}#|QpO&P6{lfg%(!YW#uf(a|WIRhMS`fpskb(CnJ={gz{{X0b#RWaZ`etQA{WN~l z5@muUsGo_tBPogISwnS|$B~PWw0(g4%H)YXqFi$mGNLsdss=+uDH9@A(GgvfAD|yb zVp2sW5jdzRZ!6i4Zv6;?H;)HkI1UIu5ekmgv`+Ca9iy~k;}N%MlxJ{q7(P;M@O0WZ z`+Uc37^gZQ?Yn9(-uFlbg(ef77ra>QQSB~j9?}c=mH9zW1Rsqv5FOr+ynx=5Y$CGY z{YQucr;8DO@W;%^!Z-8b`QaEFPWe{KR=*Pu4f?YdL2M-f$OwKfx?KRSn;|V6D(i+U zREJ3Gmw>>lsyo394n{`Q8ySvyfK?sJ>wJgA80BI9?^x_F&$(oH#qVf zKX|*xS%{0w8qsr~f~PoKhvuKb9q)PjIScoQK1dl2IVqx8nR61N4ap3{AlVgsFXtci z9o)ML{ciHiXFsha{6?fWR38j>{$ns_3UiqJVgrLw6mc&8<|l zN?Onr%V6MGz5#f4%zSHa3T<>;uqSD_!vZbYzI$(RV^ycS2=b}`yta@a$3QW5CR_5e z-ana^IgGewDsZ+O0^cN1EE#Gz7s0Q-iT?m$DniQCHkI%ZF@+rHHd6QRIGkb?JV65J zwNsK3`+*|M-Nk5V60TsKr#XZ^H>H~!Eh#JQaS)(eqLKD=3^vU1Ggk;sVw?LRm+=5y z5&2Zi{{VU)m``Y9+lY4Fc~3a|p@;p02r%sprX~7=`$D3snX@Qz%;ehrOKO<$GwwzD zMJ&g}e1zhg4#?p><)jWIqvd_ZJWl%Th43*1Ov>1l{{V56&eczQIsBy`6W`(|X!(zr z%2)1T^ArBWiRK>Wsu*~a{sv?72zH?G2n~R3NNoMPaONnrQgQyfM;PZr+wmFWyiW12 z_Z*SG^&PxU?KWkc0AtyH$Fy*dH*p|$v>SU5;2FTtlF8b&p9td7Y=if|YK^t;DfV4U z@1y28#CN$*E;4&Rk~@Cox$_M(a49}uLTzFn6jR|K3qP5=y3{?s5`(tZr`^NNit{_+ zi+-$n`ic&k(b<6W~&Rr-|w`)yh{|BLAu>O#$xXX@KvZ5zR}W$Zv>?RdAR=o z$>5Dg&WM`O>dzijpYku}H5-h7S^#buBgvlJFyBg^!94Ts>1`G(at%p)?Ve`#wB+M9CzVh`Wr9Q=vqR6~hW zPT4)~2-QLNbzhP8HhGqu*-k^cFrLvWu2S2a(}}v`M-qWB80s z{{Ru2F}9HdO$kNd48gO0756T_Z-^p}6yye~>wSedr^@n6jGN|{iTK)Guij%_9AWZ`d$?DD44E+Jo30V>5;uYBhB4YwrUb07X*)p3zEz zbP>BMFTjl-eusj+Nw@i13ybFfc2eig>TfKMaXm*7|$qRAXcYUD= zM>0HjqCW11`G;s{5w64R-dB>M zT)Ti@xkK#JHp8PvQO}u`a|djHNgHzh;#n$IF%!IFckdX+{vu~Gn*xElXWZTJjep1^ zHbiksgOq!B@B1S$8#e~*oQxQZPS7&k#0EIuiIGgK6ev;nD0|TNiFtS}9kxWi)FP!- zUE9o2tXasLBiu|UXuV~-nm7HwR{A)+;bVSRXv0E zKZb>%dL2I9&dHK5AP#G|zjtrCR}|gxWgUfm=TzGlVJZ6v?J<@1{f3g_LLq^ydmwli zj$3i2>fYUk$Cw=YHtO4Iz1|42rCtVGO%3RV>|((wnq$m-K+OwkEGTXF?cOgo#j3Si zwjI~b@_#U4{X$Q+Jz$iFBJdjULgZ z4w04K+m8=4%xKSj=2{Q28YybKtNYwa+V9UXjBYb7(x-JWPLV4x` zUL-39#{B3?(NS_R5jI8|ceiSRiZ2!Owyp zd3!>0IfNlH-N_rS3iku%Iu6jQhT0vW+814*ONk#pt+3i3@(_kumdol_%r~i*^9P8p z%yXGWZY~Rti+&Fu~Ds)=0Ag&M(4F!{(-T?#OS7yIgayu$h^gu&v5>eW;GT&Ma*`LcDY>r_S!A& z`3S{}@fI%xRe4(Ss_*1Q%tFJQRsC?^!vQ;YVy-dH85WHpEZdK{;u`|gWmhWv#s*f6 z`l|4<{eb3F;UI35dbU@oY&U+b1}~GjK2=aGsPa&=3-x#08j-7V2pdm%y*2;XwaZAW$hNQs4Z^+ zM)TWWrW{F0rDUvA^vfgKEFnWrIqf}(wAyUUMZ)uTfw&r+*7L+JVjEq|P5TQ5QOZ{ZR( z3Y)8&jAIza?T>G~Wo~^BJ9vi-&nv*$-o6gsXuC^i-8QP{-QVn&=mv&|ZU9GFgS_r& zcOvpdH;+_e@QskdyTVuQxA69k@!BaDF^d-xnf)WNEj~BBMgIVibX;EZCv1n0)*rlP zQOURTl^A<)4Y;p*znG8X_Njblz01MK3?OJdkc@bHAU1128u$(-4^lZQwD|KEnRUxc zVO2=vQr+-^Kk^2AM#qO`=lLTTM^IrnMJmDLn6f}iOG9AQ-YzO29VHKOT0YU4#%tsz zi(MG)ykjkq7U%(aP5770bU|9L8{Km+M?hWPhN9WNzI6H1C@d%n2#DC>jUFc9yRppNn@arXPGRD0{mx+D z-i|KpDE!2*v8-9M2w(e@P9X?W0&k+ue6A9n&Jbo+pjgM*eM2-Id zaSkRo?3uV%yt1bheLD=n+SziH=>20t!`-XywR(sp^Ad?}O|3b*15@mRC)!MN>T z&=Vl-r}NCLRXcwsO3MS@ujIhreL(xc*IB)9*$)!TX0zZxd!^7q4Cfoov>K1H1y1q5 z4Zb1cK|PkA)EGJr^5uoiFZJ3-x_N_N%n~N?#^ne{@BaWqc4onFJHSm+$0SIZue1)> ze*!N)-*pj<1bj`B_!imk_PnnpPIx$0y|53nPrSqo28r;`c!tuk*lznE`;-S`x4^_t z_dFtJ_=&t{bWG0)-7P70N-bg6gO$MpBmrhF4!|3B-Z3FiT%&4u?aSUCWwM{*cK3=X z#l|AVV+C-pzUzNJc5^U%=y!{>Z;5o&xR$c7al~HO`{VxrW#%ki)AI#0zv2^602v8Y zcm&Jy+I>+J!-NxQg&|-h!W@%`Dh9J(MR9Kx<@SchAt_)Dk*ieQ@f)b6+TXA=L2cp+ z#^q3b;C7iwYbYA3{Kt4-=)uH;jG-98QRI))6K$Lk1H@Lleb$d^57~hY#0^AFV`4R4 zye(v3aoZW5(Tu;2V&X3jBsS{~&(>oiZCh48BN=&@7mxu!FsZNRA+)Qgc~&vfA6xge^H9$a5`p)PL< ztVGxok%*X0zk+5o#{$RMY7E>8h9DP;2q0NxybLHAv~HZ^d9nKSNAFB2cd;JypNJZ+ zHa_6fDpzI&zXBGZ4htpwLB2oiB8l8`ZSO1a%uGkW=0SpAzR<)cGKpEc?OW;Z2to_Q z9h-_%KdGoE=H)2OoWa`V^$F7xh~a~O=o25R%Mv&<9jlIG8kLy!nzYb-&%_S`t7bnYA6ldVY%TZttFHewYz0E{dn0#FGF-NIn{4 z4&FKf8#jR-D-&RnM5_hxMk&6GQsC?;xob2W?fQ&z0F?lui1a$>0}F8jUz z0QyXq5N{VTV#S-{FB1I2dm(chpz?0GV0Xi%wrDQRlZI3VbBKI*%|`$Sm22%^l$oKN zeZdFfCyIT)P(-ba0xYj^zfj-3=Kf~T_#|0eO4t6YF~CpmURvUDO2MS$0r(O>lKDz# zKJdnr`>HM9C%|`zP@tL4tMcVN;(r}znO(zAV;5^K5h7OYi(zVoy@)H~(V;^ipYr1+ z6>_fY9J1RGa6IN^JX%f}vf9*QSZWmy07G`;6peuq+s^UPRc%Kq_qgaFN==?%{j40l zoF54tJ_e}Qk-NcyC3g~{vuUe)ghdKWBcDN*t_?$@I%-P#^Xvk zfFsBtv1L;Uv=l?xAE3<2RuggK#5RN45L^?p1N;8~T9idOlqP1?vtv1)f4tkwJ??UE zy-_h5Udwd(YA@-Z6R6eqzRX z_MlH>5!#~)CFP%N_d=!#7XsXEwr;M-`j)~XG>!R-7qnc((9dRl&X?sw$q4fEO_PD) zGDV97t;i>2nD!&8DX>*H6Uh$zQjp=1OUKlyj%X#yc2&+l7|J<oh@T3$ z%jss(UA^I)m1GYy&Si34>*ci{&%9s(sGtj05y?xiSz#4Fej-U}yQ0%!s4LZ>_4{u0BFo1GQtnu3@7IT7FY0R;z5Hiv>TrD2+O@_3u~ zL=-!iA7l21Dm&M_{{USL>^5C}@6{<%2LAwhQ}K>F(%g6i_QRVc{3kF;@gIanDp3%u z%BwTaFb%_LTexjz=Vp7CJMu8J3@YP7-GpKOlbYYUH2{r}J%k^EFtU@MlKbe|@G+G0&KfEwISh_QxKDzGN`@;#3i8cYZUrJ6jk#_?ieZ5s$d zNUGPg$$%e3U@kr`Wj=`bnYrJA57`{AC}YjNl<#NktIQwZis8v*zaN;Ctgcr^S;Y2; z@In;Jc38C2Yg5X(g!j`E&a60KnFj4|UE$XYcN9CG7;0v70I-WGTbV;`XLq|QZ#I_@ zfV$$D5T49%peFTf0HnX!#++>nyh0P1h(aPVoCH{S@r=5=^yp^G`Q}7Xk2yY6wZw>Z?IcZO~>{LCb`|YO4Y&<4S1{j2F@>{S!g%4&H zR@81L5)2-6REW}S^E~~u_Nx34-;aOX?~zaNs@QSIbq@~+WCNU~cZ#8Z&p!en@AE6F zWi^@2a67?=W0S|OKMWU{Z@kV2Ym{PQA~-z$!DZyyr{%bf9?Y*JOb0*~!PupN;s`d` zKe_j9=49S(&O!b3LyRxsENYck0#fa<%&2R&g!ok0`^Dxc&>Nd9Y#cx17d|F; za53CQ+d~8SLA`7$O|i6C;gp)FixpOJPGS}Xs1z371Bk4=$0S)zvhUUn@h}%6fGV}e z&3L(Sm&|7~+BRUz#2Y*qqT3X8Zx3&BnAEBFa=n)}?f1lc%9^JpH!&SAHCY}IW9x`o ztO@`&3MO^9%+IQZmFpd4)aGM2U-_o_m?P#G_?Pq+j%d3Z(XkU-3KWDF6l~*d3}aT# z#)HU9EWdwgPc5_yEU~9(YEPp|gg+5}g{6VYtrX?)4W)57{$aFS!VsBHJdtYr>S^xn zI6~!=s9lNIl|*Q9y`bwRd`rLHk8ixpK<^So4Tzk;O#!+9CjJkrFdMe-V4mXd@Fi8AqwwSQ%a<*S zd5uMIOq{;JSFr8j?Jj>EqD6`*VqPj=X-wrt{Hw_U$d)Ie4?(c5YQ8O|Nj9TA0`MLW zGO@s%r~@zo2sbQQ#_c3#%XeFGf;mGAfom?_*9rmZvl+0gW-(w*sifA0CI0}t-p>C3 znC*z%_Rz5?3sb;DlDfMT1HJh9j~vBTRdTBu(XwVaBN$Jp27qkYKN9A9?-OBe^hf^2 zGV@T4Dj)}ujRGr1UgYlS^P{b3PZ7hHMJ?QW$A?m)Z8B_Z>%{$NePQ|msY~D5;73j| zysBpU5R#zEFo~GK0XQfd0~Ybem^@E1^!L%14$;fFragqQFu@iA?l?gMA6E&HgNP7= z{`94-d4~zem|$?1b~fj^zUo1oLC0=k2J-}iGG2=IEx&R5%UChK*8H1!5QG>-;4w;r zziDsr7+wl6h|)oW27AlA&l!gW5&M#|M%@fcJSpu4;M775+Y^!ULP8t@_%JZlwc#JV zN8KNDHb2bY3oPtEY*NnkRyahexJHsUdFO^Au)}zHN;|vD3h(#CmL}v+W}|**mN?bU z!*?IN&r<$k*aDY|*7AY6cd3pK=pJZ6EV#Pq-sHIzz8=n!D zEezD4%+c5wKO`jx0o*XJYW>QwwZPB2FT(`QM_?Lx`}mI4oP}4)#87Sku5+@6Y7)zo zlm=W5=Z`US8H~3r(!mzVU(*%A`HX4O<6}@o4!|3-ms1pSa$Vn_h~ida(6wKAZ!^SZ zYBI#?p~#vVOS-r#f00;ITUu{Y{{ZB&ELnum(^ie#PA!UMtDszcS59L*%gpUlX_V5k z8bwXOejTL}D0O0-lNxU~_JWk36FIwe<^sE%osHLL$WQBnuDpxpUh-sR_V?~wLo6RVL1Dpp79te z3MXWW#qSppO|CC?EMH<1g#Df1n|p=}_8t5^qT(@#;m#=D#}@h6%LOiNdf=LJ-8bz? z+jY2KZhJ#SMO6W~s{w<3W|n~BvG(&FH5R7TbC{C605oh=j%atN2R7&zurDTR>f^L9 zs4+5>5WNl}(95}`i(Fe;-U5T-IhXm5XuQBmEp`p(6*+{ZvV>Iq_>PT7-4?IDuAS}* zB{Zx6r`^Oei(uxV;`46qE-_=Avhf5^x3G4UW8B~{YwE97ZKcOgjW*hO(&85gq*S$* z=eNv8Bp63=ClkjrcxPz&o}|w4n}(qqq)pa_G(1KSh@lb$FTGq;WT)(~j>;R*U1G_4cFvAQ~|ep zd`K32urrTNMlo{uVdpORjB8^({{UEJwz>O8RUMSY;xOHZeg6Pbvi8$w0X;R@?s#TE z&d{4(yI-6BT<8;UwfWCJ3L=YfY6NpFLfN~0jhsZ- zno3455pfq1$i3yyYd{LXk)Nw)`4e zj=(hY_wgL2QWak-nC<*VFENi0LN{_Va`&gl$rIaS)mp8=7A)In_m6qst2GiY&uI8X zD#dcACUK3cM`*>l!wodl(Q%yb^_Y~VT(7*Tjwg*V&bXWXSUD(my+3f7BOG^~ju?bZ zpjF-9nY1x6%qBL9GC3g5c2k(mo18XyJ8OtrnECn+Szx$n^1uo!2Loj9od{QX?>*s$ z2M~P0M66cTFnV)V0a4~rw6NzwmgvS#5Mhx=|h}enD2tn8bf|I`!XFS2E zZ3n;J9$^i$1}wv1mQ@Ro!!JQpY==Hcy5yJJL6?k7YE&XDt()*n7rbBq><= zenzPL6DG#g`(l*~imGbMA=xRGcAc`4`%5_^3!zdRpTqq!^s=J&jNR_~yrCZ?B5pyL zi*0~=d?O_x5Ts5LELfu47VOkl(5IPq7A#)T?E^`!elO2s`b0q5f5JSE40O1-mp$d| z5sVFXOTCW%7+MdMRgAHf&Og$fLRBsfz;GN9OVNo{CicFd#w%Xre|_s}Bh6@aI-0g*SF@R+UUWlGJu=1*i1yq)g<020B7Ek?&=QZSy< zzR=)+_eH>z*bTVt-IR(vV;R)(3A8-R?+EZ7El6ZXxfwhP?E=W6gT!{s1SubAL$o2b zhx(Qc_O}ycPDH|TOoT`l-rJiud_i}H9iZn+hdrSFA*2kuR5o@SDj5OOe4fK$!z_c^ zUSe${9EoClzy(IV53roO{{SHfFkr$BZx;(96O-@czW&K%C*3X#xHBxy)y;N(_3jUO zaAmhLO`!8OHsVuI9qLd^uu_BMWyO~+IxXM2EWXm^=ghdU z1>hlsPD+9uln0KE0q5lvqgBX(<;BXwgUp4%JcS{dqIPHLJ-6r z@G1?7TN9R02`hqxSfGP= zp>ibMQOUK-mZiwt7!42&G>O@(*v zzQ?o}G2U4>f@KHcsqbPscBf~)@evS+nG=Rny`tcIr^Ls3j^jOotKZy~z{x;EzFPUI zdOFOuEwcV1Ek*4XU0lDsS#ezhNOB9YJ>^3ZlE4cg3Z+@AiaaQYKJwzrmx+2f{$_83 z8n=*TIXK*lZ2*<7&4qBrIAC%FW{JoZkbdtS=07IVo$GG{=3=;6%XcK$)&tXqf9hPu zf{Fk>60xWZO~^Kt7Agc6!e zZwNT3d4xB}(6X?U$M72^GR0d(2alNS7>!68MByR6zGs~c;hC6e&JIUgs@M9W1Rl_C z65%dWAuFu6ZN@LLK<@@lU+}qu-dyo64-jD7RLjG0#jic~Ks7%bpF0jrj2JL`MuEJ1 z&KlV_9vF+5j(6#s53*!~1_=i`0;RD(gg!=A^?NO^;eJERxqo?^mkSVMUNAe>{!^3f zDWvE2thwysTP%xlYk7WWaZ%r9e>cG+7qq@-m3l4VtmG4E*AX)JDhG8A6KLTJo zkw(^PG6hg2NXU2x3Q!($H;Be(_kbLIZnIckLE$?FF|UFT}$kt6O7ik8Qdyw7(G`jqas@ zEJ|}PL_<}GqP>k+-`ac5AwL>@GkKjk#G+XWz&xD5!h}$5GB`T8f{#_aOk%M3h=Q`< z2-TAN&NU|P!nbo0R$G-@o9#2aAs5P9$lD1AxS~0J+~r@Gv>K5}ZX+&xPc=JS9?)Rs z8X5$!QUod-V{P7L0uUTWCb@z`5P$3^f+t$;>?b2D6F2E|=RSF3FoH|w5O!F3mloWX z?VYnYA3C&A2QiKhLJBg4$Of9hQl_M9QGDt;DEG3wYCVA*?{ z`Ij%5a^=H=jxmpT`Gh{^9lna9)|BIZ>j>Wv-$G~1Np5hC$=NY3Eyat(SO!Ra34nP#N>2n0-O*UD&$I~8+Jj2d%e=S( znP9cz>dnq8m`q@(cEhnR^akRF>stguYforUQOaM8kgzOND$qD0kqt2!pJ1U^;$iWQ zRdBcbj?tOXi}-2`cxm}eb2v{Zz35lzqZytTpn|?(moxX- zeBEAsu49YwFMZYpGFmg>6VVsOw@IfZ$iGCkXho&o!h;rR`rhAtH` z3WwqqF+U0>{&+ub*`LwlyDa!#VO)0cG3SYlT*Ak|{I)UQ@tU3no%a4ww&{;MN`PG&AO@fyv2Vq=+$&Cj`mf7w=E>G^=HKN6!d`L8eIU)dVGOnIo)OlR>i zS^1owEE=r#jdODx+{W&A^RCak@1Ab9cQJK~nDa65F>h~)>?^VTkCo$ZGZQSmw-{q? z{^^;(cwN>v;^+LQ3)x?Y#ZNI!tU0UZeJKiG*;5gz=CiSdHD2n!6UcRMU7KB*R_Mm2 zIk?rE#xW_x{{U^fOY{6qn7NA0#<{rFM!d{a@cFgBoUwI2$*QrYK5OyfJIr~Q^B8O5 zGySakubbb;Y)njfnDa5`#KvlF#rT+_c}z@vaT@vlAyaoV6aU%(2mt~E0Y4D*9=e#X zI$oKXl`E(s=dPteiPKYUy;|rZ>u#eFJAaM4rlop(YBejjpfwVpMV)F9>vrg6OzQe( zJp$2gSE%D>uDS-IUQUg@N{2-RTj;59)3QI}xjhQ>c+#}FSLhik7%!sqSzTOoHPA=X zdwLkJRK|T#slU9bx4)xZVRHLQ^tU|<(xo!;o#jR)ou&Af<43X&iDzkvME6B{oN0X< z`}(?tr(P?e)}g$2^p8L+Th_f2K00gCJntV~t9ZBS4MEjQJ<}59zJ*GIOir6iIh0Ct zuBUFj{rbjn)lPcNo`&_fZy!q`=oM1sdU+3jTq`VK@WiiIZ+#C+rAmisS^~-?_KLo{ z-dCZ0}uA1~h;_!5hMC9}W;_z!; zrA#-M+FoLI>Zx9)?^IG@iBZ_;zJZCM-%+L|JvgqTqSw%E>2c^gR+Z@$dG+=>#-$EU zpt!smofX$p%3p4Sv`bP~C{VKnH zfVjHUHLjY_i|yCB{vRHzrv%@sx+>z^(01uAx{BvgJM=eRh+JFiDzvXitIT?9&4!YK*XcsU=xm{);=c=RW?({3Fqqdei#IIH~#HXOHdX2Rik3;B{*HXqAewl-& zrTQBlshmtP)@xc+34WQ{B|qVA^_{gI7?sxT9GB>~b#bX&^s>DUI>RyESEt$2et_rJ zafm!IDjfl(X;P(D@z1NdqtjB-j`}R^FUF;%%a&Ht5{YP!rN=<<#IA~gY+HJqbXxkc zTAcx$X?}y&ZTm~DVie@XRgeFqG;tRH3h}JO0xh{G9il|d%irM-#@>L_a9tbT<3kx zeO~9h&OOe3yB@^0w?QUBxp1jOOWenR;nT3cF*&O$VKH6aTdAcfO)!V~Z5C?qelF5i z-KSy}qnI1_{KP=dotokY%o-ptb*5qe{Ha?hOAJHp?r*HMx)|buiwY)^xkQ={Bjs9n zUMFQ_(yW?5ijUp#sq{qLooHOTUQ+}>MEj?r^VsS4;|R(wOo0Pw@5WNOftywZPuNjl z-ckd5YR!}dYsEqVmMZ6;*xFC*uohw}V3HhD)(!VE1XV=4Xny2HdcEMs(h6LclP!eS$=oC;Vb7ErBCQGvgQ2`pNa>>hZG zlE;i@pY8Qv^hq(7rj2M?*Y1zHbvEJ+F)Cylk9>7PAdT|Vp_=!bYMW=!suB#gl6KC4 zb5&PyN?PsQx5fNC&9iq3nEb;_ReQH8a0fVy0R#u=_5+Jkyq|81PNWK74$^-kJYEAd z#`%UjQw{`&kZlC>`GNzSI_+-neP2~UmNT)3MTs-M(NcH2aKsm7e>Z?ciVOQt{- z2FBXiYt?a1-Eny=IXk^&LR@V#kroQ?_2_3ETGr(Me(G9|a<8J;Qz8=(r`@_pM8z*= zEu^*~;w)2aU~|GyLz^TsVV#^}!t>hJo{VhmKqgpAL7H;yG_&*s4ISgqpn$T$i}2 zYgBuOoaQ4Iq3(Yz(0f`aJ`v(7m>DE##r-+kw}@g4sc4a|0e{}p?6pM&9~z+A+ao0( z$8#9&dV8leSV`W_>A`u%xROT{`@~kLBuVjm)5RC4*JOt;6pDI-Ak@m&L6S`?*SF}0@DCdv;$;% zZ*Mu!Xn`)5$KZA0G-7F?XH<)>z)pk$fuIwtZcirWAa0dXqFuIZ!i#1JRBWOB2_L8C zrcFCIEGb;}P|az6AcCz-qR%l~as(@rVT7s6dR>=uh$)F(bL?nbI#b4BpmE8Hg~nK) z1o!r?N*+i~dvca5zMF{_22LgNpioL2PIcV0zb2X%{DD48Uvq$h8bnqbE3wxN8woWF zlaP`y+7j~@f?DRtN>a^@d|bg{9f{8?v+VWo!@R7lM5wB&9`kcrcD1fx>1R?R8R-d0 zfO%+YKN2$#Dn+GSvFs@qoYF++3gNBe&kYao{UMvO{|dd*&j~3Y$k3T5`m2!yU5NdX zp$Vy-q#M@dgyQAH|ZU$@4t8S}bb~Ucnfu2nK3o{t?oECw!za zxt-dLLkZ~eAh*cWb6B0QE(e2fh+_x2%1|O}=rSvMx))Krk$k6xCGOvgXbM5^tIw@j z0|6{}=8l%BPEfGoV=_9JfnY_KA;mdXVD8s@-u_J>`K&>K0AT#63JP0&hqZ;T_H1Eb zq6pd*iLX!?1E?Jq{Fjc8DdUPmT|8Ahn!&F!IqDZ2Q@&;`1`qO9Wsauzlr=}$xe=pr zHe7}zPLh-m#?AT6v6*8*rzYSbf;_U!p7hBB16F9u?v^_sXyUb9U$UZSt zKgW1!;%`6cZ=E9^xRokSl;sYD0%iPZ?pNQ8@{AcX^^Gk-HOyK55&PY|CdI;)iIp-) zJedWi$if_EX1dCPGaUmpDUo@AYK(FnDp)GYtp|fs(4FS_wf3ZJOuk2?m&GtJ3OXB0 zGjZKDOpK51!sH74*q-%Yy%w8vXYPriBrOwxrMAR4Y|cb=uu30j)n+mTJ5$=7?zw=N z{>aL6{NIFa&MsUNwaqVJ%g1x47sw zYE&7|2x^^nhJ;@Kk)=gde&p^LdL}|RMawsZJG(0|viVvTzYOS72t*Q8k*m_O@D)SSpWt*rLg1lV##_nHJ7U zGO6TIt>N7U^69nQ!K;CqY^wh;3a5;_A7jG0dUCWz_P?&UBqVt+MTK}R<8|v85}KNt zXYDu3j(iy~f-(OP!kv*ydn;$YFMG%d8h6;xb* zS}LmiBZDW;9!TIuS<@Gp4PyC(RbLe_*QF^i-HBWtb<%u&m|N_RBsgiGsSu>sunTS# zytCCWK4kU0e~MO7L>US>BlD$dQtB&PBG+L%o;{33C315FG8}`+6qMecJXRuJSy@7K z8g|)8GvThl#eH)N26WFJ>tDg|(Rl@Ml z_MtMK{E!=jP8IySQya;?8ImM<`R2qsi}t(n+&IiKfz(5WQJ(Zr`7bOxap%X#+U_b$ zpmqU7!@Uf6oH2;YSOXi4>ODinZp3Jpg`TOnV13Kf&)t%%mNz-a(CC;5ZX`#UF2e-! z>b${WMR95@1(Yvs%Z?EF-j94PPdgcSvZ1_Q!XJwJTCzhM@oQhPE%vtgO`dfmLEyMXm_$;XG#NI3g46uK4H9 zW3$WG%at2BreBZ+e(skGUh=xQ;wom*rdi<aaYHxS z8gc$UMQmiqdmg3~j&gUK#cW%q z;%RqNh6655<%=ylkq59CtJghgXLzVFkDzV#G1IHK@J$G2&9pNJG_9pM!j8sMJgUKF zD>Hv%Ge;YGWB13C|LmJK?nN)}A%72Z8@HJN1eGeBNi&pw zToZccFKG71ya|JTcE@Bv9y84s56uWmwUY~AwZVW$?7e}F8Y<g?%T@;3wyL?5X60J`(i!o(!DN>qg=05|cK;ld zTO#}cM4~zl+C`MSOLEtqx@r9b`-soE^0B68+lnf7w`1ohP(*%-DH{=88wq7=a8EaD zyN9$Oxq6{{`(*o$T|jWj#1Z7l*F$ zrq(YrVQMOROTR8Tf96#FE7aiQdN@Xl{3CkiCU5oQ9?u5>n42GMc`>r7689`ZtgE`S z^a}^}HCiEvcBZ>jnxhe^!!cuZCMiE_RlJ|Ny$7$zyq>t{pMjxuQ-O7W%n(GR z^L=iEt3h8mPbys3+MZYEvFzQTPft4H5djgcY-<>aG+BIUSGs$`Qq7S&j z%sl9Ur~EMA=Cy8;1cceVG7@bjyDdlVU>>REuO<93Cq5Q z{Jzv{zCJP`cs{7Ty>;{b{EyoUl=kR_yj|GqUeoov^<@OhMr40n6#Rrksf_$5(WHG}QxgcMmxvP-}^g244NIRYDy5#3IG}-s0lDELN{w04ozs(VmEDIb8d_AL@`@QY?t941AUm zmU0ne2sio34%F!GLwT-{E;O_DQ+YH>he$4htCt=TRnDJio+?SA@Jk# zsM?lUS{fa~;XjXz3YB}4wNM@!RYqf<1w-t~;>P+!-eDUW82<)Av|sLfTtO=uUL2Lu zpwZ@4UNeeh0QN%JeOB`J1@~#sDQ>X*yxtx>CUuuxJoHWv`3D1&(9)pl z(evez`KZq1J8{ORR37~|J)KF$lP|k4f_!i9|IAm;^=|DWU#<%I`K&)Q(DlPMg0HnJ;KJXwR_5B$nEkU$_YT3V=d}Q zhje9)MhFxnM!bvz(F)X#`n`W^TmmrKeb#ta9ys;G;MDPP_&yW37)~SRDjoOf$qXFQ z_zv!nYg<>R|9AV34cyBa!7`mDf9lf=Ss`N3Li%UlEs%Ga|1D^?=>H@N84RG_C&YPZ zX5vsiRKfx=QssT2)%tG>|3aLP^*5G9h)_NzFn!wa&2K~1ZRWrdktShG)R}HIu+OW6 z`<$@5FdUN^>*v+di%#{_tz#CSD9xhhN#62;!j72t&vgmO&~BJCtWf2n{YBHx^|I=u}Iv8TwIH#x=;i~-(HkPZeAXpIFqv)>-n9#&kb>{>Cf~{8{0-OJ_12 zELr)U%&L!Y>dH9oR5$%f!Z$7si<8yx5RNvE%lH&Af8Z0-yDk4K_yZW&!0PIoOmeT> zAose|(=vSGwX~K#5@{MWQ|=4ZMeS+Ddpt`~n#f%8zMcKoe}nROlxjIrORh$ycEP+%O~Tv^ z&O1Xzzp%5Cb@SuY<O`Zw3jBt#vb@A)_(5X`@NXZN-o(}Rbi zqMFhzibmQme&6~kflu)<9TMi?pZq`GOs1jRmVTt>97Xs8C`JHX4+Dewu#u&d#DNuz zAKESL9s-0dm!kiGx@Fz11MtD+gHuzRNBcW?-nB+AgHzLdDV4})!3v55xaMY#ceSa+ z6Zs`Ni>j`&-=*^LofX^s-`Cv8+6>#A4;~)k^WJ1eaMVHHq~Ilpzm8A*rmW)pVgdnF zm~8Os66k5*GC(R{58eKjQ&jlqvZl_MR=z>+PwzoCSUq+-YFlwBtq;K%mY8tyV^|GrHX%) zqaE{?2lu>>B>(&0OijxG_LYz2XoWvz`$km;w7&hfYaM=bJhbHb76?Rdo9$TYaw?RF>QB0;h*bS=Jw&r39 zmkx3m`?gR+Ok~~M6F;;bg2b7UTh#VF9i276l_;uxIriMgOXTDF628gHEwkCeR;8<* z!1QkaV{^tCg;@~rD?ltyLn7U5^8WAFcR@=;U7HV_T3rhRUKrI(n z7(GRVGWh_L_D%ZDjq*)$K9GTVDrX%J+izx^tR#Fk!%);#9Wdk1Xa3QdcsyDM+pz!m z#ZKXgGC3=R*h(eVDgr`j` z((Y-*XS<@#kqd_0-4PPS_^n*?^9p9t&vO&ra;9x(RJO;R0QRvy!MICZ87*5p@ zd=*hRTzw%v>c`}*kg6%rLpju|@>b2ZHAjiNi=RP{cyNbmcx(JT<(|KWEYe4x5|%;enPOl6I42VYO3%)ZpKgG3x?MGCi+03tk=y;^D~JHY&xG6KA0)lcI}&_<mU2cc{wrXt?P8fyHy9o=5^ zfa#@dJ}LS)o7wvpNo%XvzVl@lD;W$p2LTD80Atvu1F(0-wEqe4V@o5)0edl?l$o-<!RQ7p=3VV1^;FM}O5`4^`@)+DScx&XYJ99Jsd`IG;e}f5 zVgykr(6NqsLWT^z-7fXGG%LS8O4E~dI?D$JI1FT19u9y+S?0A3o~CL(3;M}zFa3o3 zzJD|+Gxs`GF)ePFK9vgxM|2Ch+oc}M^?t8euoEMD?v7aWpOWyEKR@*oYJ*H_H8ju}+Y=eJFIw!$%c-Md zFkAl{t#v~YmCnMvqpW@__+f2rpSMy=pRTeWsudjt?ytMO>_oU_{sxtBSE;sEt1rHu zDp``_hzPh(B~}FPwJuZCQ>Yobe>XqZj<9*d5fpFn1{Ji+k*at(AEzuQYO>S8W`TRU zZfGvdhdRB%gOMg!&52Znk)kUa0vJ7HVzJ}kz2luF3z)OPw=rPz7pb@hOn|P-7gN?; zQk!znEFr2>#?mT%Yw}d==vYr4xY=mlrRHkO!jt$3UxR4-|=}q!8IlE#G z`fKU->f9<}-Xf{I!T;FrE8V@y7uA#-=QoKLtJ_l@On=e+a^^B5{R2hi7N97Dt;sWo zbs!cJ{^CfMD@v6|s5P|uK2`eSFE<~XFzLu$CR9pq%B;n`Cg=eFP(q{0-FZYqUHntQBgMuOMe_8w5(G}4Y4U;>oxZq8kV=dJ7PZ9lkZ5PVa)V3 z=Des5HedM{lHT%?*LImN*c$IXAK0X|qRvg_P1kh3xpMo9_k{k?x}VFjfPShU1CY(K5eRM;MHNc zi`|R!G_IP&CgVc`b-zVBeKOS7S%bZX=Re)-8I?1uS?9<;o=v%4F$Xxm05FqnP8_xmQs7nAqEmlNP$ms`;L0HofsuwWZgVRCVCj9$&H; z-HJ2D;yQoxnzQws!Lw7W2EB1&p#6Hu3GwgQU43wpAbfYf6>yGNtK%}Na%ALZ;g{Bt zrGx%Sy)mZ-mcNOC)L-s0YW<;eZFB6mGTp*fX%%EAOLWyJX9{n=Tz6m@I_H&V&Y9q% zGEIlvt404F6hy$RLJkbo5xSTy;kNlkw{bf|w-BR6BRZV&#si`NNTv2+Z2lMGebeAD zayQ+Hx9TLX>y$HlyM1tFu>rYaRRk1TKwKSDBB3;1rJHVL%SX9*N!$+VMSNIx@%Fck z;BTLeVEP{N&Bnsyt|9A4byX1VST4L#>?gi4dm$UwnaG>YJ{Ovvkp4(`9wrY_cPCw^ z?3$+;8Z@S$AK&!wPDdQH^Qew-u@l}b*F4v!-&f#hOP*fY(rC}?m+o%3F|j-GvkTg) zp?N#-B~Q$!#Tle2eMSQ-F&t#Iag;J{|8QhI_h!PEr#5X5zGcu6W*6$9n+Im8(^y`LM4FT-C{t>0kgl- z{ltQ85yRhli`+e0>+Zw(=r&1-695vlm=mOTPvj zUuQ`b_>EP2<#`~<&Wfl1k?s>#U+MOZE%oXDd8J}psWg6n5DNAbrjR&3-E_Hkp@Fsz zpg`Qo(tvF}bGJOEx{BiWGF3mT0GrD5Jx!&oaoUPqV^Ff{aP(kme`*9h9jx9 z%z!uf%jv{o!AT@Z19>yHSu4C*%d;3^tdbzTda$MOxFCk&hIaYQv?asmW)hB)=kq4f zA}f8483;eCXI7Qz1!p5wkwE>g@XnwVa7uip)uLYaS+$)TCsx&f;#rY*H=K_p za?23yN<*TWcSfA@K<50lfK#KMa%Z6KRw_SmT0Z8UMx+J=bKwT~%Ue?u?59_z6RqYh z(y6<7kcyNj?E&GNoCBCee*p=quir5GtdM+i(T(K4ql@gx@UU+M(y zn|8@(#sH?&7Jr+8iCQ8}bBuuIA>y^_{Io*6ce)mOMm);6SDzLB-ZqN?~hV@@LFZGLvLWOOd%mxl>PF-=R!y zIWi4ipM<)aue4ryd)vj8HS6h+xg-*~XkbUrIPQ)p{{XB=zc8{mdhE?Lc0_dRA+AvP zXb(vp&9`wm*g~#wkbQVI`CfXVIbSjBaHM5G$vMITg6WbO6Z9)n%txfwU3s{#?7r9wq&3*W`E_Q%)^%oi&F$kjE6+H#)Y;OpiO?sZH`rW8+__sx zk;NxqhB`gtGv;CUVuP!XeI6ynY+gKwYd8W6U)+FqH)KBmm$m+bc|^H&k`a;nGxd3^ z!K$F&51>&Wc^T>Qj#qbSvv>o?ehaA*cb!n;L|LFLdB1bFq%YY=i#9vfnl4V8XoX&!{LQKs-`Ux-%U&7~nf1z874=>iIV;ZyBfyXdw}L}M&TTm# zV#d;*E4*4ruF-x2(XMeC!9&Bilj)75@W@w(CW_w^9Wae40tKoos^N%U-}=udrzEZ! zhhu6+1?mxW4+IQjZwK2Q|?DQ;8L_4pB8{RBGXv54_Vnb?aqslmL7Lef#l^Lwv) zwW{Nvx|dyuVWa`E9_+RYW^ycfvBsvdjJ#GU-8xzyGy;U%MP9X z`(dgkE3m`Nh&J%Ttu9BhBxBC5v0QePkjOiGEtdQBI`rMy{Id(S$E}1~s`5vmFvGgD zrgB_?8f=8moQ(dA=FkXw$TebS)xSbVT#jAu0rLk3omvETq~X*glkrDl*x$CjWAX5Q$uAU1q5VoQh1l@_r5YQeHD{GT&&+gC*>%7 z`@)cC^prpd<;J?YJ7Pmn*SVxZv|*Xa;H&e8UrU4BZ7cz=R1L>Fh8NxuMD3qSGF5j$ zFLj)k)6MDoPT=oPiGMp!1=tXV#jC3f?`;6$%oLv%2@N4oSJek|Nv>tcBoQg?$Gepn z#(3cO@gy+BVSn zKED|1mbcHf=gJ}g^-WYMV>aQaaRm3;jS<}EUq_wLu3EB5McA@sW#NfhAtN5mFAV0Z zr?36IqmyNJw(tbQW0S#E4T<0j{packW}$%sQ+8jvwb|Xdl`5jH7CD(u3lX)2Myd?( zlw+h$M~%A8yEcSI{KCM~{!ag_B#5oh7xz&4M_Tv>McG2QwX;a_pjnmDWkgyV(Zu#i zT_Ud*J8A)*-)}Bs`P%5qKeDweG(ESygr}TI#HiM&(i9z!PeUyCzz(^^5`M1LPKpO= za7a~$N2b$Bg0H-it{6sCQz`ZN%FoHb?Jvnqi+}i#q!nZzY0VCLsQvffq0{I4Y~760 dBt8;}bVS@r2>^hsH?QwAo6G|9uh{-O_kZxqi-Q0F literal 0 HcmV?d00001 diff --git a/apps/www/public/images/launchweek/archive/lw7.jpg b/apps/www/public/images/launchweek/archive/lw7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c28a225357dcd6ea019bb66acb699f0dfbc222d GIT binary patch literal 65516 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 R$tgL1Z&Vm;yZq1O{{hgn8-V}- literal 0 HcmV?d00001 From f5de90dc72f60fd5ec1bb23756bb8dba840f73ec Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Fri, 11 Aug 2023 23:56:55 +0200 Subject: [PATCH 19/94] cleanup --- apps/www/components/LaunchWeek/8/LWArchive.tsx | 8 ++++---- apps/www/pages/launch-week/index.tsx | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/www/components/LaunchWeek/8/LWArchive.tsx b/apps/www/components/LaunchWeek/8/LWArchive.tsx index a21d4491333..aad42232934 100644 --- a/apps/www/components/LaunchWeek/8/LWArchive.tsx +++ b/apps/www/components/LaunchWeek/8/LWArchive.tsx @@ -15,11 +15,11 @@ const LWArchive = () => {

- + 6 -
+
{ - + 7 -
+
import('~/components/LaunchWeek/8/AnimatedParticles/ParticlesCanvas') ) const LW8Releases = dynamic(() => import('~/components/LaunchWeek/8/Releases')) const LW8Meetups = dynamic(() => import('~/components/LaunchWeek/8/LW8Meetups')) +const LWArchive = dynamic(() => import('~/components/LaunchWeek/8/LWArchive')) const LaunchWeekPrizeSection = dynamic( () => import('~/components/LaunchWeek/8/LaunchWeekPrizeSection') ) From f51da19fbbf3e38c58dba5e9a8ccf97a3a73f76a Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Sat, 12 Aug 2023 00:09:38 +0200 Subject: [PATCH 20/94] update text --- .../LaunchWeek/8/Releases/LWAnnouncement.tsx | 4 +-- .../ui/src/layout/banners/LWAnnouncement.tsx | 32 ++++--------------- 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx b/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx index 7ceebd4e3b2..8c2d369ce80 100644 --- a/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx +++ b/apps/www/components/LaunchWeek/8/Releases/LWAnnouncement.tsx @@ -19,9 +19,9 @@ const LWAnnouncement = ({
- Launch Week 8: August 7th–11th + Launch Week 8
- Check out all the announcements + Explore all the announcements
diff --git a/packages/ui/src/layout/banners/LWAnnouncement.tsx b/packages/ui/src/layout/banners/LWAnnouncement.tsx index d7db39bc2f8..c424722ad59 100644 --- a/packages/ui/src/layout/banners/LWAnnouncement.tsx +++ b/packages/ui/src/layout/banners/LWAnnouncement.tsx @@ -58,43 +58,23 @@ const LWAnnouncement = ({
-
- - - -
- Launch Week 8: August 7th–11th + Launch Week 8
- Check out all the announcements + Explore all the announcements
-
+ {/*
-
+
*/} From 4692eb9c6dcabc3ad71d8ae82beeabea24044aba Mon Sep 17 00:00:00 2001 From: SUMAN KUMAR <86798449+imSuMN@users.noreply.github.com> Date: Sun, 13 Aug 2023 01:41:56 +0530 Subject: [PATCH 21/94] fix: made the sql editor resizable issue #16444 --- .../components/interfaces/Database/Functions/CreateFunction.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/studio/components/interfaces/Database/Functions/CreateFunction.tsx b/studio/components/interfaces/Database/Functions/CreateFunction.tsx index 048d0cbd75d..1786d2e0bac 100644 --- a/studio/components/interfaces/Database/Functions/CreateFunction.tsx +++ b/studio/components/interfaces/Database/Functions/CreateFunction.tsx @@ -733,7 +733,7 @@ const InputDefinition = observer(({}) => {

)}
-
+
{ From e21f68bd42dd633d02dbbdd72cdc3dfa92bc5212 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Sun, 13 Aug 2023 12:40:23 +0000 Subject: [PATCH 22/94] Add docs for email template in local supabase --- .../NavigationMenu.constants.ts | 4 +++ .../cli/customizing-email-templates.mdx | 31 ++++++++++++++++++ spec/cli_v1_config.yaml | 32 +++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 apps/docs/pages/guides/cli/customizing-email-templates.mdx diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index f12d0ecd7f8..bb27d1cd08e 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -1037,6 +1037,10 @@ export const supabase_cli: NavMenuConstant = { name: 'Testing and linting', url: '/guides/cli/testing-and-linting', }, + { + name: 'Customizing email templates', + url: '/guides/cli/customizing-email-templates', + }, ], }, { diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx new file mode 100644 index 00000000000..d1ba4360cde --- /dev/null +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -0,0 +1,31 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + id: 'customizing-email-templates', + title: 'Customizing email teplates', + description: 'Customizing local email templates using config.toml.', +} + +The Supabase CLI uses a `config.toml` file to manage local configuration. This file is located in the `supabase` directory of your project. + +## Config reference + +The `config.toml` file is automatically created when you run `supabase start`. + +There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/reference/cli/config). + +For example, to update the "Invite" email subject and content for local development, you can append the following information to `config.toml`: + +```toml +[auth.email.template.invite] +subject = "You are invited to Acme Inc" +content_path = "./supabase/auth/email/invite.html" +``` + +The `content_path` should contain the html file you are pointing to otherwise the CLI won't start the project. + +> Note: These settings are only for local development, if you want to use the same content for your hosted Supabase you will need to copy and paste these into the Supabase Dashboard + +export const Page = ({ children }) => + +export default Page diff --git a/spec/cli_v1_config.yaml b/spec/cli_v1_config.yaml index 308a3e0c4ae..1726e69d937 100644 --- a/spec/cli_v1_config.yaml +++ b/spec/cli_v1_config.yaml @@ -260,6 +260,38 @@ parameters: links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.email.template.type.subject' + title: 'auth.email.template..subject' + tags: ['auth'] + required: false + description: | + The full list of email template types are: + + - `invite` + - `confirmation` + - `recovery` + - `magic_link` + - `email_change` + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' + + - id: 'auth.email.template.type.content_path' + title: 'auth.email.template..content_path' + tags: ['auth'] + required: false + description: | + The full list of email template types are: + + - `invite` + - `confirmation` + - `recovery` + - `magic_link` + - `email_change` + links: + - name: 'Auth Server configuration' + link: 'https://supabase.com/docs/reference/auth' - id: 'auth.external.provider.enabled' title: 'auth.external..enabled' From 26ea918ea8961132463ee37af6696b325fd9822e Mon Sep 17 00:00:00 2001 From: Ant Wilson Date: Mon, 14 Aug 2023 16:33:46 +0200 Subject: [PATCH 23/94] Update apps/docs/pages/guides/cli/customizing-email-templates.mdx --- apps/docs/pages/guides/cli/customizing-email-templates.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index d1ba4360cde..97c223ee287 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -2,7 +2,7 @@ import Layout from '~/layouts/DefaultGuideLayout' export const meta = { id: 'customizing-email-templates', - title: 'Customizing email teplates', + title: 'Customizing email templates', description: 'Customizing local email templates using config.toml.', } From 381404007a69a45fc8519c43cbade15906722d33 Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Tue, 15 Aug 2023 11:08:47 +0800 Subject: [PATCH 24/94] feat: allow generic schema migration with rollback --- .../NotificationActions.tsx | 29 +++----- .../NotificationsPopover/NotificationRow.tsx | 17 +---- .../NotificationRows.utils.tsx | 72 ++++--------------- .../NotificationsPopover/index.tsx | 26 +++---- 4 files changed, 36 insertions(+), 108 deletions(-) diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationActions.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationActions.tsx index 43369381a80..fa834094654 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationActions.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationActions.tsx @@ -6,13 +6,9 @@ import { Button, IconExternalLink } from 'ui' import { Project } from 'types' -// [Joshen TODO] Remove all things about "ownerReassignStatus" after 5th November -// double check with Qiao before we remove them. - interface NotificationActionsProps { project: Project changelogLink?: string - ownerReassignStatus?: any availableActions: Action[] onSelectRestartProject: () => void onSelectApplyMigration: () => void @@ -23,7 +19,6 @@ interface NotificationActionsProps { const NotificationActions = ({ project, changelogLink, - ownerReassignStatus, availableActions, onSelectRestartProject, onSelectApplyMigration, @@ -55,27 +50,21 @@ const NotificationActions = ({ case ActionType.MigratePostgresSchema: if (action.reason === ActionReason.Finalize) { return ( - ownerReassignStatus?.desired !== 'migrated' && ( - - ) + ) } else if (action.reason === ActionReason.Rollback) { return ( - ownerReassignStatus?.desired === 'temp_role' && ( - - ) + ) } else { return ( - ownerReassignStatus?.desired === 'unmigrated' && ( - - ) + ) } } diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx index 54d19628a36..35324b9ba25 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx @@ -39,18 +39,6 @@ const NotificationRow = ({ const changelogLink = (notification.data as any).changelog_link const availableActions = notification.meta?.actions_available ?? [] - // [Joshen TODO] This should be removed after the env of Feb when the migration notifications - // have been removed, double check with Qiao before removing. - // Relevant PR: https://github.com/supabase/supabase/pull/9229 - const { data: ownerReassignStatus } = useQuery( - ['projects', project?.ref, 'owner-reassign'], - ({ signal }) => get(`${API_URL}/database/${project?.ref}/owner-reassign`, { signal }), - { - enabled: - (notification.data as any).upgrade_type === 'schema-migration' && project !== undefined, - } - ) - const dismissNotification = async (notificationId: string) => { if (!notificationId) return setDismissing(true) @@ -80,8 +68,8 @@ const NotificationRow = ({
- {formatNotificationText(project, notification, ownerReassignStatus)} - {formatNotificationCTAText(availableActions, ownerReassignStatus)} + {formatNotificationText(project, notification)} + {formatNotificationCTAText(availableActions)}

{insertedAt}

@@ -124,7 +112,6 @@ const NotificationRow = ({ onSelectRestartProject(project, notification)} onSelectApplyMigration={() => onSelectApplyMigration(project, notification)} diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx index bfc0b5a8978..dc7313cfe82 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx @@ -17,7 +17,6 @@ import Link from 'next/link' export const formatNotificationText = ( project: Project, notification: Notification, - ownerReassignStatus?: any ) => { const projectName = project.name @@ -89,28 +88,12 @@ export const formatNotificationText = ( ) } else if (upgrade_type === 'schema-migration') { const { version_to } = additional - if (ownerReassignStatus?.desired === 'unmigrated') { - return ( -

- The schema migration "{version_to}" will be applied for project "{projectName}" within a - few days. You may opt to apply the changes now, or it'll be done so automatically. -

- ) - } else if (ownerReassignStatus?.desired === 'temp_role') { - return ( -

- The schema migration "{version_to}" will be finalized for project "{projectName}" within - a few days. You may opt to finalize the changes now, or it'll be done so automatically. -

- ) - } else { - return ( -

- The schema migration "{version_to}" has been successfully applied for project " - {projectName}". -

- ) - } + return ( +

+ The schema migration "{version_to}" has been successfully applied for project " + {projectName}". +

+ ) } } else if (notification.data.name === NotificationName.ProjectUpdateCompleted) { const { upgrades } = notification.data @@ -178,7 +161,6 @@ export const formatNotificationText = ( export const formatNotificationCTAText = ( availableActions: Action[], - ownerReassignStatus?: any ) => { const [action] = availableActions if (!action) return

@@ -192,43 +174,13 @@ export const formatNotificationCTAText = ( return

Restart your connection pooler to get the latest updates.

case ActionType.MigratePostgresSchema: if (action.deadline) { - if (ownerReassignStatus?.desired === 'migrated') { - return ( -

- This patch was applied on{' '} - {dayjs(new Date(ownerReassignStatus.migrated_at ?? action.deadline)).format( - 'DD MMM YYYY, HH:mma' - )} -

- ) - } else if (ownerReassignStatus?.desired === 'temp_role') { - if (action.reason === ActionReason.Finalize) { - return ( -

- This patch will be automatically applied after{' '} - {dayjs(new Date(action.deadline)).format('DD MMM YYYY, HH:mma')} -

- ) - } else { - return ( -

- This patch was applied on{' '} - {dayjs(new Date(ownerReassignStatus.modified_at)).format('DD MMM YYYY, HH:mma')} -

- ) - } - } else { - return ( -

- This patch will be automatically applied after{' '} - {dayjs(new Date(action.deadline)).format('DD MMM YYYY, HH:mma')} -

- ) - } - } else { - return '' + return ( +

+ This patch will be automatically applied after{' '} + {dayjs(new Date(action.deadline)).format('DD MMM YYYY, HH:mma')} +

+ ) } - default: return '' } diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx index d11b4f510a2..9f28a239a9c 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx @@ -3,6 +3,7 @@ import { ActionType, Notification, NotificationStatus, + PostgresqlUpgradeData, } from '@supabase/shared-types/out/notifications' import { useQueryClient } from '@tanstack/react-query' import dayjs from 'dayjs' @@ -98,16 +99,12 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { setTargetNotification(undefined) } - // [Joshen/Qiao] These are all very specific to the upcoming security patch - // https://github.com/supabase/supabase/discussions/9314 - // We probably need to revisit this again when we're planning to push out the next wave of - // notifications. Ideally, we should allow these to be more flexible and configurable - // Perhaps the URLs could come from the notification themselves if the actions - // require an external API call, then we just need one method instead of individual ones like this - const onConfirmProjectApplyMigration = async () => { if (!projectToApplyMigration) return - const res = await post(`${API_URL}/database/${projectToApplyMigration.ref}/owner-reassign`, {}) + const data = targetNotification?.data as PostgresqlUpgradeData + const { resource } = data.additional as any + if (!resource) return + const res = await post(`${API_URL}/database/${projectToApplyMigration.ref}/${resource}`, {}) if (!res.error) { const project = await getProjectDetail({ ref: projectToApplyMigration.ref }) if (project) { @@ -130,8 +127,11 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { const onConfirmProjectRollbackMigration = async () => { if (!projectToRollbackMigration) return + const data = targetNotification?.data as PostgresqlUpgradeData + const { resource } = data.additional as any + if (!resource) return const res = await delete_( - `${API_URL}/database/${projectToRollbackMigration.ref}/owner-reassign`, + `${API_URL}/database/${projectToRollbackMigration.ref}/${resource}`, {} ) if (!res.error) { @@ -156,10 +156,10 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { const onConfirmProjectFinalizeMigration = async () => { if (!projectToFinalizeMigration) return - const res = await patch( - `${API_URL}/database/${projectToFinalizeMigration.ref}/owner-reassign`, - {} - ) + const data = targetNotification?.data as PostgresqlUpgradeData + const { resource } = data.additional as any + if (!resource) return + const res = await patch(`${API_URL}/database/${projectToFinalizeMigration.ref}/${resource}`, {}) if (!res.error) { const project = await getProjectDetail({ ref: projectToFinalizeMigration.ref }) if (project) { From ab62adf5649a5813fdfdb085f9aeb1cf769dd9f3 Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Tue, 15 Aug 2023 11:20:33 +0800 Subject: [PATCH 25/94] chore: reformat with prettier --- .../NotificationsPopover/NotificationRow.tsx | 4 ++-- .../NotificationsPopover/NotificationRows.utils.tsx | 10 ++-------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx index 35324b9ba25..54ba244d184 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRow.tsx @@ -1,13 +1,13 @@ import * as Tooltip from '@radix-ui/react-tooltip' import { Notification, NotificationStatus } from '@supabase/shared-types/out/notifications' -import { useQuery, useQueryClient } from '@tanstack/react-query' +import { useQueryClient } from '@tanstack/react-query' import dayjs from 'dayjs' import { useState } from 'react' import { notificationKeys } from 'data/notifications/keys' import { useProjectsQuery } from 'data/projects/projects-query' import { useStore } from 'hooks' -import { delete_, get } from 'lib/common/fetch' +import { delete_ } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { Project } from 'types' import { Button, IconX } from 'ui' diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx index dc7313cfe82..1500e67d5d2 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/NotificationRows.utils.tsx @@ -2,7 +2,6 @@ import dayjs from 'dayjs' import { Project } from 'types' import { Action, - ActionReason, ActionType, ExtensionsUpgrade, Notification, @@ -14,10 +13,7 @@ import { import { IconArrowRight, IconExternalLink, Button } from 'ui' import Link from 'next/link' -export const formatNotificationText = ( - project: Project, - notification: Notification, -) => { +export const formatNotificationText = (project: Project, notification: Notification) => { const projectName = project.name if (notification.data.name === NotificationName.ProjectExceedingTierLimit) { @@ -159,9 +155,7 @@ export const formatNotificationText = ( } } -export const formatNotificationCTAText = ( - availableActions: Action[], -) => { +export const formatNotificationCTAText = (availableActions: Action[]) => { const [action] = availableActions if (!action) return

From 5a03eb433a9066409d11a2465526405f2791f4fd Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Tue, 15 Aug 2023 12:10:38 +0800 Subject: [PATCH 26/94] Remove unnecessary isLoading check within the isSuccess block for Invoices.tsx --- studio/components/interfaces/BillingV2/Invoices.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/studio/components/interfaces/BillingV2/Invoices.tsx b/studio/components/interfaces/BillingV2/Invoices.tsx index 3eefb5702b3..938c907b8fa 100644 --- a/studio/components/interfaces/BillingV2/Invoices.tsx +++ b/studio/components/interfaces/BillingV2/Invoices.tsx @@ -67,9 +67,7 @@ const Invoices = () => { invoices.length === 0 ? ( -

- {isLoading ? 'Checking for invoices' : 'No invoices for this project yet'} -

+

No invoices for this project yet

) : ( From a339663a6ea41ba9a9f72a3350c31ba92134aa8c Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 06:21:58 +0200 Subject: [PATCH 27/94] chore: update cli reference doc --- spec/cli_v1_commands.yaml | 72 +++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/spec/cli_v1_commands.yaml b/spec/cli_v1_commands.yaml index 69eeda41b75..7c419d633a7 100644 --- a/spec/cli_v1_commands.yaml +++ b/spec/cli_v1_commands.yaml @@ -1,7 +1,7 @@ clispec: '001' info: id: cli - version: 1.83.7 + version: 1.86.0 title: Supabase CLI language: sh source: https://github.com/supabase/cli @@ -2257,8 +2257,8 @@ commands: - supabase-db-diff - supabase-db-dump - supabase-db-lint + - supabase-db-pull - supabase-db-push - - supabase-db-remote - supabase-db-reset - supabase-db-start flags: [] @@ -2305,45 +2305,14 @@ commands: name: --linked description: Resets the linked project to current migrations. default_value: 'false' + - id: version + name: --version + description: Reset up to the specified version. + default_value: '' - id: db-url name: --db-url description: connect using the specified database url default_value: '' - - id: supabase-db-remote - title: supabase db remote - summary: Manage remote databases - tags: [] - links: [] - subcommands: - - supabase-db-remote-commit - flags: [] - - id: supabase-db-remote-commit - title: supabase db remote commit - summary: Commit remote changes as a new migration - description: |2 - - Pulls schema changes from a remote database and inserts a new row into the migration history table. - - Requires your local project to be linked to a remote database by running `supabase link`. For self-hosted databases, you can pass in the connection parameters using `--db-url` flag. - - If no entries exist in the migration history table, `pg_dump` will be used to capture all contents of the remote schemas you have created. After that, a new record will be inserted into the migration history table. Subsequent runs of this command will only diff schema changes against the remote database similar to `db diff --linked`. - tags: [] - links: [] - usage: supabase db remote commit - subcommands: [] - flags: - - id: db-url - name: --db-url - description: connect using the specified database url - default_value: '' - - id: password - name: -p, --password - description: Password to your remote Postgres database. - default_value: '' - - id: schema - name: -s, --schema - description: List of schema to include. - default_value: all - id: supabase-db-push title: supabase db push summary: Push new migrations to the remote database @@ -2408,6 +2377,35 @@ commands: name: --db-url description: connect using the specified database url default_value: '' + - id: supabase-db-pull + title: supabase db pull + summary: Pull schema from the remote database + description: |2 + + Pulls schema changes from a remote database. + + Requires your local project to be linked to a remote database by running `supabase link`. For self-hosted databases, you can pass in the connection parameters using `--db-url` flag. + + Optionally, a new row can be inserted into the migration history table to reflect the current state of the remote database. + + If no entries exist in the migration history table, `pg_dump` will be used to capture all contents of the remote schemas you have created. Otherwise, this command will only diff schema changes against the remote database, similar to running `db diff --linked`. + tags: [] + links: [] + usage: supabase db pull [flags] + subcommands: [] + flags: + - id: password + name: -p, --password + description: Password to your remote Postgres database. + default_value: '' + - id: schema + name: -s, --schema + description: List of schema to include. + default_value: all + - id: db-url + name: --db-url + description: connect using the specified database url + default_value: '' - id: supabase-db-lint title: supabase db lint summary: Checks local database for typing error From 6735b67945cc3d2f2ee5622c7f710cdb4411161a Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Tue, 15 Aug 2023 16:26:55 +0800 Subject: [PATCH 28/94] docs: update auth docs --- spec/supabase_js_v2.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/spec/supabase_js_v2.yml b/spec/supabase_js_v2.yml index 194d64f1927..1a5e3fa4720 100644 --- a/spec/supabase_js_v2.yml +++ b/spec/supabase_js_v2.yml @@ -116,6 +116,15 @@ functions: title: 'Overview' notes: | - The auth methods can be accessed via the `supabase.auth` namespace. + - By default, the supabase client sets `persistSession` to true and attempts to store the session in local storage. When using the supabase client in an environment that doesn't support local storage, you might notice the following warning message being logged: + + > No storage option exists to persist the session, which may result in unexpected behavior when using auth. + If you want to set `persistSession` to true, please provide a storage option or you may set `persistSession` to false to disable this warning. + + This warning message can be safely ignored if you're not using auth on the server-side. If you are using auth and you want to set `persistSession` to true, you will need to provide a custom storage implementation that follows [this interface](https://github.com/supabase/gotrue-js/blob/master/src/lib/types.ts#L1027). + - Any email links and one-time passwords (OTPs) sent have a default expiry of 24 hours. We have the following [rate limits](/docs/guides/platform/going-into-prod#auth-rate-limits) in place to guard against brute force attacks. + - The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/project/_/settings/auth). A refresh token never expires and can only be used once. + examples: - id: create-auth-client name: Create auth client @@ -449,8 +458,9 @@ functions: $ref: '@supabase/gotrue-js.GoTrueClient.updateUser' notes: | - In order to use the `updateUser()` method, the user needs to be signed in first. - - By Default, email updates sends a confirmation link to both the user's current and new email. - To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](https://supabase.com/dashboard/project/_/auth/providers). + - By default, email updates sends a confirmation link to both the user's current and new email. + To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](/project/_/auth/providers). + examples: - id: update-the-email-for-an-authenticated-user name: Update the email for an authenticated user @@ -480,7 +490,8 @@ functions: ``` - id: update-password-with-reauthentication name: Update the user's password with a nonce - description: If "Secure password change" is enabled, updating the user's password would require a nonce. The nonce is sent to the user's email or phone number. + description: | + If **Secure password change** is enabled in your [project's email provider settings](/project/_/auth/providers), updating the user's password would require a nonce if the user **hasn't recently signed in**. The nonce is sent to the user's email or phone number. A user is deemed recently signed in if the session was created in the last 24 hours. isSpotlight: true code: | ```js @@ -494,6 +505,8 @@ functions: $ref: '@supabase/gotrue-js.GoTrueClient.reauthenticate' notes: | - This method is used together with `updateUser()` when a user's password needs to be updated. + - If you require your user to reauthenticate before updating their password, you need to enable the **Secure password change** option in your [project's email provider settings](/project/_/auth/providers). + - A user is only require to reauthenticate before updating their password if **Secure password change** is enabled and the user **hasn't recently signed in**. A user is deemed recently signed in if the session was created in the last 24 hours. - This method will send a nonce to the user's email. If the user doesn't have a confirmed email address, the method will send the nonce to the user's confirmed phone number instead. examples: - id: send-reauthentication-nonce @@ -980,7 +993,7 @@ functions: $ref: '@supabase/gotrue-js.GoTrueAdminApi.generateLink' notes: | - The following types can be passed into `generateLink()`: `signup`, `magiclink`, `invite`, `recovery`, `email_change_current`, `email_change_new`, `phone_change`. - - `generateLink()` only generates the email link for `email_change_email` if the "Secure email change" setting is enabled under the "Email" provider in your Supabase project. + - `generateLink()` only generates the email link for `email_change_email` if the **Secure email change** is enabled in your project's [email auth provider settings](/project/_/auth/providers). - `generateLink()` handles the creation of the user for `signup`, `invite` and `magiclink`. examples: - id: generate-a-signup-link From 574d60953464167eff28b7b0269b424fb886e892 Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Tue, 15 Aug 2023 16:37:04 +0800 Subject: [PATCH 29/94] docs: update security policy --- apps/docs/public/.well-known/security.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs/public/.well-known/security.txt b/apps/docs/public/.well-known/security.txt index e21dd296c27..9b50057f0c7 100644 --- a/apps/docs/public/.well-known/security.txt +++ b/apps/docs/public/.well-known/security.txt @@ -17,6 +17,7 @@ Out of scope vulnerabilities: - Missing DNSSEC, CAA, CSP headers - Lack of Secure or HTTP only flag on non-sensitive cookies - Deadlinks +- User enumeration Please do the following: From b66694c492ac9ce778fac47e56982a3ff08d7c2f Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Tue, 15 Aug 2023 17:41:53 +0800 Subject: [PATCH 30/94] fix: use relative links --- spec/supabase_js_v2.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/spec/supabase_js_v2.yml b/spec/supabase_js_v2.yml index 1a5e3fa4720..0f261098ece 100644 --- a/spec/supabase_js_v2.yml +++ b/spec/supabase_js_v2.yml @@ -77,7 +77,7 @@ functions: ``` description: | By default the API server points to the `public` schema. You can enable other database schemas within the Dashboard. - Go to [Settings > API > Exposed schemas](https://supabase.com/dashboard/project/_/settings/api) and add the schema which you want to expose to the API. + Go to [Settings > API > Exposed schemas](/dashboard/project/_/settings/api) and add the schema which you want to expose to the API. Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema. - id: custom-fetch-implementation @@ -123,7 +123,7 @@ functions: This warning message can be safely ignored if you're not using auth on the server-side. If you are using auth and you want to set `persistSession` to true, you will need to provide a custom storage implementation that follows [this interface](https://github.com/supabase/gotrue-js/blob/master/src/lib/types.ts#L1027). - Any email links and one-time passwords (OTPs) sent have a default expiry of 24 hours. We have the following [rate limits](/docs/guides/platform/going-into-prod#auth-rate-limits) in place to guard against brute force attacks. - - The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/project/_/settings/auth). A refresh token never expires and can only be used once. + - The expiry of an access token can be set in the "JWT expiry limit" field in [your project's auth settings](/dashboard/project/_/settings/auth). A refresh token never expires and can only be used once. examples: - id: create-auth-client @@ -154,13 +154,13 @@ functions: title: 'signUp()' $ref: '@supabase/gotrue-js.GoTrueClient.signUp' notes: | - - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](https://supabase.com/dashboard/project/_/auth/providers). + - By default, the user needs to verify their email address before logging in. To turn this off, disable **Confirm email** in [your project](/dashboard/project/_/auth/providers). - **Confirm email** determines if users need to confirm their email address after signing up. - If **Confirm email** is enabled, a `user` is returned but `session` is null. - If **Confirm email** is disabled, both a `user` and a `session` are returned. - - When the user confirms their email address, they are redirected to the [`SITE_URL`](https://supabase.com/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](https://supabase.com/dashboard/project/_/auth/url-configuration). + - When the user confirms their email address, they are redirected to the [`SITE_URL`](/docs/reference/auth/config#site_url) by default. You can modify your `SITE_URL` or add additional redirect URLs in [your project](/dashboard/project/_/auth/url-configuration). - If signUp() is called for an existing confirmed user: - - If **Confirm email** is enabled in [your project](https://supabase.com/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned. + - If **Confirm email** is enabled in [your project](/dashboard/project/_/auth/providers), an obfuscated/fake user object is returned. - If **Confirm email** is disabled, the error message, `User already registered` is returned. - To fetch the currently logged-in user, refer to [`getUser()`](/docs/reference/javascript/auth-getuser). examples: @@ -253,7 +253,7 @@ functions: - If you're using phone, you can configure whether you want the user to receive a OTP. - The magic link's destination URL is determined by the [`SITE_URL`](/docs/reference/auth/config#site_url). - See [redirect URLs and wildcards](/docs/guides/auth#redirect-urls-and-wildcards) to add additional redirect URLs to your project. - - Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](https://supabase.com/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`. + - Magic links and OTPs share the same implementation. To send users a one-time code instead of a magic link, [modify the magic link email template](/dashboard/project/_/auth/templates) to include `{{ .Token }}` instead of `{{ .ConfirmationURL }}`. - See our [Twilio Phone Auth Guide](/docs/guides/auth/phone-login/twilio) for details about configuring WhatsApp sign in. examples: - id: sign-in-with-email @@ -297,7 +297,7 @@ functions: $ref: '@supabase/gotrue-js.GoTrueClient.signInWithOAuth' notes: | - This method is used for signing in using a third-party provider. - - Supabase supports many different [third-party providers](https://supabase.com/docs/guides/auth#configure-third-party-providers). + - Supabase supports many different [third-party providers](/docs/guides/auth#configure-third-party-providers). examples: - id: sign-in-using-a-third-party-provider name: Sign in using a third-party provider @@ -459,7 +459,7 @@ functions: notes: | - In order to use the `updateUser()` method, the user needs to be signed in first. - By default, email updates sends a confirmation link to both the user's current and new email. - To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](/project/_/auth/providers). + To only send a confirmation link to the user's new email, disable **Secure email change** in your project's [email auth provider settings](/dashboard/project/_/auth/providers). examples: - id: update-the-email-for-an-authenticated-user @@ -491,7 +491,7 @@ functions: - id: update-password-with-reauthentication name: Update the user's password with a nonce description: | - If **Secure password change** is enabled in your [project's email provider settings](/project/_/auth/providers), updating the user's password would require a nonce if the user **hasn't recently signed in**. The nonce is sent to the user's email or phone number. A user is deemed recently signed in if the session was created in the last 24 hours. + If **Secure password change** is enabled in your [project's email provider settings](/dashboard/project/_/auth/providers), updating the user's password would require a nonce if the user **hasn't recently signed in**. The nonce is sent to the user's email or phone number. A user is deemed recently signed in if the session was created in the last 24 hours. isSpotlight: true code: | ```js @@ -505,7 +505,7 @@ functions: $ref: '@supabase/gotrue-js.GoTrueClient.reauthenticate' notes: | - This method is used together with `updateUser()` when a user's password needs to be updated. - - If you require your user to reauthenticate before updating their password, you need to enable the **Secure password change** option in your [project's email provider settings](/project/_/auth/providers). + - If you require your user to reauthenticate before updating their password, you need to enable the **Secure password change** option in your [project's email provider settings](/dashboard/project/_/auth/providers). - A user is only require to reauthenticate before updating their password if **Secure password change** is enabled and the user **hasn't recently signed in**. A user is deemed recently signed in if the session was created in the last 24 hours. - This method will send a nonce to the user's email. If the user doesn't have a confirmed email address, the method will send the nonce to the user's confirmed phone number instead. examples: @@ -574,7 +574,7 @@ functions: - `setSession()` takes in a refresh token and uses it to get a new session. - The refresh token can only be used once to obtain a new session. - [Refresh token rotation](/docs/reference/auth/config#refresh_token_rotation_enabled) is enabled by default on all projects to guard against replay attacks. - - You can configure the [`REFRESH_TOKEN_REUSE_INTERVAL`](https://supabase.com/docs/reference/auth/config#refresh_token_reuse_interval) which provides a short window in which the same refresh token can be used multiple times in the event of concurrency or offline issues. + - You can configure the [`REFRESH_TOKEN_REUSE_INTERVAL`](/docs/reference/auth/config#refresh_token_reuse_interval) which provides a short window in which the same refresh token can be used multiple times in the event of concurrency or offline issues. examples: - id: refresh-the-session name: Refresh the session @@ -993,7 +993,7 @@ functions: $ref: '@supabase/gotrue-js.GoTrueAdminApi.generateLink' notes: | - The following types can be passed into `generateLink()`: `signup`, `magiclink`, `invite`, `recovery`, `email_change_current`, `email_change_new`, `phone_change`. - - `generateLink()` only generates the email link for `email_change_email` if the **Secure email change** is enabled in your project's [email auth provider settings](/project/_/auth/providers). + - `generateLink()` only generates the email link for `email_change_email` if the **Secure email change** is enabled in your project's [email auth provider settings](/dashboard/project/_/auth/providers). - `generateLink()` handles the creation of the user for `signup`, `invite` and `magiclink`. examples: - id: generate-a-signup-link @@ -1150,7 +1150,7 @@ functions: title: 'Fetch data: select()' $ref: '@supabase/postgrest-js.PostgrestQueryBuilder.select' notes: | - - By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](https://supabase.com/dashboard/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data. + - By default, Supabase projects return a maximum of 1,000 rows. This setting can be changed in your project's [API settings](/dashboard/project/_/settings/api). It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data. - `select()` can be combined with [Filters](/docs/reference/javascript/using-filters) - `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers) - `apikey` is a reserved keyword if you're using the [Supabase Platform](/docs/guides/platform) and [should be avoided as a column name](https://github.com/supabase/supabase/issues/5465). From ba7b93f07bb08e863743d0b049002dc9df9eae2f Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Fri, 11 Aug 2023 18:48:31 +0800 Subject: [PATCH 31/94] docs: improve self hosting analytics documentatoin --- .../self-hosting-analytics/introduction.mdx | 164 ++++++++---------- 1 file changed, 71 insertions(+), 93 deletions(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 1158463ba48..f676d762abd 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -20,92 +20,98 @@ When self-hosting the Analytics server, the full logging experience matching tha However, it's important to note that certain [differences](#differences) may arise due to the platform's infrastructure. - All logflare technical docs are available at + All Logflare technical documentation are available at [https://docs.logflare.app](https://docs.logflare.app) +## Backends Supported + +The Analytics server supports either **Postgres** or **BigQuery** as the backend. The `supabase-cli` experience uses the Postgres backend out-of-the-box. However, the Supabase Platform uses the BigQuery backend for storing all platform logs. + +When using the BigQuery backend, a BigQuery dataset is created in the provided Google Cloud project, and tables are created for each source. Log events are streamed into each table, and all queries generated by Studio or by the Logs Explorer are executed against the BigQuery API. This backend requires internet access to work, and cannot be run fully locally. + +When using the Postgres backend, tables are created for each source within the provided schema (for supabase-cli, this would be `_analytics`). Log events received by Logflare are inserted directly into the respective tables. All BigQuery-dialect SQL queries from Studio will be handled by a translation layer within the Analytics server. This translation layer translates the query to PostgreSQL dialect, and then executes it against the Postgres database. + +The Postgres backend is not yet optimized for high volume of inserts, or for heavy query usage. Furthermore, the translation layer only handles a limited subset of the BigQuery dialect such that the Studio is capable to work as per normal. As such, the [Log Explorer](https://supabase.com/docs/guides/platform/logs#logs-explorer) may have errors for more advanced queries when using the Postgres Backend. + ## Getting Started -### Pre-requisites +The Postgres backend is recommended for getting familiar and experimenting with self-hosting Supabase. However, it is recommended to use the BigQuery backend for production scale. See [production recommendations](#production-recommendations) for more information -Currently the Analytics service supports two backends for ingestion: +To get started with self-hosting Supabase, the [example docker-compose](https://github.com/supabase/supabase/tree/master/docker) will give you a jumpstart to setting up logging for the stack. +Two compose services are required: Logflare, and Vector. Logflare is the HTTP Analytics server, while Vector is the logging pipeline to route all compose services' syslog to the Logflare sever. -- Postgres ingestion -- Big Query ingestion +Regardless of backend chosen, the following environment variables **must** be set for the `supabase/logflare` docker image: -### Postgres Ingestion Requirements +- `LOGFLARE_SINGLE_TENANT_MODE=true`: The feature flag for enabling single tenant mode for Logflare. Must be set to `true` +- `LOGFLARE_SUPABASE_MODE=true`: The feature flag for seeding Supabase-related data. Must be set to `true` -- Requires you to use supabase/logflare:1.3.26 or above -- Requires the following environment variables set: - - Required - POSTGRES_BACKEND_URL: `postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}` - - Optional - POSTGRES_BACKEND_SCHEMA: `{SCHEMA_NAME}` +For all other configuration environment variables, please refer to the [Logflare self-hosting documentation](https://docs.logflare.app/self-hosting/#configuration). -### Big Query Ingestion Requirements +## Postgres Backend Setup -- Google Cloud Account with billing enabled -- Big Query enabled +The [example docker-compose](https://github.com/supabase/supabase/tree/master/docker) uses the Postgres backend out of the box. -The remainder of the instructions are specified in the [Setup Big Query ingestion](#setup-big-query-ingestion) section. +```bash +# clone the supabase/supabase repo, and run the following +cd docker +docker compose -f docker-compose.yml up +``` -#### Setup Big Query ingestion +### Configuration and Requirements -Logflare currently requires BigQuery usage. You will need to create a Google Cloud project with billing enabled. +- `supabase/logflare:1.4.0` or above +- Relevant environment variables: + - `POSTGRES_BACKEND_URL` : Required. The connection string to the Postgres database. + - `POSTGRES_BACKEND_SCHEMA` : Optional. Allows customization of the schema used to scope all backend operations within the database. + +## BigQuery Backend Setup + +The BigQuery backend is a more robust and scalable backend option that is battle-tested and production ready. Use this backend if you intend to have heavy logging usage and require advanced querying features such as the Logs Explorer. + +### Configuration and Requirements The requirements are as follows after creating the project: +- Google Cloud project with billing enabled - Project ID - Project number -- A service account key +- A service account key. -##### Setting up BigQuery Service Account + + You must enable billing on your Google Cloud project, as a valid billing account is required for + streaming inserts. + -To ensure that you have sufficient permissions to insert into your Google Cloud BigQuery, ensure that you have created a service account with either: +#### Setting up BigQuery Service Account + +The service account used must have sufficient permissions to insert into your Google Cloud BigQuery. Ensure that the service account has either: - BigQuery Admin role; or - The following permissions: - - bigquery.datasets.create - - bigquery.datasets.get - - bigquery.datasets.getIamPolicy - - bigquery.datasets.update - - bigquery.jobs.create - - bigquery.routines.create - - bigquery.routines.update - - bigquery.tables.create - - bigquery.tables.delete - - bigquery.tables.get - - bigquery.tables.getData - - bigquery.tables.update - - bigquery.tables.updateData + - `bigquery.datasets.create` + - `bigquery.datasets.get` + - `bigquery.datasets.getIamPolicy` + - `bigquery.datasets.update` + - `bigquery.jobs.create` + - `bigquery.routines.create` + - `bigquery.routines.update` + - `bigquery.tables.create` + - `bigquery.tables.delete` + - `bigquery.tables.get` + - `bigquery.tables.getData` + - `bigquery.tables.update` + - `bigquery.tables.updateData` You can create the service account via the web console or `gcloud`, as per the [Google Cloud documentation](https://cloud.google.com/iam/docs/keys-create-delete). In the web console, you can create the key by navigating to IAM > Service Accounts > Actions (dropdown) > Manage Keys We recommend setting the BigQuery Admin role, as it simplifies permissions setup. -##### Downloading the Service Account key +#### Download the Service Account Keys -After the service account is created, you will need to create a key for the service account. This key will sign the JWTs for API requests that the Analytics server makes with BigQuery. +After the service account is created, you will need to create a key for the service account. This key will sign the JWTs for API requests that the Analytics server makes with BigQuery. This can be done through the IAM section in Google Cloud console. -### Docker Compose - -For analytics to work we're adding two services: Logflare and Vector. - -Logflare is the analytics server that will ingest your logs into your preferred backend while Vector is the log router that will route all the docker logs using syslog unto Logflare. - -#### Using the Postgres Backend - -You can simply startup using the following command - -```bash -# assuming you clone the supabase/supabase repo. -cd docker -docker compose -f docker-compose.yml up -``` - -> ⚠️ WARNING: Please be aware of the heavy consumption of analytics. For heavy usage you might want to consider the usage of a different database for analytics only by updating the `POSTGRES_BACKEND_URL` in the `analytics` service on the `docker-compose.yml` file. - -Also be aware that you won't be able to use [Log Explorer](https://supabase.com/docs/guides/platform/logs#logs-explorer) when using the Postgres Backend as some of the querying features are still not supported by our translation layer. - -#### Using the Big Query Backend +#### Docker Image Configuration Using the example [self-hosting stack based on docker-compose](https://github.com/supabase/supabase/tree/master/docker), you include the logging related services using the following command @@ -118,7 +124,7 @@ Using the example [self-hosting stack based on docker-compose](https://github.co 3. On `docker-compose.yml`, uncomment the block section below the commentary `# Uncomment to use Big Query backend for analytics` 4. On `docker-compose.yml`, comment the block section below the commentary `# Comment variables to use Big Query backend for analytics` -Thereafter, you can simply startup using the following command +Thereafter, you can start the example stack using the following command: ```bash # assuming you clone the supabase/supabase repo. @@ -126,55 +132,25 @@ cd docker docker compose -f docker-compose.yml ``` - - Read more about [self-hosting Logflare](https://docs.logflare.app/self-hosting) as your analytics - server. - +#### BigQuery Datset Storage Location -#### Vector Usage +Currently, all BigQuery datasets stored and managed by Analytics, whether via CLI or self-hosted, will default to the US region. -In the Docker Compose example, we utilize vector to coordinate the logging pipeline between the services. However, if you peer into the [vector configuration file](https://github.com/supabase/supabase/blob/master/docker/volumes/logs/vector.yml), you will be able to see that Vector sends logs to the Analytics ingestion endpoint. +## Vector Usage -If you need to customize the logging pipeline for your own needs, you must ensure that the payloads matches the expected event schema structure. Without the correct structure, it would cause the Studio Logs UI features to break. +In the Docker Compose example, Vector is used for the logging pipieline, where log events are forwarded to the Analytics API for ingestion. -### Standalone Docker Container +Please refer to the [Vector configuration file](https://github.com/supabase/supabase/blob/master/docker/volumes/logs/vector.yml) when customizing your own setup. -Supplementary technical documentation on self-hosting and using the `supabase/logflare` image for a full Logflare experience is available at the [official Logflare documentation](https://docs.logflare.app/self-hosting/). +You **must** ensure that the payloads matches the expected event schema structure. Without the correct structure, it would cause the Studio Logs UI features to break. -## Differences +## Differences from Platform API logs rely on Kong instead of the Supabase Cloud API Gateway. Logs from Kong are not enriched with platform-only data. Within the self-hosted setup, all logs are routed to Logflare via Vector. As Kong routes API requests to PostgREST, self-hosted or local deployments will result in Kong request logs instead. This would result in differences in the log event metadata between self-hosted API requests and Supabase Platform requests. -## Postgres - -Log event data is stored and queried from a Postgres database. - -Make sure to set the `POSTGRES_BACKEND_URL` environment variable. - -### Storage - -All data will be stored on the Postgres Database configured by setting `POSTGRES_BACKEND_URL` - -## BigQuery - -All log event data is stored in and queried from BigQuery. To use the Analytics server with Supabase you'll need a Google Cloud Platform account for access to BigQuery. - -Make sure to set the `GOOGLE_DATASET_ID_APPEND`, `GOOGLE_PROJECT_ID` and `GOOGLE_PROJECT_NUMBER` environment variables. - -Download your Google Cloud API JWT and store it under gcloud.json in your working directory. - - - You must also enable billing on your Google Cloud project, as the streaming inserts feature is - required. - - -### Storage Location - -Currently, all BigQuery datasets stored and managed by Analytics, whether via CLI or self-hosted, will default to the US region. - ## Production Recommendations To self-host in a production setting, we recommend performing the following for a better experience. @@ -194,6 +170,8 @@ The self-hosted example is only used as a minimal example on running the entire The current Postgres Ingestion backend isn't optimized for production usage. We recommend using Big Query for more heavy use cases. +**We advise using the BigQuery backend for production settings, for better scaling and querying/debugging experience**. + From e0119846b85d6918225f0d63bbb3567ea16917aa Mon Sep 17 00:00:00 2001 From: Greg Richardson Date: Fri, 11 Aug 2023 16:09:03 -0500 Subject: [PATCH 32/94] docs: fix admonition line breaks --- .../docs/ref/self-hosting-analytics/introduction.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index f676d762abd..eb6722c1add 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -20,8 +20,9 @@ When self-hosting the Analytics server, the full logging experience matching tha However, it's important to note that certain [differences](#differences) may arise due to the platform's infrastructure. - All Logflare technical documentation are available at - [https://docs.logflare.app](https://docs.logflare.app) + +All Logflare technical documentation is available at [https://docs.logflare.app](https://docs.logflare.app). + ## Backends Supported @@ -79,8 +80,9 @@ The requirements are as follows after creating the project: - A service account key. - You must enable billing on your Google Cloud project, as a valid billing account is required for - streaming inserts. + +You must enable billing on your Google Cloud project, as a valid billing account is required for streaming inserts. + #### Setting up BigQuery Service Account From ce880e211b8a295afca121f623b4c313b5a4fdba Mon Sep 17 00:00:00 2001 From: Greg Richardson Date: Fri, 11 Aug 2023 16:11:12 -0500 Subject: [PATCH 33/94] docs: remove unnecessary markdown link wrap --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index eb6722c1add..3080ce8c00b 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -21,7 +21,7 @@ However, it's important to note that certain [differences](#differences) may ari -All Logflare technical documentation is available at [https://docs.logflare.app](https://docs.logflare.app). +All Logflare technical documentation is available at https://docs.logflare.app. From 74c8aebf6072a53c0f3e2f9a5cce200e8ee739c8 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:52:29 +0800 Subject: [PATCH 34/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 3080ce8c00b..118d6976602 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -42,7 +42,7 @@ The Postgres backend is recommended for getting familiar and experimenting with To get started with self-hosting Supabase, the [example docker-compose](https://github.com/supabase/supabase/tree/master/docker) will give you a jumpstart to setting up logging for the stack. Two compose services are required: Logflare, and Vector. Logflare is the HTTP Analytics server, while Vector is the logging pipeline to route all compose services' syslog to the Logflare sever. -Regardless of backend chosen, the following environment variables **must** be set for the `supabase/logflare` docker image: +Regardless of the backend chosen, the following environment variables **must** be set for the `supabase/logflare` docker image: - `LOGFLARE_SINGLE_TENANT_MODE=true`: The feature flag for enabling single tenant mode for Logflare. Must be set to `true` - `LOGFLARE_SUPABASE_MODE=true`: The feature flag for seeding Supabase-related data. Must be set to `true` From 02b1a85c14889f0c5a3e02fbfe43db460057fb35 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:52:50 +0800 Subject: [PATCH 35/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 118d6976602..dfb9ac2c71b 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -37,7 +37,7 @@ The Postgres backend is not yet optimized for high volume of inserts, or for hea ## Getting Started -The Postgres backend is recommended for getting familiar and experimenting with self-hosting Supabase. However, it is recommended to use the BigQuery backend for production scale. See [production recommendations](#production-recommendations) for more information +The Postgres backend is recommended when familiarizing and experimenting with self-hosting Supabase. For production, we recommend using the BigQuery backend. See [production recommendations](#production-recommendations) for more information. To get started with self-hosting Supabase, the [example docker-compose](https://github.com/supabase/supabase/tree/master/docker) will give you a jumpstart to setting up logging for the stack. Two compose services are required: Logflare, and Vector. Logflare is the HTTP Analytics server, while Vector is the logging pipeline to route all compose services' syslog to the Logflare sever. From 43b9a3d41c6229a7bb3bdaad4d7a44d3eb8df232 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:53:16 +0800 Subject: [PATCH 36/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index dfb9ac2c71b..78cf4be2a31 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -33,7 +33,7 @@ When using the BigQuery backend, a BigQuery dataset is created in the provided G When using the Postgres backend, tables are created for each source within the provided schema (for supabase-cli, this would be `_analytics`). Log events received by Logflare are inserted directly into the respective tables. All BigQuery-dialect SQL queries from Studio will be handled by a translation layer within the Analytics server. This translation layer translates the query to PostgreSQL dialect, and then executes it against the Postgres database. -The Postgres backend is not yet optimized for high volume of inserts, or for heavy query usage. Furthermore, the translation layer only handles a limited subset of the BigQuery dialect such that the Studio is capable to work as per normal. As such, the [Log Explorer](https://supabase.com/docs/guides/platform/logs#logs-explorer) may have errors for more advanced queries when using the Postgres Backend. +The Postgres backend is not yet optimized for a high volume of inserts, or for heavy query usage. Today the translation layer only handles a limited subset of the BigQuery dialect. As such, the [Log Explorer](https://supabase.com/docs/guides/platform/logs#logs-explorer) may produce errors for more advanced queries when using the Postgres Backend. ## Getting Started From 7582fb6d9a121bc6097c76b3a6b734d0e4336d13 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:53:39 +0800 Subject: [PATCH 37/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 78cf4be2a31..6fb1115f458 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -39,7 +39,7 @@ The Postgres backend is not yet optimized for a high volume of inserts, or for h The Postgres backend is recommended when familiarizing and experimenting with self-hosting Supabase. For production, we recommend using the BigQuery backend. See [production recommendations](#production-recommendations) for more information. -To get started with self-hosting Supabase, the [example docker-compose](https://github.com/supabase/supabase/tree/master/docker) will give you a jumpstart to setting up logging for the stack. +To set up logging in self-hosted Supabase, see the [docker-compose example](https://github.com/supabase/supabase/tree/master/docker). Two compose services are required: Logflare, and Vector. Logflare is the HTTP Analytics server, while Vector is the logging pipeline to route all compose services' syslog to the Logflare sever. Regardless of the backend chosen, the following environment variables **must** be set for the `supabase/logflare` docker image: From 2a3ebda466af3795fef9b86f180d3ccabb4fcc19 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:53:47 +0800 Subject: [PATCH 38/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 6fb1115f458..010af17c218 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -105,7 +105,7 @@ The service account used must have sufficient permissions to insert into your Go - `bigquery.tables.update` - `bigquery.tables.updateData` -You can create the service account via the web console or `gcloud`, as per the [Google Cloud documentation](https://cloud.google.com/iam/docs/keys-create-delete). In the web console, you can create the key by navigating to IAM > Service Accounts > Actions (dropdown) > Manage Keys +You can create the service account via the web console or `gcloud` CLI, as per the [Google Cloud documentation](https://cloud.google.com/iam/docs/keys-create-delete). In the web console, you can create the key by navigating to IAM > Service Accounts > Actions (dropdown) > Manage Keys We recommend setting the BigQuery Admin role, as it simplifies permissions setup. From 01350677120031461c98e9a4021b26b860ee5034 Mon Sep 17 00:00:00 2001 From: Ziinc Date: Tue, 15 Aug 2023 17:53:54 +0800 Subject: [PATCH 39/94] Update apps/docs/docs/ref/self-hosting-analytics/introduction.mdx Co-authored-by: Greg Richardson --- apps/docs/docs/ref/self-hosting-analytics/introduction.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx index 010af17c218..b020dd6110b 100644 --- a/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx +++ b/apps/docs/docs/ref/self-hosting-analytics/introduction.mdx @@ -172,7 +172,7 @@ The self-hosted example is only used as a minimal example on running the entire The current Postgres Ingestion backend isn't optimized for production usage. We recommend using Big Query for more heavy use cases. -**We advise using the BigQuery backend for production settings, for better scaling and querying/debugging experience**. +**We recommend using the BigQuery backend for production environments as it offers better scaling and querying/debugging experiences.** From 610f92a6a1875c0e4896dc63b8906be94993375e Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Fri, 7 Jul 2023 11:03:28 +0800 Subject: [PATCH 40/94] fix: adjust logflare endpoints query route --- studio/pages/api/projects/[ref]/analytics/endpoints/[name].ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/studio/pages/api/projects/[ref]/analytics/endpoints/[name].ts b/studio/pages/api/projects/[ref]/analytics/endpoints/[name].ts index 6322ef0c48a..2a8e74dc49c 100644 --- a/studio/pages/api/projects/[ref]/analytics/endpoints/[name].ts +++ b/studio/pages/api/projects/[ref]/analytics/endpoints/[name].ts @@ -44,7 +44,7 @@ const proxyRequest = async (req: NextApiRequest) => { const payload = { ...toForward, project_tier: 'ENTERPRISE' } const search = '?' + new URLSearchParams(payload as any).toString() const apiKey = process.env.LOGFLARE_API_KEY - const url = `${PROJECT_ANALYTICS_URL}endpoints/query/name/${name}${search}` + const url = `${PROJECT_ANALYTICS_URL}endpoints/query/${name}${search}` const result = await get(url, { headers: { 'x-api-key': apiKey, From b74d714ea6b468cfe486bd84d17163174ee000e1 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Tue, 15 Aug 2023 11:49:37 +0000 Subject: [PATCH 41/94] Update with email template variables --- .../cli/customizing-email-templates.mdx | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 97c223ee287..8a9e905dcba 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -24,7 +24,30 @@ content_path = "./supabase/auth/email/invite.html" The `content_path` should contain the html file you are pointing to otherwise the CLI won't start the project. -> Note: These settings are only for local development, if you want to use the same content for your hosted Supabase you will need to copy and paste these into the Supabase Dashboard + + +These settings are only for local development, if you want to use the same content for your hosted Supabase instance you will need to copy and paste these into the Supabase Dashboard + + + +### Email template variables + +The following template variables are available inside of your email template. + +``` +{{ .ConfirmationURL }} : URL to confirm the email change +{{ .Token }} : The 6-digit numeric email OTP +{{ .TokenHash }} : The hashed token used in the URL +{{ .SiteURL }} : The URL of the site +{{ .Email }} : The original users email address +{{ .NewEmail }} : The users new email address +``` + + + +`{{ .NewEmail }}` is only available in the email_change email template + + export const Page = ({ children }) => From 450ddabcfa79f1eb25c1f9771df0066b9440df3b Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Tue, 15 Aug 2023 13:09:53 +0000 Subject: [PATCH 42/94] Update the formatting of the template variables --- .../guides/cli/customizing-email-templates.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 8a9e905dcba..0de1dd95101 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -32,16 +32,16 @@ These settings are only for local development, if you want to use the same conte ### Email template variables -The following template variables are available inside of your email template. +The templating system provides the following variables for use: -``` -{{ .ConfirmationURL }} : URL to confirm the email change -{{ .Token }} : The 6-digit numeric email OTP -{{ .TokenHash }} : The hashed token used in the URL -{{ .SiteURL }} : The URL of the site -{{ .Email }} : The original users email address -{{ .NewEmail }} : The users new email address -``` +| Name | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `{{ .ConfirmationURL }}` | Contains the confirmation URL. For example, a signup confirmation URL would look like: `https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=signup&redirect_to=https://example.com/path` . | +| `{{ .Token }}` | Contains a 6-digit One-Time-Password (OTP) that can be used instead of the `{{. ConfirmationURL }}` . | +| `{{ .TokenHash }}` | Contains a hashed version of the `{{ .Token }}`. This is useful for constructing your own email link in the email template. | +| `{{ .SiteURL }}` | Contains your application's Site URL. This can be configured in your project's [authentication settings](https://supabase.com/dashboard/project/_/auth/url-configuration). | +| `{{ .Email }}` | Contains the user's email address. | +| `{{ .NewEmail }}` | Contains the new user's email address. | From 66a15121f6b593cc7d915f388c31102cd3a7dbf7 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Tue, 15 Aug 2023 15:19:09 +0200 Subject: [PATCH 43/94] prettify manifest.json --- apps/docs/public/favicon/manifest.json | 80 +++++++++++++------------- apps/www/public/favicon/manifest.json | 80 +++++++++++++------------- studio/public/favicon/manifest.json | 80 +++++++++++++------------- 3 files changed, 120 insertions(+), 120 deletions(-) diff --git a/apps/docs/public/favicon/manifest.json b/apps/docs/public/favicon/manifest.json index 013d4a6a533..3b557aab8c6 100644 --- a/apps/docs/public/favicon/manifest.json +++ b/apps/docs/public/favicon/manifest.json @@ -1,41 +1,41 @@ { - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file + "name": "App", + "icons": [ + { + "src": "/android-icon-36x36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/android-icon-48x48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/android-icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/android-icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/android-icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/android-icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + } + ] +} diff --git a/apps/www/public/favicon/manifest.json b/apps/www/public/favicon/manifest.json index 013d4a6a533..3b557aab8c6 100644 --- a/apps/www/public/favicon/manifest.json +++ b/apps/www/public/favicon/manifest.json @@ -1,41 +1,41 @@ { - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file + "name": "App", + "icons": [ + { + "src": "/android-icon-36x36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/android-icon-48x48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/android-icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/android-icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/android-icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/android-icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + } + ] +} diff --git a/studio/public/favicon/manifest.json b/studio/public/favicon/manifest.json index 013d4a6a533..3b557aab8c6 100644 --- a/studio/public/favicon/manifest.json +++ b/studio/public/favicon/manifest.json @@ -1,41 +1,41 @@ { - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file + "name": "App", + "icons": [ + { + "src": "/android-icon-36x36.png", + "sizes": "36x36", + "type": "image/png", + "density": "0.75" + }, + { + "src": "/android-icon-48x48.png", + "sizes": "48x48", + "type": "image/png", + "density": "1.0" + }, + { + "src": "/android-icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "density": "1.5" + }, + { + "src": "/android-icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "density": "2.0" + }, + { + "src": "/android-icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "density": "3.0" + }, + { + "src": "/android-icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "density": "4.0" + } + ] +} From 151be0f79a0744bf0997ab059cef05e5517ff195 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:35:46 +0200 Subject: [PATCH 44/94] small updates --- .../cli/customizing-email-templates.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 0de1dd95101..5c3029b0366 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -4,15 +4,14 @@ export const meta = { id: 'customizing-email-templates', title: 'Customizing email templates', description: 'Customizing local email templates using config.toml.', + subtitle: 'Customizing local email templates using config.toml.', } -The Supabase CLI uses a `config.toml` file to manage local configuration. This file is located in the `supabase` directory of your project. +You can customize the email templates for local development [using the `config.toml` settings](/docs/guides/cli/managing-config). -## Config reference +## Auth Templates -The `config.toml` file is automatically created when you run `supabase start`. - -There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/reference/cli/config). +There are several Auth templates which can be configured, detailed in the [CLI Config Reference](/docs/guides/cli/config#auth-config). For example, to update the "Invite" email subject and content for local development, you can append the following information to `config.toml`: @@ -24,12 +23,6 @@ content_path = "./supabase/auth/email/invite.html" The `content_path` should contain the html file you are pointing to otherwise the CLI won't start the project. - - -These settings are only for local development, if you want to use the same content for your hosted Supabase instance you will need to copy and paste these into the Supabase Dashboard - - - ### Email template variables The templating system provides the following variables for use: @@ -49,6 +42,10 @@ The templating system provides the following variables for use: +## Deploying email templates + +These settings are only for local development. To update your hosted project, please copy the templates into the [Email Templates](/dashboard/project/_/auth/templates) section of the Dashboard. + export const Page = ({ children }) => export default Page From 722817d637c86ad0c6080804ccd97a0b9279b5f6 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:03:40 +0200 Subject: [PATCH 45/94] restructures the doc --- .../cli/customizing-email-templates.mdx | 106 ++++++++++++++---- 1 file changed, 87 insertions(+), 19 deletions(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 5c3029b0366..50feb9b9165 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -7,40 +7,108 @@ export const meta = { subtitle: 'Customizing local email templates using config.toml.', } -You can customize the email templates for local development [using the `config.toml` settings](/docs/guides/cli/managing-config). +You can customize the email templates for local development [using the `config.toml` settings](/docs/guides/cli/config#auth-config). -## Auth Templates +## Configuring Templates -There are several Auth templates which can be configured, detailed in the [CLI Config Reference](/docs/guides/cli/config#auth-config). +You should provide a relative URL to the `content_path` parameter, pointing to an HTML file which contains the template. For example -For example, to update the "Invite" email subject and content for local development, you can append the following information to `config.toml`: + -```toml +```toml supabase/config.toml [auth.email.template.invite] subject = "You are invited to Acme Inc" -content_path = "./supabase/auth/email/invite.html" +content_path = "./supabase/templates/invite.html" ``` -The `content_path` should contain the html file you are pointing to otherwise the CLI won't start the project. +```html supabase/templates/invite.html + + +

Confirm your signup

+

Confirm your mail

+ + +``` -### Email template variables +
+ +## Available email templates + +There are several Auth email templates which can be configured: + +- `auth.email.template.invite` +- `auth.email.template.confirmation` +- `auth.email.template.recovery` +- `auth.email.template.magic_link` +- `auth.email.template.email_change` + +## Template variables The templating system provides the following variables for use: -| Name | Description | -| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `{{ .ConfirmationURL }}` | Contains the confirmation URL. For example, a signup confirmation URL would look like: `https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=signup&redirect_to=https://example.com/path` . | -| `{{ .Token }}` | Contains a 6-digit One-Time-Password (OTP) that can be used instead of the `{{. ConfirmationURL }}` . | -| `{{ .TokenHash }}` | Contains a hashed version of the `{{ .Token }}`. This is useful for constructing your own email link in the email template. | -| `{{ .SiteURL }}` | Contains your application's Site URL. This can be configured in your project's [authentication settings](https://supabase.com/dashboard/project/_/auth/url-configuration). | -| `{{ .Email }}` | Contains the user's email address. | -| `{{ .NewEmail }}` | Contains the new user's email address. | +### ConfirmationURL - +Contains the confirmation URL. For example, a signup confirmation URL would look like: -`{{ .NewEmail }}` is only available in the email_change email template +``` +https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=signup&redirect_to=https://example.com/path +``` - +**Usage** + +```html +

Click here to confirm: {{ .ConfirmationURL }}

+``` + +### Token + +Contains a 6-digit One-Time-Password (OTP) that can be used instead of the `ConfirmationURL`. + +**Usage** + +```html +

Here is your one time password: {{ .Token }}

+``` + +### TokenHash + +Contains a hashed version of the `Token`. This is useful for constructing your own email link in the email template. + +**Usage** + +```html +

Click here to confirm your login.

+``` + +### SiteURL + +Contains your application's Site URL. This can be configured in your project's [authentication settings](/dashboard/project/_/auth/url-configuration). + +**Usage** + +```html +

Visit here to log in.

+``` + +### Email + +Contains the user's email address. + +**Usage** + +```html +

A recovery request was sent to {{ .Email }}.

+``` + +### NewEmail + +Contains the new user's email address. This is only available in the `email_change` email template. + +**Usage** + +```html +

You are requesting to update your email address to {{ .NewEmail }}.

+``` ## Deploying email templates From de3ac59b52724daee322fab0652ccc4f61ec05b5 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:05:22 +0200 Subject: [PATCH 46/94] updates all config links --- apps/docs/components/CustomHTMLElements/Heading.tsx | 2 +- .../components/Navigation/NavigationMenu/NavigationMenu.tsx | 2 +- apps/docs/data/nav/supabase-cli.ts | 2 +- apps/docs/pages/guides/cli/managing-config.mdx | 2 +- apps/docs/pages/guides/functions/cicd-workflow.mdx | 2 +- apps/docs/pages/guides/functions/examples/github-actions.mdx | 2 +- apps/docs/pages/guides/functions/quickstart.mdx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/docs/components/CustomHTMLElements/Heading.tsx b/apps/docs/components/CustomHTMLElements/Heading.tsx index 9d427e79b99..336dba4d0f7 100644 --- a/apps/docs/components/CustomHTMLElements/Heading.tsx +++ b/apps/docs/components/CustomHTMLElements/Heading.tsx @@ -26,7 +26,7 @@ interface Props { * * In tsx files, we can generate this tocList directly. For these files, we don't * need to parse the and generate anchors. Custom anchors are used in tsx files. - * (see: /pages/reference/cli/config.tsx) + * (see: /pages/guides/cli/config.tsx) */ const Heading: React.FC = ({ tag, customAnchor, children }) => { const HeadingTag = `${tag}` as any diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx index 452eb693116..bb5b6035dbd 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx @@ -95,7 +95,7 @@ const menus: Menu[] = [ }, { id: 'supabase_cli', - // TODO: Add path '/reference/cli/config' + // TODO: Add path '/guides/cli/config' path: '/guides/cli', type: 'guide', }, diff --git a/apps/docs/data/nav/supabase-cli.ts b/apps/docs/data/nav/supabase-cli.ts index 65a5bce9419..9eb1a91e66c 100644 --- a/apps/docs/data/nav/supabase-cli.ts +++ b/apps/docs/data/nav/supabase-cli.ts @@ -4,7 +4,7 @@ const Nav = [ items: [ { name: 'Supabase CLI', url: '/reference/cli', items: [] }, { name: 'Usage', url: '/reference/cli/usage', items: [] }, - { name: 'Configuration', url: '/reference/cli/config', items: [] }, + { name: 'Configuration', url: '/guides/cli/config', items: [] }, { name: 'Release Notes', url: '/reference/cli/release-notes', items: [] }, ], }, diff --git a/apps/docs/pages/guides/cli/managing-config.mdx b/apps/docs/pages/guides/cli/managing-config.mdx index 1f93c9e52cf..d63eeafd81c 100644 --- a/apps/docs/pages/guides/cli/managing-config.mdx +++ b/apps/docs/pages/guides/cli/managing-config.mdx @@ -12,7 +12,7 @@ The Supabase CLI uses a `config.toml` file to manage local configuration. This f The `config.toml` file is automatically created when you run `supabase start`. -There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/reference/cli/config). +There are a wide variety of options available, which can be found in the [CLI Config Reference](/docs/guides/cli/config). For example, to enable the "Apple" OAuth provider for local development, you can append the following information to `config.toml`: diff --git a/apps/docs/pages/guides/functions/cicd-workflow.mdx b/apps/docs/pages/guides/functions/cicd-workflow.mdx index 4827bde8473..b729044c17e 100644 --- a/apps/docs/pages/guides/functions/cicd-workflow.mdx +++ b/apps/docs/pages/guides/functions/cicd-workflow.mdx @@ -38,7 +38,7 @@ jobs: Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] diff --git a/apps/docs/pages/guides/functions/examples/github-actions.mdx b/apps/docs/pages/guides/functions/examples/github-actions.mdx index 7baf600b40d..d29fd6f1981 100644 --- a/apps/docs/pages/guides/functions/examples/github-actions.mdx +++ b/apps/docs/pages/guides/functions/examples/github-actions.mdx @@ -47,7 +47,7 @@ jobs: Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] diff --git a/apps/docs/pages/guides/functions/quickstart.mdx b/apps/docs/pages/guides/functions/quickstart.mdx index 14de4f79620..7c32c36db06 100644 --- a/apps/docs/pages/guides/functions/quickstart.mdx +++ b/apps/docs/pages/guides/functions/quickstart.mdx @@ -66,7 +66,7 @@ supabase functions deploy Since Supabase CLI [v1.62.0](https://github.com/supabase/cli/releases/tag/v1.62.0) you can deploy all functions with a single command. This is useful for example when [deploying with GitHub Actions](/docs/guides/functions/cicd-workflow). -Individual function configuration like [JWT verification](/docs/reference/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/reference/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. +Individual function configuration like [JWT verification](/docs/guides/cli/config#functions.function_name.verify_jwt) and [import map location](/docs/guides/cli/config#functions.function_name.import_map) can be set via the `config.toml` file. ```toml [functions.hello-world] From 3c6dd9d7d0a5ab67b34f82314daca2a92b06e177 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:21:57 +0200 Subject: [PATCH 47/94] updates the example --- apps/docs/pages/guides/cli/customizing-email-templates.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 50feb9b9165..be776360b4b 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -77,7 +77,10 @@ Contains a hashed version of the `Token`. This is useful for constructing your o **Usage** ```html -

Click here to confirm your login.

+

Follow this link to confirm your user:

+

+ Confirm your mail +

``` ### SiteURL From f0934e17e18187f310c0d77d6c4303e0291b5b1a Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:23:56 +0200 Subject: [PATCH 48/94] Update apps/docs/pages/guides/database/extensions/index_advisor.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index 40a9c661a43..f2e2b18b0e4 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -73,7 +73,7 @@ from and will return a row recommending an index on the unindexed column. -More complex queries may generate additional suggested indexes +More complex queries may generate additional suggested indexes: ```sql create extension if not exists index_advisor cascade; From 393d7533af8280f67bb4c6419d5b86f0e42d69ec Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:24:03 +0200 Subject: [PATCH 49/94] Update apps/docs/pages/guides/database/extensions/index_advisor.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index f2e2b18b0e4..6d647b2341f 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -61,7 +61,7 @@ create table book( ); select - * + * from index_advisor('select book.id from book where title = $1'); From 24f186be2b84d5f5c8aa47553e71bafa891ca2e7 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:24:29 +0200 Subject: [PATCH 50/94] Update apps/docs/pages/guides/database/extensions/index_advisor.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index 6d647b2341f..635aa3c8df4 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -135,7 +135,7 @@ from ## Limitations -- index_advisor will only recommend single column, B-tree indexes. This restriction will be relaxed in future releases. +- index_advisor will only recommend single column, B-tree indexes. More complex indexes will be supported in future releases. - when a generic argument's type is not discernible from context, an error is returned in the `errors` field. To resolve those errors add explicit type casting to uses of the generic argument e.g. `$1::int`. ## Resources From 4c6ca9cc2c9bdc889e8b4228ce0f0ff20f20c898 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:24:43 +0200 Subject: [PATCH 51/94] Update apps/docs/pages/guides/database/extensions/index_advisor.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/extensions/index_advisor.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/extensions/index_advisor.mdx b/apps/docs/pages/guides/database/extensions/index_advisor.mdx index 635aa3c8df4..f14467ab5ce 100644 --- a/apps/docs/pages/guides/database/extensions/index_advisor.mdx +++ b/apps/docs/pages/guides/database/extensions/index_advisor.mdx @@ -136,7 +136,7 @@ from ## Limitations - index_advisor will only recommend single column, B-tree indexes. More complex indexes will be supported in future releases. -- when a generic argument's type is not discernible from context, an error is returned in the `errors` field. To resolve those errors add explicit type casting to uses of the generic argument e.g. `$1::int`. +- when a generic argument's type is not discernible from context, an error is returned in the `errors` field. To resolve those errors, add explicit type casting to the argument. e.g. `$1::int`. ## Resources From 581574bc580915c9d56f641091fea43efaf6b330 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:25:18 +0200 Subject: [PATCH 52/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index ecae3fc4559..3c547c51f3a 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -14,7 +14,7 @@ This guide is intended to: - help identify parts of a query that have the potential to be improved by indexes - introduce the most frequently applicable indexing tool -It is in no way comprehensive and should be thought of as a starting point on your optimization journey. +This is not a comprehensive resource, but rather a helpful starting point for your optimization journey. If you're new to query optimization, you may be interested in [index_advisor](/docs/guides/database/extensions/index_advisor), our tool for automatically detecting indexes that improve performance on a given query. From 38ae6fa00b6e023b2b6c8b62addb15797c0fc2ba Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:25:29 +0200 Subject: [PATCH 53/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index 3c547c51f3a..e85bb018e10 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -11,7 +11,7 @@ Aligning indexes with common query patterns can speed up data retrieval by order This guide is intended to: -- help identify parts of a query that have the potential to be improved by indexes +- help identify parts of a query that can benefit from indexes - introduce the most frequently applicable indexing tool This is not a comprehensive resource, but rather a helpful starting point for your optimization journey. From afaa8274a2fe032f8700de7fab6c9397f6b0abb6 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:25:42 +0200 Subject: [PATCH 54/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index e85bb018e10..57290d492bb 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -7,7 +7,7 @@ export const meta = { } When working with PostgreSQL, or any relational database, indexing is key to improving query performance. -Aligning indexes with common query patterns can speed up data retrieval by order of magnitude. +Aligning indexes with common query patterns can speed up data retrieval by an order of magnitude. This guide is intended to: From 54caab15af37312971cca389b5da6171718c4ff2 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:25:56 +0200 Subject: [PATCH 55/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index 57290d492bb..a1c92016527 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -38,7 +38,7 @@ order by limit 10 ``` -In this query, there are several parts indexes could likely help in optimizing the performance: +In this query, there are several parts that indexes could likely help in optimizing the performance: ### `where` Clause: From c0cf84e9e6fb2a2ff0af1e5efb90c9b47995a025 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:26:08 +0200 Subject: [PATCH 56/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index a1c92016527..6103f210990 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -90,7 +90,7 @@ explain select * from customers where sign_up_date > 25; ### Use Appropriate Index Types -PostgreSQL offers various index types like [B-tree, Hash, GIN, etc](https://www.postgresql.org/docs/current/indexes-types.html). Select the type that best suits your data and query pattern. Using the right index type can make a significant difference. For example, using a BRIN index on field that is always increasing on a table with infrequent updates, like `created_at` on an `orders` table, routinely results in indexes that are +10x smaller than the equivalent default B-tree index. That translates into better scalability. +PostgreSQL offers various index types like [B-tree, Hash, GIN, etc](https://www.postgresql.org/docs/current/indexes-types.html). Select the type that best suits your data and query pattern. Using the right index type can make a significant difference. For example, using a BRIN index on a field that always increases and lives within a table that updates infrequently - like `created_at` on an `orders` table - routinely results in indexes that are +10x smaller than the equivalent default B-tree index. That translates into better scalability. ```sql create index idx_orders_created_at ON customers using brin(created_at); From 16ba1a095a476051eaadf01fa62398cfd5335d43 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:26:21 +0200 Subject: [PATCH 57/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index 6103f210990..cd4d132d2a2 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -119,7 +119,7 @@ Avoid the urge to index columns you operate on infrequently. While indexes can s ### Statistics -Postgres maintains a set of statistics about the contents of your tables. Those statistics are used by the query planner to decide e.g. when its is more efficient to use an index vs scanning the entire table. If the collected statistics drift too far from reality, the query planner may make poor decisions. To avoid the risk, you can periodically `analyze` tables. +Postgres maintains a set of statistics about the contents of your tables. Those statistics are used by the query planner to decide when it's is more efficient to use an index vs scanning the entire table. If the collected statistics drift too far from reality, the query planner may make poor decisions. To avoid this risk, you can periodically `analyze` tables. ```sql analyze customers; From bb61e390918f59f9e303878f4d508b04cbc1b2e1 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:26:27 +0200 Subject: [PATCH 58/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index cd4d132d2a2..5c9ea348f73 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -115,7 +115,7 @@ create index idx_customers_sign_up_date_priority on customers (sign_up_date, pri ### Over-Indexing -Avoid the urge to index columns you operate on infrequently. While indexes can speed up reads, they also slow down writes, so its important to balance those factors when making indexing decisions. +Avoid the urge to index columns you operate on infrequently. While indexes can speed up reads, they also slow down writes, so it's important to balance those factors when making indexing decisions. ### Statistics From c243ed74d6306e978bf6b7d9349af3df918f7e20 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Tue, 15 Aug 2023 16:26:43 +0200 Subject: [PATCH 59/94] Update apps/docs/pages/guides/database/query-optimization.mdx Co-authored-by: Greg Richardson --- apps/docs/pages/guides/database/query-optimization.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/database/query-optimization.mdx b/apps/docs/pages/guides/database/query-optimization.mdx index 5c9ea348f73..582ab02030a 100644 --- a/apps/docs/pages/guides/database/query-optimization.mdx +++ b/apps/docs/pages/guides/database/query-optimization.mdx @@ -107,7 +107,7 @@ where status = 'shipped'; ### Composite Indexes -If filtering or joining on multiple columns, a composite index can help postgres referring to multiple indexes to identify the relevant rows. +If filtering or joining on multiple columns, a composite index prevents Postgres from referring to multiple indexes when identifying the relevant rows. ```sql create index idx_customers_sign_up_date_priority on customers (sign_up_date, priority); From 36d1e792a5bfa45d197880c2f4f296ece04d1fde Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Tue, 15 Aug 2023 14:30:25 +0000 Subject: [PATCH 60/94] fix small typo --- apps/docs/pages/guides/cli/customizing-email-templates.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index be776360b4b..91396f2b3fd 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -79,7 +79,9 @@ Contains a hashed version of the `Token`. This is useful for constructing your o ```html

Follow this link to confirm your user:

- Confirm your mail + Confirm your email

``` From efac10f76d27e0c0ed4505ccd5b3a2e4027bac0f Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Tue, 15 Aug 2023 14:31:58 +0000 Subject: [PATCH 61/94] Another small typo --- apps/docs/pages/guides/cli/customizing-email-templates.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/cli/customizing-email-templates.mdx b/apps/docs/pages/guides/cli/customizing-email-templates.mdx index 91396f2b3fd..4702b09ad72 100644 --- a/apps/docs/pages/guides/cli/customizing-email-templates.mdx +++ b/apps/docs/pages/guides/cli/customizing-email-templates.mdx @@ -25,7 +25,7 @@ content_path = "./supabase/templates/invite.html"

Confirm your signup

-

Confirm your mail

+

Confirm your email

``` From 021e1ea4136e632ce96723955780c5e9735b28b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Gr=C3=BCneberg?= Date: Tue, 15 Aug 2023 17:10:57 +0200 Subject: [PATCH 62/94] fix: project plan when switching project in support form --- .../interfaces/Support/SupportForm.tsx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/studio/components/interfaces/Support/SupportForm.tsx b/studio/components/interfaces/Support/SupportForm.tsx index 65a25739e63..f77f92b2efc 100644 --- a/studio/components/interfaces/Support/SupportForm.tsx +++ b/studio/components/interfaces/Support/SupportForm.tsx @@ -76,12 +76,14 @@ const SupportForm = ({ setSentCategory }: SupportFormProps) => { if (option.value.toLowerCase() === ((category as string) ?? '').toLowerCase()) return option }) - const selectedProjectRef = + const [selectedProjectRef, setSelectedProjectRef] = useState( selectedProjectFromUrl !== undefined ? selectedProjectFromUrl.ref : projects.length > 0 ? projects[0].ref : 'no-project' + ) + const selectedOrganizationSlug = selectedProjectRef !== 'no-project' ? organizations?.find((org) => { @@ -304,7 +306,14 @@ const SupportForm = ({ setSentCategory }: SupportFormProps) => {
)} {isSuccessProjects && ( - + { + setSelectedProjectRef(val) + }} + > {projects.map((option) => { const organization = organizations?.find( (x) => x.id === option.organization_id @@ -344,7 +353,7 @@ const SupportForm = ({ setSentCategory }: SupportFormProps) => { This project is on the{' '} {subscription.plan.name} plan

- ) : isLoadingSubscription ? ( + ) : isLoadingSubscription && selectedProjectRef !== 'no-project' ? (

Checking project's plan

@@ -656,7 +665,9 @@ const SupportForm = ({ setSentCategory }: SupportFormProps) => {

{respondToEmail}

-

Please ensure you haven't blocked Hubspot in your emails

+

+ Please ensure you haven't blocked Hubspot in your emails +

diff --git a/studio/tests/pages/projects/LogsPreviewer.test.js b/studio/tests/pages/projects/LogsPreviewer.test.js index 0dd9e6bd225..1aec317e1e8 100644 --- a/studio/tests/pages/projects/LogsPreviewer.test.js +++ b/studio/tests/pages/projects/LogsPreviewer.test.js @@ -37,6 +37,25 @@ beforeEach(() => { useParams.mockReturnValue(routerReturnValue.query) }) +// in the event that log metadata is not available, fall back to default renderer +// generate test cases for each query type +const defaultRendererFallbacksCases = [ + 'api', 'database', 'auth', 'pgbouncer', 'postgrest', 'storage', 'realtime' +].map((queryType) => ({ + testName: "fallback to default render", + queryType, + tableName: undefined, + tableLog: logDataFixture({ + event_message: 'some message', + metadata: undefined, + }), + selectionLog: logDataFixture({ + metadata: undefined, + }), + tableTexts: [/some message/], + selectionTexts: [/some message/], +})) + test.each([ { queryType: 'api', @@ -53,6 +72,7 @@ test.each([ tableTexts: [/POST/, /some\-path/, /400/], selectionTexts: [/POST/, /Timestamp/, RegExp(`${new Date().getFullYear()}.+`, 'g')], }, + { queryType: 'database', tableName: undefined, @@ -84,6 +104,7 @@ test.each([ ], }, { + queryType: 'auth', tableName: undefined, tableLog: logDataFixture({ @@ -114,6 +135,7 @@ test.each([ RegExp(`${new Date().getFullYear()}.+`, 'g'), ], }, + ...defaultRendererFallbacksCases, // these all use teh default selection/table renderers ...['pgbouncer', 'postgrest', 'storage', 'realtime'].map((queryType) => ({ queryType, @@ -129,7 +151,7 @@ test.each([ selectionTexts: [/some/, /nested/, /value/, RegExp(`${new Date().getFullYear()}.+`, 'g')], })), ])( - 'selection $queryType $tableName , can display log data and metadata', + 'selection $queryType $queryType, $tableName , can display log data and metadata $testName', async ({ queryType, tableName, tableLog, selectionLog, tableTexts, selectionTexts }) => { get.mockImplementation((url) => { // counts From 6c6d9f9183aace487e7611087c254470f64e8998 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Wed, 16 Aug 2023 02:48:37 +0800 Subject: [PATCH 70/94] fix: log explorer copy button not working --- .../interfaces/Settings/Logs/LogSelection.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/studio/components/interfaces/Settings/Logs/LogSelection.tsx b/studio/components/interfaces/Settings/Logs/LogSelection.tsx index b6f23047f79..b103dd2c479 100644 --- a/studio/components/interfaces/Settings/Logs/LogSelection.tsx +++ b/studio/components/interfaces/Settings/Logs/LogSelection.tsx @@ -17,6 +17,7 @@ import DefaultPreviewSelectionRenderer from './LogSelectionRenderers/DefaultPrev import FunctionInvocationSelectionRender from './LogSelectionRenderers/FunctionInvocationSelectionRender' import FunctionLogsSelectionRender from './LogSelectionRenderers/FunctionLogsSelectionRender' import { LogData, QueryType } from './Logs.types' +import { useMemo } from 'react' export interface LogSelectionProps { log: LogData | null @@ -73,9 +74,8 @@ const LogSelection = ({ } } - const selectionText = () => { - if (!fullLog) return '' - if (queryType) { + const selectionText = useMemo(() => { + if (fullLog && queryType) { return `Log ID ${fullLog.id}\n Log Timestamp (UTC) @@ -87,8 +87,8 @@ ${JSON.stringify(fullLog.metadata, null, 2)} ` } - return JSON.stringify(fullLog, null, 2) - } + return JSON.stringify(fullLog || partialLog, null, 2) + }, [fullLog]) return (
- +
) case ActionType.MigratePostgresSchema: - if (action.reason === ActionReason.Finalize) { - return ( - - ) - } else if (action.reason === ActionReason.Rollback) { + if (action.reason === ActionReason.Rollback) { return (
)} diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx index 75493e64bfc..d8f536d297e 100644 --- a/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx +++ b/studio/components/layouts/ProjectLayout/LayoutHeader/NotificationsPopover/index.tsx @@ -9,7 +9,7 @@ import { useQueryClient } from '@tanstack/react-query' import dayjs from 'dayjs' import { useRouter } from 'next/router' import { Fragment, useState } from 'react' -import { Alert, Button, IconArrowRight, IconBell, IconInbox, Popover } from 'ui' +import { Button, IconArrowRight, IconBell, IconInbox, Popover } from 'ui' import ConfirmModal from 'components/ui/Dialogs/ConfirmDialog' import { useNotificationsQuery } from 'data/notifications/notifications-query' @@ -17,7 +17,7 @@ import { useNotificationsUpdateMutation } from 'data/notifications/notifications import { getProjectDetail } from 'data/projects/project-detail-query' import { setProjectPostgrestStatus } from 'data/projects/projects-query' import { useStore } from 'hooks' -import { delete_, patch, post } from 'lib/common/fetch' +import { delete_, post } from 'lib/common/fetch' import { API_URL } from 'lib/constants' import { Project } from 'types' import NotificationRow from './NotificationRow' @@ -38,7 +38,6 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { const [projectToRestart, setProjectToRestart] = useState() const [projectToApplyMigration, setProjectToApplyMigration] = useState() const [projectToRollbackMigration, setProjectToRollbackMigration] = useState() - const [projectToFinalizeMigration, setProjectToFinalizeMigration] = useState() const [targetNotification, setTargetNotification] = useState() const newNotifications = @@ -152,32 +151,6 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { setProjectToRollbackMigration(undefined) } - const onConfirmProjectFinalizeMigration = async () => { - if (!projectToFinalizeMigration) return - const data = targetNotification?.data as PostgresqlUpgradeData - const { resource } = data.additional as any - if (!resource) return - const res = await patch(`${API_URL}/database/${projectToFinalizeMigration.ref}/${resource}`, {}) - if (!res.error) { - const project = await getProjectDetail({ ref: projectToFinalizeMigration.ref }) - if (project) { - meta.setProjectDetails(project) - } - - ui.setNotification({ - category: 'success', - message: `Successfully finalized migration for project "${projectToFinalizeMigration.name}"`, - }) - } else { - ui.setNotification({ - error: res.error, - category: 'error', - message: `Failed to finalize migration: ${res.error.message}`, - }) - } - setProjectToFinalizeMigration(undefined) - } - if (!notifications || !Array.isArray(notifications)) return null return ( @@ -221,10 +194,6 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { setProjectToRollbackMigration(project) setTargetNotification(notification) }} - onSelectFinalizeMigration={(project, notification) => { - setProjectToFinalizeMigration(project) - setTargetNotification(notification) - }} /> {i !== notifications.length - 1 && } @@ -372,34 +341,6 @@ const NotificationsPopover = ({ alt = false }: NotificationsPopoverProps) => { onSelectCancel={() => setProjectToRollbackMigration(undefined)} onSelectConfirm={onConfirmProjectRollbackMigration} /> - - -
-

The following schema migration will be finalized for the project

-
    -
  1. -
    -

    {(targetNotification?.data as any)?.additional?.name}

    - -

    {(targetNotification?.data as any)?.additional?.version_to}

    -
    -
  2. -
-
-
- } - buttonLabel="Confirm" - buttonLoadingLabel="Confirm" - onSelectCancel={() => setProjectToFinalizeMigration(undefined)} - onSelectConfirm={onConfirmProjectFinalizeMigration} - /> ) } From 85185f0f739b38e8bf3bc78c9978eb0edb4bdd7e Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Wed, 16 Aug 2023 11:03:42 +0800 Subject: [PATCH 74/94] fix: update links and redirects --- apps/www/lib/redirects.js | 24 +++++++++++++++++------- spec/common-cli-sections.json | 24 +++++++++--------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/apps/www/lib/redirects.js b/apps/www/lib/redirects.js index 0ff808fff5f..a47e3dbafde 100644 --- a/apps/www/lib/redirects.js +++ b/apps/www/lib/redirects.js @@ -1170,37 +1170,47 @@ module.exports = [ { permanent: true, source: '/docs/reference/cli/supabase-db-branch-list', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-branches-list', }, { permanent: true, source: '/docs/reference/cli/supabase-db-branch-create', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-branches-create', }, { permanent: true, source: '/docs/reference/cli/supabase-db-branch-delete', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-branches-delete', }, { permanent: true, source: '/docs/reference/cli/supabase-db-switch', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-branches-create', }, { permanent: true, source: '/docs/reference/cli/supabase-db-changes', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-db-diff', }, { permanent: true, source: '/docs/reference/cli/supabase-db-commit', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-db-pull', }, { permanent: true, source: '/docs/reference/cli/supabase-db-remote-set', - destination: '/docs/reference/supabase-db', + destination: '/docs/reference/supabase-link', + }, + { + permanent: true, + source: '/docs/reference/cli/supabase-db-remote-changes', + destination: '/docs/reference/supabase-db-diff', + }, + { + permanent: true, + source: '/docs/reference/cli/supabase-db-remote-commit', + destination: '/docs/reference/supabase-db-pull', }, { diff --git a/spec/common-cli-sections.json b/spec/common-cli-sections.json index 12b83619e6e..e46b921d5e5 100644 --- a/spec/common-cli-sections.json +++ b/spec/common-cli-sections.json @@ -120,9 +120,9 @@ "type": "cli-command" }, { - "id": "supabase-db-dump", - "title": "Dump schema from remote database", - "slug": "supabase-db-dump", + "id": "supabase-db-pull", + "title": "Pull schema changes from remote database", + "slug": "supabase-db-pull", "type": "cli-command" }, { @@ -137,6 +137,12 @@ "slug": "supabase-db-reset", "type": "cli-command" }, + { + "id": "supabase-db-dump", + "title": "Dump schema from remote database", + "slug": "supabase-db-dump", + "type": "cli-command" + }, { "id": "supabase-db-diff", "title": "Diff local database", @@ -148,18 +154,6 @@ "title": "Lint local database", "slug": "supabase-db-lint", "type": "cli-command" - }, - { - "id": "supabase-db-remote", - "title": "Manage remote databases", - "slug": "supabase-db-remote", - "type": "cli-command" - }, - { - "id": "supabase-db-remote-commit", - "title": "Commit remote database changes", - "slug": "supabase-db-remote-commit", - "type": "cli-command" } ] }, From 0c099659c6bcd12fb718c7fd3a1369e84f79e3c2 Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Wed, 16 Aug 2023 11:02:42 +0800 Subject: [PATCH 75/94] fix: document {{ .Data }} template variable in the email templates --- .../AuthProviders/AuthTemplatesValidation.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/studio/stores/authConfig/schema/AuthProviders/AuthTemplatesValidation.tsx b/studio/stores/authConfig/schema/AuthProviders/AuthTemplatesValidation.tsx index b9d00348ed2..e14db176c22 100644 --- a/studio/stores/authConfig/schema/AuthProviders/AuthTemplatesValidation.tsx +++ b/studio/stores/authConfig/schema/AuthProviders/AuthTemplatesValidation.tsx @@ -22,7 +22,8 @@ export const CONFIRMATION: FormSchema = { - \`{{ .Token }}\` : The 6-digit numeric email OTP - \`{{ .TokenHash }}\` : The hashed token used in the URL - \`{{ .SiteURL }}\` : The URL of the site -- \`{{ .Email }}\` : The users email address +- \`{{ .Email }}\` : The user's email address +- \`{{ .Data }}\` : The user's \`user_metadata\` `, }, }, @@ -55,7 +56,8 @@ export const INVITE: FormSchema = { - \`{{ .Token }}\` : The 6-digit numeric email OTP - \`{{ .TokenHash }}\` : The hashed token used in the URL - \`{{ .SiteURL }}\` : The URL of the site -- \`{{ .Email }}\` : The users email address +- \`{{ .Email }}\` : The user's email address +- \`{{ .Data }}\` : The user's \`user_metadata\` `, }, }, @@ -88,7 +90,8 @@ export const MAGIC_LINK: FormSchema = { - \`{{ .Token }}\` : The 6-digit numeric email OTP - \`{{ .TokenHash }}\` : The hashed token used in the URL - \`{{ .SiteURL }}\` : The URL of the site -- \`{{ .Email }}\` : The users email address +- \`{{ .Email }}\` : The user's email address +- \`{{ .Data }}\` : The user's \`user_metadata\` `, }, }, @@ -121,8 +124,9 @@ export const EMAIL_CHANGE: FormSchema = { - \`{{ .Token }}\` : The 6-digit numeric email OTP - \`{{ .TokenHash }}\` : The hashed token used in the URL - \`{{ .SiteURL }}\` : The URL of the site -- \`{{ .Email }}\` : The original users email address -- \`{{ .NewEmail }}\` : The users new email address +- \`{{ .Email }}\` : The original user's email address +- \`{{ .NewEmail }}\` : The user's new email address +- \`{{ .Data }}\` : The user's \`user_metadata\` `, }, }, @@ -155,7 +159,8 @@ export const RECOVERY: FormSchema = { - \`{{ .Token }}\` : The 6-digit numeric email OTP - \`{{ .TokenHash }}\` : The hashed token used in the URL - \`{{ .SiteURL }}\` : The URL of the site -- \`{{ .Email }}\` : The users email address +- \`{{ .Email }}\` : The user's email address +- \`{{ .Data }}\` : The user's \`user_metadata\` `, }, }, From dd61b6eebc6587eff5e4f175c3bf9d5deba3a980 Mon Sep 17 00:00:00 2001 From: Qiao Han Date: Wed, 16 Aug 2023 11:08:02 +0800 Subject: [PATCH 76/94] chore: update references for remote commit to db pull --- apps/docs/pages/guides/cli/local-development.mdx | 6 +++--- apps/docs/pages/guides/cli/managing-environments.mdx | 8 ++++---- spec/cli_v1_commands.yaml | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/docs/pages/guides/cli/local-development.mdx b/apps/docs/pages/guides/cli/local-development.mdx index 57b4e5abf52..8c719d931be 100644 --- a/apps/docs/pages/guides/cli/local-development.mdx +++ b/apps/docs/pages/guides/cli/local-development.mdx @@ -364,12 +364,12 @@ Associate your project with your remote project using [`supabase link`](/docs/re supabase link --project-ref # You can get from your project's dashboard URL: https://supabase.com/dashboard/project/ -supabase db remote commit +supabase db pull # Capture any changes that you have made to your remote database before you went through the steps above # If you have not made any changes to the remote database, skip this step ``` -`supabase/migrations` is now populated with a migration in `..._remote_commit.sql`. +`supabase/migrations` is now populated with a migration in `_remote_schema.sql`. This migration captures any changes required for your local database to match the schema of your remote Supabase project. @@ -420,7 +420,7 @@ For these changes to take effect, you need to run `supabase stop` and `supabase If you have additional triggers or RLS policies defined on your `auth` schema, you can pull them as a migration file locally. ```bash -supabase db remote commit --schema auth +supabase db pull --schema auth ``` ### Local Logging diff --git a/apps/docs/pages/guides/cli/managing-environments.mdx b/apps/docs/pages/guides/cli/managing-environments.mdx index b20a4c5c5f1..59bd4ed51fe 100644 --- a/apps/docs/pages/guides/cli/managing-environments.mdx +++ b/apps/docs/pages/guides/cli/managing-environments.mdx @@ -38,10 +38,10 @@ If you're using an existing Supabase project, you might have made schema changes Run the following command to pull these changes before making local schema changes from the CLI: ```sql -supabase db remote commit +supabase db pull ``` -This command creates a new migration in `supabase/migrations/_remote_commit.sql` which reflects the schema changes you have made previously. +This command creates a new migration in `supabase/migrations/_remote_schema.sql` which reflects the schema changes you have made previously. Now commit your local changes to Git and run the local development setup: @@ -348,9 +348,9 @@ Once pushed, check that the migration version is up to date for both local and r supabase migration list ``` -### Permission denied on db remote commit +### Permission denied on db pull -If you have been using Supabase hosted projects for a long time, you might encounter the following permission error when executing `db remote commit`. +If you have been using Supabase hosted projects for a long time, you might encounter the following permission error when executing `db pull`. ```bash Error: Error running pg_dump on remote database: pg_dump: error: query failed: ERROR: permission denied for table _type diff --git a/spec/cli_v1_commands.yaml b/spec/cli_v1_commands.yaml index ee44e2afdee..3f94d073f92 100644 --- a/spec/cli_v1_commands.yaml +++ b/spec/cli_v1_commands.yaml @@ -1191,7 +1191,7 @@ commands: To reset your migration history to a clean state, first delete your local migration file. ```bash - $ rm supabase/migrations/20230103054303_remote_commit.sql + $ rm supabase/migrations/20230103054303_remote_schema.sql $ supabase migration list LOCAL │ REMOTE │ TIME (UTC) ─────────────────┼────────────────┼────────────────────── @@ -2568,7 +2568,7 @@ commands: response: | Connecting to local database... Creating shadow database... - Applying migration 20230425064254_remote_commit.sql... + Applying migration 20230425064254_remote_schema.sql... Diffing schemas: auth,extensions,public,storage Finished supabase db diff on branch main. From 22877a5aedc10cba398112337f25cc638e8e0203 Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Wed, 16 Aug 2023 12:12:22 +0800 Subject: [PATCH 77/94] fix: update copy for site url --- studio/components/interfaces/Auth/SiteUrl/SiteUrl.tsx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/studio/components/interfaces/Auth/SiteUrl/SiteUrl.tsx b/studio/components/interfaces/Auth/SiteUrl/SiteUrl.tsx index b19659bb96c..0a7e00c94ea 100644 --- a/studio/components/interfaces/Auth/SiteUrl/SiteUrl.tsx +++ b/studio/components/interfaces/Auth/SiteUrl/SiteUrl.tsx @@ -85,7 +85,7 @@ const SiteUrl = observer(() => { <> { > - + From 12d8e180e1bf974e8bd90e8b5d2a0d97568619af Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Wed, 16 Aug 2023 12:20:05 +0800 Subject: [PATCH 78/94] fix: improve jwt expiry description --- studio/components/interfaces/Auth/AutoSchemaForm.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/studio/components/interfaces/Auth/AutoSchemaForm.tsx b/studio/components/interfaces/Auth/AutoSchemaForm.tsx index 72722a74e46..8bbd47d473c 100644 --- a/studio/components/interfaces/Auth/AutoSchemaForm.tsx +++ b/studio/components/interfaces/Auth/AutoSchemaForm.tsx @@ -139,7 +139,7 @@ const AutoSchemaForm = observer(() => { id="JWT_EXP" size="small" label="JWT expiry limit" - descriptionText="How long tokens are valid for. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week)." + descriptionText="How long access tokens are valid for. Defaults to 3600 (1 hour), maximum 604,800 seconds (one week). Refresh tokens are one-time use and never expire." actions={seconds} disabled={!canUpdateConfig} /> From d21be98dab4d6bf624f4a2df92237295c7d611fa Mon Sep 17 00:00:00 2001 From: Kang Ming Date: Wed, 16 Aug 2023 12:22:03 +0800 Subject: [PATCH 79/94] fix: improve secure password update description --- .../AuthProvidersFormValidation.tsx | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/studio/stores/authConfig/schema/AuthProviders/AuthProvidersFormValidation.tsx b/studio/stores/authConfig/schema/AuthProviders/AuthProvidersFormValidation.tsx index 78d1113b998..371096dda52 100644 --- a/studio/stores/authConfig/schema/AuthProviders/AuthProvidersFormValidation.tsx +++ b/studio/stores/authConfig/schema/AuthProviders/AuthProvidersFormValidation.tsx @@ -30,7 +30,7 @@ const PROVIDER_EMAIL = { }, SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION: { title: 'Secure password change', - description: `Users will need to be recently logged in to change their password. + description: `Users will need to be recently logged in to change their password without requiring reauthentication. If disabled, a user can change their password at any time.`, type: 'boolean', }, @@ -221,8 +221,8 @@ const PROVIDER_PHONE = { units: 'seconds', show: { key: 'SMS_PROVIDER', - matches: ['twilio', 'messagebird', 'textlocal', 'vonage'] - } + matches: ['twilio', 'messagebird', 'textlocal', 'vonage'], + }, }, SMS_OTP_LENGTH: { title: 'SMS OTP Length', @@ -231,8 +231,8 @@ const PROVIDER_PHONE = { units: 'digits', show: { key: 'SMS_PROVIDER', - matches: ['twilio', 'messagebird', 'textlocal', 'vonage'] - } + matches: ['twilio', 'messagebird', 'textlocal', 'vonage'], + }, }, SMS_TEMPLATE: { title: 'SMS Message', @@ -240,8 +240,8 @@ const PROVIDER_PHONE = { description: 'To format the OTP code use `{{ .Code }}`', show: { key: 'SMS_PROVIDER', - matches: ['twilio', 'messagebird', 'textlocal', 'vonage'] - } + matches: ['twilio', 'messagebird', 'textlocal', 'vonage'], + }, }, }, validationSchema: object().shape({ @@ -286,13 +286,16 @@ const PROVIDER_PHONE = { then: (schema) => schema.required('Twilio Verify Auth Token is required'), otherwise: (schema) => schema, }), - SMS_TWILIO_VERIFY_MESSAGE_SERVICE_SID: string().when(['EXTERNAL_PHONE_ENABLED', 'SMS_PROVIDER'], { - is: (EXTERNAL_PHONE_ENABLED: boolean, SMS_PROVIDER: string) => { - return EXTERNAL_PHONE_ENABLED && SMS_PROVIDER === 'twilio-verify' - }, - then: (schema) => schema.required('Twilio Verify Service SID is required'), - otherwise: (schema) => schema, - }), + SMS_TWILIO_VERIFY_MESSAGE_SERVICE_SID: string().when( + ['EXTERNAL_PHONE_ENABLED', 'SMS_PROVIDER'], + { + is: (EXTERNAL_PHONE_ENABLED: boolean, SMS_PROVIDER: string) => { + return EXTERNAL_PHONE_ENABLED && SMS_PROVIDER === 'twilio-verify' + }, + then: (schema) => schema.required('Twilio Verify Service SID is required'), + otherwise: (schema) => schema, + } + ), // Messagebird SMS_MESSAGEBIRD_ACCESS_KEY: string().when(['EXTERNAL_PHONE_ENABLED', 'SMS_PROVIDER'], { From 3bd665bdcf6091b5421e6da539a6c1387bb80396 Mon Sep 17 00:00:00 2001 From: Raminder Singh Date: Wed, 16 Aug 2023 11:26:46 +0530 Subject: [PATCH 80/94] fix invisible text --- apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx index b586d9ff914..ff8e08b7627 100644 --- a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx +++ b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx @@ -100,7 +100,7 @@ export const meta = { const { data: countries } = await supabase.from("countries").select(); return ( -
    +
      {countries?.map((country) => (
    • {country.name}
    • ))} From 11382970080b5b8e4a1520bd9dd119d60b199c13 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 16 Aug 2023 13:04:50 +0700 Subject: [PATCH 81/94] Address comments --- studio/data/fetchers.ts | 2 -- studio/data/invoices/invoices-count-query.ts | 1 + studio/data/invoices/invoices-query.ts | 16 ++++++---------- studio/data/invoices/keys.ts | 7 ++++--- .../invoices/project-invoices-count-query.ts | 1 + studio/data/invoices/project-invoices-query.ts | 15 ++++++--------- 6 files changed, 18 insertions(+), 24 deletions(-) diff --git a/studio/data/fetchers.ts b/studio/data/fetchers.ts index 295ee9b7578..6c5ca18facd 100644 --- a/studio/data/fetchers.ts +++ b/studio/data/fetchers.ts @@ -89,11 +89,9 @@ export const del: typeof _del = async (url, init) => { export const head: typeof _head = async (url, init) => { const headers = await constructHeaders(init?.headers) - // @ts-ignore return await _head(url, { ...init, headers, - parseAs: 'text', }) } diff --git a/studio/data/invoices/invoices-count-query.ts b/studio/data/invoices/invoices-count-query.ts index 8d8fe650e3d..241ff0c5341 100644 --- a/studio/data/invoices/invoices-count-query.ts +++ b/studio/data/invoices/invoices-count-query.ts @@ -18,6 +18,7 @@ export async function getInvoicesCount( const res = await head(`/platform/stripe/invoices`, { params: { query: { customer: customerId, slug } }, signal, + parseAs: 'text', }) if (res.error) throw (res as any).error diff --git a/studio/data/invoices/invoices-query.ts b/studio/data/invoices/invoices-query.ts index 1c63e92b39a..617fd32b6a3 100644 --- a/studio/data/invoices/invoices-query.ts +++ b/studio/data/invoices/invoices-query.ts @@ -6,12 +6,12 @@ import { invoicesKeys } from './keys' export type InvoicesVariables = { customerId?: string slug?: string - offset: number - limit: number + offset?: number + limit?: number } export async function getInvoices( - { customerId, slug, offset, limit }: InvoicesVariables, + { customerId, slug, offset = 0, limit = 10 }: InvoicesVariables, signal?: AbortSignal ) { if (!customerId) throw new Error('Customer ID is required') @@ -36,16 +36,12 @@ export const useInvoicesQuery = ( { customerId, slug, offset, limit }: InvoicesVariables, { enabled = true, ...options }: UseQueryOptions = {} ) => + // [Joshen] Switch to useInfiniteQuery useQuery( - invoicesKeys.list(customerId, slug), + invoicesKeys.list(customerId, slug, offset), ({ signal }) => getInvoices({ customerId, slug, offset, limit }, signal), { - enabled: - enabled && - typeof customerId !== 'undefined' && - typeof slug !== 'undefined' && - typeof limit !== 'undefined' && - typeof offset !== 'undefined', + enabled: enabled && typeof customerId !== 'undefined' && typeof slug !== 'undefined', ...options, } ) diff --git a/studio/data/invoices/keys.ts b/studio/data/invoices/keys.ts index 6c25d4fe23e..5b1a5a482a8 100644 --- a/studio/data/invoices/keys.ts +++ b/studio/data/invoices/keys.ts @@ -2,12 +2,13 @@ export const invoicesKeys = { overdueInvoices: () => ['invoices', 'overdue'] as const, invoice: (id: string | undefined) => ['invoice', id] as const, - list: (customerId: string | undefined, slug: string | undefined) => - ['invoices', customerId, slug] as const, + list: (customerId: string | undefined, slug: string | undefined, offset: number | undefined) => + ['invoices', customerId, slug, offset] as const, count: (customerId: string | undefined, slug: string | undefined) => ['invoices', customerId, slug, 'count'] as const, - projectInvoices: (projectRef: string | undefined) => ['invoices', projectRef] as const, + projectInvoices: (projectRef: string | undefined, offset: number | undefined) => + ['invoices', projectRef, offset] as const, projectInvoicesCount: (projectRef: string | undefined) => ['invoices', projectRef, 'count'] as const, upcomingPreview: (projectRef: string | undefined) => diff --git a/studio/data/invoices/project-invoices-count-query.ts b/studio/data/invoices/project-invoices-count-query.ts index a3a165816de..7453d934013 100644 --- a/studio/data/invoices/project-invoices-count-query.ts +++ b/studio/data/invoices/project-invoices-count-query.ts @@ -16,6 +16,7 @@ export async function getProjectInvoicesCount( const res = await head(`/platform/projects/{ref}/invoices`, { params: { path: { ref: projectRef } }, signal, + parseAs: 'text', }) if (res.error) throw (res as any).error diff --git a/studio/data/invoices/project-invoices-query.ts b/studio/data/invoices/project-invoices-query.ts index fe697397be5..01475bf4aa5 100644 --- a/studio/data/invoices/project-invoices-query.ts +++ b/studio/data/invoices/project-invoices-query.ts @@ -5,12 +5,12 @@ import { invoicesKeys } from './keys' export type ProjectInvoicesVariables = { projectRef?: string - offset: number - limit: number + offset?: number + limit?: number } export async function getProjectInvoices( - { projectRef, offset, limit }: ProjectInvoicesVariables, + { projectRef, offset = 0, limit = 10 }: ProjectInvoicesVariables, signal?: AbortSignal ) { if (!projectRef) throw new Error('Project ref is required') @@ -37,15 +37,12 @@ export const useProjectInvoicesQuery = ( ...options }: UseQueryOptions = {} ) => + // [Joshen] Switch to useInfiniteQuery useQuery( - invoicesKeys.projectInvoices(projectRef), + invoicesKeys.projectInvoices(projectRef, offset), ({ signal }) => getProjectInvoices({ projectRef, offset, limit }, signal), { - enabled: - enabled && - typeof projectRef !== 'undefined' && - typeof limit !== 'undefined' && - typeof offset !== 'undefined', + enabled: enabled && typeof projectRef !== 'undefined', ...options, } ) From a8a243c6f0c69dc724d9c86f4bc377de8c4e9f85 Mon Sep 17 00:00:00 2001 From: Raminder Singh Date: Wed, 16 Aug 2023 13:03:30 +0530 Subject: [PATCH 82/94] use text-foreground instead of text-white --- apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx index ff8e08b7627..24fde38da52 100644 --- a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx +++ b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx @@ -100,7 +100,7 @@ export const meta = { const { data: countries } = await supabase.from("countries").select(); return ( -
        +
          {countries?.map((country) => (
        • {country.name}
        • ))} From 9be1ca671fee2af761bcce45d206c4b2a9bf9a42 Mon Sep 17 00:00:00 2001 From: "joel@joellee.org" Date: Wed, 16 Aug 2023 10:49:23 +0200 Subject: [PATCH 83/94] chore: add spec files etc --- spec/api_v0_openapi.json | 1171 +- spec/cli_v1_config.yaml | 4 +- spec/common-client-libs-sections.json | 7 + spec/enrichments/tsdoc_v2/combined.json | 23516 ++++++----- spec/enrichments/tsdoc_v2/functions.json | 2581 +- .../tsdoc_v2/functions_dereferenced.json | 84 +- spec/enrichments/tsdoc_v2/gotrue.json | 34013 ++++++++-------- .../tsdoc_v2/gotrue_dereferenced.json | 10607 ++--- spec/enrichments/tsdoc_v2/postgrest.json | 27844 +++++++------ .../tsdoc_v2/postgrest_dereferenced.json | 5828 +-- spec/enrichments/tsdoc_v2/realtime.json | 12832 +++--- .../tsdoc_v2/realtime_dereferenced.json | 4405 +- spec/enrichments/tsdoc_v2/storage.json | 15654 ++++--- .../tsdoc_v2/storage_dereferenced.json | 589 +- spec/enrichments/tsdoc_v2/supabase.json | 8520 ++-- .../tsdoc_v2/supabase_dereferenced.json | 2021 +- spec/storage_v0_openapi.json | 4 +- spec/supabase_js_v2.yml | 13 + spec/transforms/api_v0_openapi_deparsed.json | 2892 +- .../storage_v0_openapi_deparsed.json | 8 +- 20 files changed, 78868 insertions(+), 73725 deletions(-) diff --git a/spec/api_v0_openapi.json b/spec/api_v0_openapi.json index cd5c66f139a..ec94c310048 100644 --- a/spec/api_v0_openapi.json +++ b/spec/api_v0_openapi.json @@ -1,6 +1,86 @@ { "openapi": "3.0.0", "paths": { + "/v1/branches/{branch_id}": { + "get": { + "operationId": "getBranchDetails", + "summary": "Get database branch config", + "description": "Fetches configurations of the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/BranchDetailResponse" } + } + } + }, + "500": { "description": "Failed to update database branch" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + }, + "patch": { + "operationId": "updateBranch", + "summary": "Update database branch config", + "description": "Updates the configuration of the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBranchBody" } } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponse" } } + } + }, + "500": { "description": "Failed to update database branch" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + }, + "delete": { + "operationId": "deleteBranch", + "summary": "Delete a database branch", + "description": "Deletes the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { "type": "string" } + } + ], + "responses": { + "200": { "description": "" }, + "500": { "description": "Failed to delete database branch" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + } + }, "/v1/projects": { "get": { "operationId": "getProjects", @@ -104,6 +184,7 @@ "/v1/oauth/authorize": { "get": { "operationId": "authorize", + "summary": "Authorize user through oauth", "parameters": [ { "name": "client_id", "required": true, "in": "query", "schema": { "type": "string" } }, { @@ -136,356 +217,37 @@ "name": "code_challenge_method", "required": false, "in": "query", - "schema": { "enum": ["plain", "sha256"], "type": "string" } + "schema": { "enum": ["plain", "sha256", "S256"], "type": "string" } } ], - "responses": { "200": { "description": "" } }, + "responses": { "303": { "description": "" } }, "tags": ["oauth (beta)"] } }, "/v1/oauth/token": { "post": { "operationId": "token", - "parameters": [ - { - "name": "grant_type", - "required": true, - "in": "query", - "schema": { "enum": ["authorization_code", "refresh_token"], "type": "string" } - }, - { "name": "client_id", "required": true, "in": "query", "schema": { "type": "string" } }, - { - "name": "client_secret", - "required": true, - "in": "query", - "schema": { "type": "string" } - }, - { "name": "code", "required": false, "in": "query", "schema": { "type": "string" } }, - { - "name": "code_verifier", - "required": false, - "in": "query", - "schema": { "type": "string" } - }, - { - "name": "redirect_uri", - "required": true, - "in": "query", - "schema": { "type": "string" } - }, - { - "name": "refresh_token", - "required": false, - "in": "query", - "schema": { "type": "string" } - } - ], - "responses": { "201": { "description": "" } }, - "tags": ["oauth (beta)"] - } - }, - "/v1/oauth/authorizations/{id}": { - "get": { - "operationId": "getAuthorizationRequest", - "parameters": [ - { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } - ], - "responses": { "200": { "description": "" } }, - "tags": ["oauth (beta)"], - "security": [{ "bearer": [] }] - }, - "post": { - "operationId": "approveAuthorizationRequest", - "parameters": [ - { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } - ], + "summary": "Exchange auth code for user's access and refresh token", + "parameters": [], "requestBody": { "required": true, "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/AuthorizationsApproveBody" } - } - } - }, - "responses": { "201": { "description": "" } }, - "tags": ["oauth (beta)"], - "security": [{ "bearer": [] }] - }, - "delete": { - "operationId": "declineAuthorizationRequest", - "parameters": [ - { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } - ], - "responses": { "200": { "description": "" } }, - "tags": ["oauth (beta)"], - "security": [{ "bearer": [] }] - } - }, - "/v1/projects/{ref}/functions": { - "post": { - "operationId": "createFunction", - "summary": "Create a function", - "description": "Creates a function and adds it to the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "slug", - "required": false, - "in": "query", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - }, - { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, - { - "name": "verify_jwt", - "required": false, - "in": "query", - "schema": { "type": "boolean" } - }, - { - "name": "import_map", - "required": false, - "in": "query", - "schema": { "type": "boolean" } - }, - { - "name": "entrypoint_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - }, - { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/CreateFunctionBody" } }, - "application/vnd.denoland.eszip": { - "schema": { "$ref": "#/components/schemas/CreateFunctionBody" } + "application/x-www-form-urlencoded": { + "schema": { "$ref": "#/components/schemas/OAuthTokenBody" } } } }, "responses": { "201": { - "description": "", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } - } - }, - "403": { "description": "" }, - "500": { "description": "Failed to create project's function" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] - }, - "get": { - "operationId": "getFunctions", - "summary": "List all functions", - "description": "Returns all functions you've previously added to the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - } - ], - "responses": { - "200": { "description": "", "content": { "application/json": { - "schema": { - "type": "array", - "items": { "$ref": "#/components/schemas/FunctionResponse" } - } + "schema": { "$ref": "#/components/schemas/OAuthTokenResponse" } } } - }, - "403": { "description": "" }, - "500": { "description": "Failed to retrieve project's functions" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] - } - }, - "/v1/projects/{ref}/functions/{function_slug}": { - "get": { - "operationId": "getFunction", - "summary": "Retrieve a function", - "description": "Retrieves a function with the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/FunctionSlugResponse" } - } - } - }, - "403": { "description": "" }, - "500": { "description": "Failed to retrieve function with given slug" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] - }, - "patch": { - "operationId": "updateFunction", - "summary": "Update a function", - "description": "Updates a function with the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - }, - { - "name": "slug", - "required": false, - "in": "query", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - }, - { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, - { - "name": "verify_jwt", - "required": false, - "in": "query", - "schema": { "type": "boolean" } - }, - { - "name": "import_map", - "required": false, - "in": "query", - "schema": { "type": "boolean" } - }, - { - "name": "entrypoint_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - }, - { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/UpdateFunctionBody" } }, - "application/vnd.denoland.eszip": { - "schema": { "$ref": "#/components/schemas/UpdateFunctionBody" } - } } }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } - } - }, - "403": { "description": "" }, - "500": { "description": "Failed to update function with given slug" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] - }, - "delete": { - "operationId": "deleteFunction", - "summary": "Delete a function", - "description": "Deletes a function with the specified slug from the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - } - ], - "responses": { - "200": { "description": "" }, - "403": { "description": "" }, - "500": { "description": "Failed to delete function with given slug" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] - } - }, - "/v1/projects/{ref}/functions/{function_slug}/body": { - "get": { - "operationId": "getFunctionBody", - "summary": "Retrieve a function body", - "description": "Retrieves a function body for the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } - } - ], - "responses": { - "200": { "description": "" }, - "403": { "description": "" }, - "500": { "description": "Failed to retrieve function body with given slug" } - }, - "tags": ["functions"], - "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + "tags": ["oauth (beta)"] } }, "/v1/projects/{ref}/api-keys": { @@ -518,6 +280,89 @@ "security": [{ "bearer": [] }] } }, + "/v1/projects/{ref}/branches": { + "get": { + "operationId": "getBranches", + "summary": "List all database branches", + "description": "Returns all database branches of the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/BranchResponse" } + } + } + } + }, + "500": { "description": "Failed to retrieve database branches" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + }, + "post": { + "operationId": "createBranch", + "summary": "Create a database branch", + "description": "Creates a database branch from the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CreateBranchBody" } } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponse" } } + } + }, + "500": { "description": "Failed to create database branch" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + }, + "delete": { + "operationId": "disableBranch", + "summary": "Disables preview branching", + "description": "Disables preview branching for the specified project", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "responses": { + "200": { "description": "" }, + "500": { "description": "Failed to disable preview branching" } + }, + "tags": ["database branches (beta)"], + "security": [{ "bearer": [] }] + } + }, "/v1/projects/{ref}/custom-hostname": { "get": { "operationId": "getCustomHostnameConfig", @@ -1451,7 +1296,7 @@ "500": { "description": "Failed to retrieve project's pgbouncer config" } }, "tags": ["projects config"], - "security": [{ "bearer": [] }, { "bearer": [] }] + "security": [{ "bearer": [] }] }, "patch": { "operationId": "updatePgbouncerConfig", @@ -1486,7 +1331,391 @@ "500": { "description": "Failed to update project's pgbouncer config" } }, "tags": ["projects config"], - "security": [{ "bearer": [] }, { "bearer": [] }] + "security": [{ "bearer": [] }] + } + }, + "/v1/projects/{ref}/config/auth": { + "get": { + "operationId": "getV1AuthConfig", + "summary": "Gets project's auth config", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/AuthConfigResponse" } + } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to retrieve project's auth config" } + }, + "tags": ["projects config"], + "security": [{ "bearer": [] }] + }, + "patch": { + "operationId": "updateV1AuthConfig", + "summary": "Updates a project's auth config", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/UpdateAuthConfigBody" } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/AuthConfigResponse" } + } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to update project's auth config" } + }, + "tags": ["projects config"], + "security": [{ "bearer": [] }] + } + }, + "/v1/projects/{ref}/database/query": { + "post": { + "operationId": "v1RunQuery", + "summary": "Run sql query", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/RunQueryBody" } } + } + }, + "responses": { + "201": { + "description": "", + "content": { "application/json": { "schema": { "type": "object" } } } + }, + "403": { "description": "" }, + "500": { "description": "Failed to run sql query" } + }, + "tags": ["projects (beta)"], + "security": [{ "bearer": [] }] + } + }, + "/v1/projects/{ref}/database/webhooks/enable": { + "post": { + "operationId": "v1EnableDatabaseWebhooks", + "summary": "Enables Database Webhooks on the project", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "responses": { + "201": { "description": "" }, + "403": { "description": "" }, + "500": { "description": "Failed to enable Database Webhooks on the project" } + }, + "tags": ["projects (beta)"], + "security": [{ "bearer": [] }] + } + }, + "/v1/projects/{ref}/functions": { + "post": { + "operationId": "createFunction", + "summary": "Create a function", + "description": "Creates a function and adds it to the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + }, + { + "name": "slug", + "required": false, + "in": "query", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + }, + { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, + { + "name": "verify_jwt", + "required": false, + "in": "query", + "schema": { "type": "boolean" } + }, + { + "name": "import_map", + "required": false, + "in": "query", + "schema": { "type": "boolean" } + }, + { + "name": "entrypoint_path", + "required": false, + "in": "query", + "schema": { "type": "string" } + }, + { + "name": "import_map_path", + "required": false, + "in": "query", + "schema": { "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/CreateFunctionBody" } }, + "application/vnd.denoland.eszip": { + "schema": { "$ref": "#/components/schemas/CreateFunctionBody" } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to create project's function" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + }, + "get": { + "operationId": "getFunctions", + "summary": "List all functions", + "description": "Returns all functions you've previously added to the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { "$ref": "#/components/schemas/FunctionResponse" } + } + } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to retrieve project's functions" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + } + }, + "/v1/projects/{ref}/functions/{function_slug}": { + "get": { + "operationId": "getFunction", + "summary": "Retrieve a function", + "description": "Retrieves a function with the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/FunctionSlugResponse" } + } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to retrieve function with given slug" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + }, + "patch": { + "operationId": "updateFunction", + "summary": "Update a function", + "description": "Updates a function with the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + }, + { + "name": "slug", + "required": false, + "in": "query", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + }, + { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, + { + "name": "verify_jwt", + "required": false, + "in": "query", + "schema": { "type": "boolean" } + }, + { + "name": "import_map", + "required": false, + "in": "query", + "schema": { "type": "boolean" } + }, + { + "name": "entrypoint_path", + "required": false, + "in": "query", + "schema": { "type": "string" } + }, + { + "name": "import_map_path", + "required": false, + "in": "query", + "schema": { "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/UpdateFunctionBody" } }, + "application/vnd.denoland.eszip": { + "schema": { "$ref": "#/components/schemas/UpdateFunctionBody" } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to update function with given slug" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + }, + "delete": { + "operationId": "deleteFunction", + "summary": "Delete a function", + "description": "Deletes a function with the specified slug from the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + } + ], + "responses": { + "200": { "description": "" }, + "403": { "description": "" }, + "500": { "description": "Failed to delete function with given slug" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] + } + }, + "/v1/projects/{ref}/functions/{function_slug}/body": { + "get": { + "operationId": "getFunctionBody", + "summary": "Retrieve a function body", + "description": "Retrieves a function body for the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + } + ], + "responses": { + "200": { "description": "" }, + "403": { "description": "" }, + "500": { "description": "Failed to retrieve function body with given slug" } + }, + "tags": ["functions"], + "security": [{ "apiKeyHeader": [], "apiKeyParam": [] }, { "bearer": [] }] } }, "/v1/projects/{ref}/config/auth/sso/providers": { @@ -1659,6 +1888,61 @@ "components": { "securitySchemes": { "bearer": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http" } }, "schemas": { + "BranchDetailResponse": { + "type": "object", + "properties": { + "db_port": { "type": "integer" }, + "ref": { "type": "string" }, + "postgres_version": { "type": "string" }, + "status": { + "enum": [ + "ACTIVE_HEALTHY", + "ACTIVE_UNHEALTHY", + "COMING_UP", + "GOING_DOWN", + "INACTIVE", + "INIT_FAILED", + "REMOVED", + "RESTORING", + "UNKNOWN", + "UPGRADING", + "PAUSING" + ], + "type": "string" + }, + "db_host": { "type": "string" }, + "db_user": { "type": "string" }, + "db_pass": { "type": "string" }, + "jwt_secret": { "type": "string" } + }, + "required": ["db_port", "ref", "postgres_version", "status", "db_host"] + }, + "UpdateBranchBody": { + "type": "object", + "properties": { "branch_name": { "type": "string" }, "git_branch": { "type": "string" } } + }, + "BranchResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "project_ref": { "type": "string" }, + "parent_project_ref": { "type": "string" }, + "is_default": { "type": "boolean" }, + "git_branch": { "type": "string" }, + "created_at": { "type": "string" }, + "updated_at": { "type": "string" } + }, + "required": [ + "id", + "name", + "project_ref", + "parent_project_ref", + "is_default", + "created_at", + "updated_at" + ] + }, "DatabaseResponse": { "type": "object", "properties": { @@ -1737,68 +2021,43 @@ "properties": { "name": { "type": "string" } }, "required": ["name"] }, - "AuthorizationsApproveBody": { - "type": "object", - "properties": { "organization_id": { "type": "string" } }, - "required": ["organization_id"] - }, - "CreateFunctionBody": { + "OAuthTokenBody": { "type": "object", "properties": { - "slug": { "type": "string", "pattern": "/^[A-Za-z0-9_-]+$/" }, - "name": { "type": "string" }, - "body": { "type": "string" }, - "verify_jwt": { "type": "boolean" } + "grant_type": { "enum": ["authorization_code", "refresh_token"], "type": "string" }, + "client_id": { "type": "string" }, + "client_secret": { "type": "string" }, + "code": { "type": "string" }, + "code_verifier": { "type": "string" }, + "redirect_uri": { "type": "string" }, + "refresh_token": { "type": "string" } }, - "required": ["slug", "name", "body"] + "required": ["grant_type", "client_id", "client_secret"] }, - "FunctionResponse": { + "OAuthTokenResponse": { "type": "object", "properties": { - "id": { "type": "string" }, - "slug": { "type": "string" }, - "name": { "type": "string" }, - "status": { "enum": ["ACTIVE", "REMOVED", "THROTTLED"], "type": "string" }, - "version": { "type": "number" }, - "created_at": { "type": "number" }, - "updated_at": { "type": "number" }, - "verify_jwt": { "type": "boolean" }, - "import_map": { "type": "boolean" }, - "entrypoint_path": { "type": "string" }, - "import_map_path": { "type": "string" } + "token_type": { "type": "string", "enum": ["Bearer"] }, + "access_token": { "type": "string" }, + "refresh_token": { "type": "string" }, + "expires_in": { "type": "number" } }, - "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] - }, - "FunctionSlugResponse": { - "type": "object", - "properties": { - "id": { "type": "string" }, - "slug": { "type": "string" }, - "name": { "type": "string" }, - "status": { "enum": ["ACTIVE", "REMOVED", "THROTTLED"], "type": "string" }, - "version": { "type": "number" }, - "created_at": { "type": "number" }, - "updated_at": { "type": "number" }, - "verify_jwt": { "type": "boolean" }, - "import_map": { "type": "boolean" }, - "entrypoint_path": { "type": "string" }, - "import_map_path": { "type": "string" } - }, - "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] - }, - "UpdateFunctionBody": { - "type": "object", - "properties": { - "name": { "type": "string" }, - "body": { "type": "string" }, - "verify_jwt": { "type": "boolean" } - } + "required": ["token_type", "access_token", "refresh_token", "expires_in"] }, "ApiKeyResponse": { "type": "object", "properties": { "name": { "type": "string" }, "api_key": { "type": "string" } }, "required": ["name", "api_key"] }, + "CreateBranchBody": { + "type": "object", + "properties": { + "branch_name": { "type": "string" }, + "git_branch": { "type": "string" }, + "region": { "type": "string" } + }, + "required": ["branch_name"] + }, "UpdateCustomHostnameResponse": { "type": "object", "properties": { @@ -1925,7 +2184,7 @@ "VanitySubdomainConfigResponse": { "type": "object", "properties": { - "status": { "type": "string", "enum": ["not-used", "custom-domain-used", "active"] }, + "status": { "enum": ["not-used", "custom-domain-used", "active"], "type": "string" }, "custom_domain": { "type": "string" } }, "required": ["status"] @@ -2038,60 +2297,34 @@ "PostgresConfigResponse": { "type": "object", "properties": { - "statement_timeout": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, - "effective_cache_size": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, - "maintenance_work_mem": { "type": "integer", "minimum": 1024, "maximum": 2147483647 }, + "statement_timeout": { "type": "string" }, + "effective_cache_size": { "type": "string" }, + "maintenance_work_mem": { "type": "string" }, "max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 }, "max_parallel_maintenance_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers_per_gather": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_worker_processes": { "type": "integer", "minimum": 0, "maximum": 262143 }, - "shared_buffers": { "type": "integer", "minimum": 16, "maximum": 1073741823 }, - "work_mem": { "type": "integer", "minimum": 64, "maximum": 2147483647 }, + "shared_buffers": { "type": "string" }, + "work_mem": { "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } }, "UpdatePostgresConfigBody": { "type": "object", "properties": { - "statement_timeout": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, - "effective_cache_size": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, - "maintenance_work_mem": { "type": "integer", "minimum": 1024, "maximum": 2147483647 }, + "statement_timeout": { "type": "string" }, + "effective_cache_size": { "type": "string" }, + "maintenance_work_mem": { "type": "string" }, "max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 }, "max_parallel_maintenance_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers_per_gather": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_worker_processes": { "type": "integer", "minimum": 0, "maximum": 262143 }, - "shared_buffers": { "type": "integer", "minimum": 16, "maximum": 1073741823 }, - "work_mem": { "type": "integer", "minimum": 64, "maximum": 2147483647 }, + "shared_buffers": { "type": "string" }, + "work_mem": { "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } }, "ProjectPgBouncerConfig": { "type": "object", @@ -2106,12 +2339,14 @@ "ignore_startup_parameters": { "type": "string" }, "inserted_at": { "type": "string" }, "pgbouncer_enabled": { "type": "boolean" }, + "supavisor_enabled": { "type": "boolean" }, "pgbouncer_status": { "enum": ["COMING_DOWN", "COMING_UP", "DISABLED", "ENABLED", "RELOADING"], "type": "string" }, "pool_mode": { "enum": ["transaction", "session", "statement"], "type": "string" }, - "max_client_conn": { "type": "number", "nullable": true } + "max_client_conn": { "type": "number", "nullable": true }, + "connectionString": { "type": "string" } }, "required": [ "db_dns_name", @@ -2120,18 +2355,19 @@ "db_port", "db_ssl", "db_user", - "default_pool_size", "ignore_startup_parameters", "inserted_at", "pgbouncer_enabled", + "supavisor_enabled", "pgbouncer_status", - "pool_mode" + "pool_mode", + "connectionString" ] }, "UpdatePgbouncerConfigBody": { "type": "object", "properties": { - "default_pool_size": { "type": "integer", "minimum": 0, "maximum": 65535 }, + "default_pool_size": { "type": "integer", "minimum": 0, "maximum": 1000 }, "max_client_conn": { "type": "integer", "nullable": true, @@ -2142,17 +2378,12 @@ "pgbouncer_enabled": { "type": "boolean" }, "pool_mode": { "enum": ["transaction", "session", "statement"], "type": "string" } }, - "required": [ - "default_pool_size", - "ignore_startup_parameters", - "pgbouncer_enabled", - "pool_mode" - ] + "required": ["ignore_startup_parameters", "pgbouncer_enabled", "pool_mode"] }, "UpdatePoolingConfigResponse": { "type": "object", "properties": { - "default_pool_size": { "type": "integer", "minimum": 0, "maximum": 65535 }, + "default_pool_size": { "type": "integer", "minimum": 0, "maximum": 1000 }, "max_client_conn": { "type": "integer", "nullable": true, @@ -2168,13 +2399,95 @@ } }, "required": [ - "default_pool_size", "ignore_startup_parameters", "pgbouncer_enabled", "pool_mode", "pgbouncer_status" ] }, + "AuthConfigResponse": { + "type": "object", + "properties": { + "smtp_admin_email": { "type": "string" }, + "smtp_host": { "type": "string" }, + "smtp_port": { "type": "string" }, + "smtp_user": { "type": "string" }, + "smtp_pass": { "type": "string" }, + "smtp_max_frequency": { "type": "number" }, + "smtp_sender_name": { "type": "string" }, + "rate_limit_email_sent": { "type": "number", "minimum": 0, "maximum": 2147483647 } + } + }, + "UpdateAuthConfigBody": { + "type": "object", + "properties": { + "smtp_admin_email": { "type": "string" }, + "smtp_host": { "type": "string" }, + "smtp_port": { "type": "string" }, + "smtp_user": { "type": "string" }, + "smtp_pass": { "type": "string" }, + "smtp_max_frequency": { "type": "number" }, + "smtp_sender_name": { "type": "string" }, + "rate_limit_email_sent": { "type": "number", "minimum": 0, "maximum": 2147483647 } + } + }, + "RunQueryBody": { + "type": "object", + "properties": { "query": { "type": "string" } }, + "required": ["query"] + }, + "CreateFunctionBody": { + "type": "object", + "properties": { + "slug": { "type": "string", "pattern": "/^[A-Za-z0-9_-]+$/" }, + "name": { "type": "string" }, + "body": { "type": "string" }, + "verify_jwt": { "type": "boolean" } + }, + "required": ["slug", "name", "body"] + }, + "FunctionResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "slug": { "type": "string" }, + "name": { "type": "string" }, + "status": { "enum": ["ACTIVE", "REMOVED", "THROTTLED"], "type": "string" }, + "version": { "type": "number" }, + "created_at": { "type": "number" }, + "updated_at": { "type": "number" }, + "verify_jwt": { "type": "boolean" }, + "import_map": { "type": "boolean" }, + "entrypoint_path": { "type": "string" }, + "import_map_path": { "type": "string" } + }, + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] + }, + "FunctionSlugResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "slug": { "type": "string" }, + "name": { "type": "string" }, + "status": { "enum": ["ACTIVE", "REMOVED", "THROTTLED"], "type": "string" }, + "version": { "type": "number" }, + "created_at": { "type": "number" }, + "updated_at": { "type": "number" }, + "verify_jwt": { "type": "boolean" }, + "import_map": { "type": "boolean" }, + "entrypoint_path": { "type": "string" }, + "import_map_path": { "type": "string" } + }, + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] + }, + "UpdateFunctionBody": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "body": { "type": "string" }, + "verify_jwt": { "type": "boolean" } + } + }, "AttributeValue": { "type": "object", "properties": { diff --git a/spec/cli_v1_config.yaml b/spec/cli_v1_config.yaml index 1726e69d937..6f53e3deed6 100644 --- a/spec/cli_v1_config.yaml +++ b/spec/cli_v1_config.yaml @@ -260,7 +260,7 @@ parameters: links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' - + - id: 'auth.email.template.type.subject' title: 'auth.email.template..subject' tags: ['auth'] @@ -276,7 +276,7 @@ parameters: links: - name: 'Auth Server configuration' link: 'https://supabase.com/docs/reference/auth' - + - id: 'auth.email.template.type.content_path' title: 'auth.email.template..content_path' tags: ['auth'] diff --git a/spec/common-client-libs-sections.json b/spec/common-client-libs-sections.json index a9dc70aee0a..89a555a9952 100644 --- a/spec/common-client-libs-sections.json +++ b/spec/common-client-libs-sections.json @@ -415,6 +415,13 @@ "product": "auth", "type": "function" }, + { + "id": "sign-in-with-id-token", + "title": "Sign in with ID Token", + "slug": "auth-signinwithidtoken", + "product": "auth", + "type": "function" + }, { "id": "sign-in-with-otp", "title": "Sign in a user through OTP", diff --git a/spec/enrichments/tsdoc_v2/combined.json b/spec/enrichments/tsdoc_v2/combined.json index f1c8db966ee..52ac7ec07d1 100644 --- a/spec/enrichments/tsdoc_v2/combined.json +++ b/spec/enrichments/tsdoc_v2/combined.json @@ -16,7 +16,7 @@ "flags": {}, "children": [ { - "id": 195, + "id": 202, "name": "SupabaseClientOptions", "kind": 16777216, "kindString": "Reference", @@ -31,7 +31,7 @@ "target": 61 }, { - "id": 105, + "id": 106, "name": "SupabaseClient", "kind": 128, "kindString": "Class", @@ -42,7 +42,7 @@ }, "children": [ { - "id": 106, + "id": 107, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -56,7 +56,7 @@ ], "signatures": [ { - "id": 107, + "id": 108, "name": "new SupabaseClient", "kind": 16384, "kindString": "Constructor signature", @@ -66,7 +66,7 @@ }, "typeParameter": [ { - "id": 108, + "id": 109, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -77,7 +77,7 @@ } }, { - "id": 109, + "id": 110, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -97,7 +97,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -117,7 +117,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -126,14 +126,14 @@ } }, { - "id": 110, + "id": 111, "name": "Schema", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -142,18 +142,18 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { @@ -176,7 +176,7 @@ ], "parameters": [ { - "id": 111, + "id": 112, "name": "supabaseUrl", "kind": 32768, "kindString": "Parameter", @@ -190,7 +190,7 @@ } }, { - "id": 112, + "id": 113, "name": "supabaseKey", "kind": 32768, "kindString": "Parameter", @@ -204,7 +204,7 @@ } }, { - "id": 113, + "id": 114, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -217,7 +217,7 @@ "typeArguments": [ { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" } ], @@ -237,7 +237,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -300,6 +300,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -436,14 +459,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -500,7 +516,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -510,9 +526,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -526,7 +540,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -536,21 +550,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -563,7 +577,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -598,7 +612,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -611,7 +625,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -637,16 +651,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -654,7 +665,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -667,7 +678,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -683,12 +694,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -706,21 +712,21 @@ ], "type": { "type": "reference", - "id": 105, + "id": 106, "typeArguments": [ { "type": "reference", - "id": 108, + "id": 109, "name": "Database" }, { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" } ], @@ -730,7 +736,7 @@ ] }, { - "id": 114, + "id": 115, "name": "auth", "kind": 1024, "kindString": "Property", @@ -751,7 +757,7 @@ } }, { - "id": 117, + "id": 118, "name": "authUrl", "kind": 1024, "kindString": "Property", @@ -771,12 +777,13 @@ } }, { - "id": 127, + "id": 128, "name": "changedAccessToken", "kind": 1024, "kindString": "Property", "flags": { - "isProtected": true + "isProtected": true, + "isOptional": true }, "sources": [ { @@ -786,21 +793,12 @@ } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] + "type": "intrinsic", + "name": "string" } }, { - "id": 122, + "id": 123, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -818,21 +816,21 @@ "type": { "type": "reflection", "declaration": { - "id": 123, + "id": 124, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 124, + "id": 125, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 125, + "id": 126, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -856,7 +854,7 @@ } }, { - "id": 126, + "id": 127, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -891,7 +889,7 @@ } }, { - "id": 119, + "id": 120, "name": "functionsUrl", "kind": 1024, "kindString": "Property", @@ -911,7 +909,7 @@ } }, { - "id": 128, + "id": 129, "name": "headers", "kind": 1024, "kindString": "Property", @@ -928,20 +926,20 @@ "type": { "type": "reflection", "declaration": { - "id": 129, + "id": 130, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "indexSignature": { - "id": 130, + "id": 131, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 131, + "id": 132, "name": "key", "kind": 32768, "flags": {}, @@ -960,7 +958,7 @@ } }, { - "id": 115, + "id": 116, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -980,7 +978,7 @@ } }, { - "id": 116, + "id": 117, "name": "realtimeUrl", "kind": 1024, "kindString": "Property", @@ -1000,7 +998,7 @@ } }, { - "id": 120, + "id": 121, "name": "rest", "kind": 1024, "kindString": "Property", @@ -1019,12 +1017,12 @@ "typeArguments": [ { "type": "reference", - "id": 108, + "id": 109, "name": "Database" }, { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, { @@ -1033,12 +1031,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -1071,7 +1069,7 @@ } }, { - "id": 121, + "id": 122, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -1091,7 +1089,7 @@ } }, { - "id": 118, + "id": 119, "name": "storageUrl", "kind": 1024, "kindString": "Property", @@ -1111,7 +1109,7 @@ } }, { - "id": 133, + "id": 134, "name": "supabaseKey", "kind": 1024, "kindString": "Property", @@ -1124,7 +1122,7 @@ } }, { - "id": 132, + "id": 133, "name": "supabaseUrl", "kind": 1024, "kindString": "Property", @@ -1137,7 +1135,7 @@ } }, { - "id": 134, + "id": 135, "name": "functions", "kind": 262144, "kindString": "Accessor", @@ -1145,13 +1143,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 138, + "line": 132, "character": 6 } ], "getSignature": [ { - "id": 135, + "id": 136, "name": "functions", "kind": 524288, "kindString": "Get signature", @@ -1169,7 +1167,7 @@ ] }, { - "id": 136, + "id": 137, "name": "storage", "kind": 262144, "kindString": "Accessor", @@ -1177,13 +1175,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 148, + "line": 142, "character": 6 } ], "getSignature": [ { - "id": 137, + "id": 138, "name": "storage", "kind": 524288, "kindString": "Get signature", @@ -1201,7 +1199,7 @@ ] }, { - "id": 170, + "id": 177, "name": "_getAccessToken", "kind": 2048, "kindString": "Method", @@ -1211,13 +1209,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 235, + "line": 259, "character": 16 } ], "signatures": [ { - "id": 171, + "id": 178, "name": "_getAccessToken", "kind": 4096, "kindString": "Call signature", @@ -1247,7 +1245,7 @@ ] }, { - "id": 187, + "id": 194, "name": "_handleTokenChanged", "kind": 2048, "kindString": "Method", @@ -1257,20 +1255,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 284, + "line": 310, "character": 10 } ], "signatures": [ { - "id": 188, + "id": 195, "name": "_handleTokenChanged", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 189, + "id": 196, "name": "event", "kind": 32768, "kindString": "Parameter", @@ -1283,27 +1281,7 @@ } }, { - "id": 190, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 191, + "id": 197, "name": "source", "kind": 32768, "kindString": "Parameter", @@ -1321,6 +1299,19 @@ } ] } + }, + { + "id": 198, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } } ], "type": { @@ -1331,7 +1322,7 @@ ] }, { - "id": 181, + "id": 188, "name": "_initRealtimeClient", "kind": 2048, "kindString": "Method", @@ -1341,20 +1332,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 270, + "line": 296, "character": 10 } ], "signatures": [ { - "id": 182, + "id": 189, "name": "_initRealtimeClient", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 183, + "id": 190, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -1377,7 +1368,7 @@ ] }, { - "id": 172, + "id": 179, "name": "_initSupabaseAuthClient", "kind": 2048, "kindString": "Method", @@ -1387,20 +1378,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 241, + "line": 265, "character": 10 } ], "signatures": [ { - "id": 173, + "id": 180, "name": "_initSupabaseAuthClient", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 174, + "id": 181, "name": "__namedParameters", "kind": 32768, "kindString": "Parameter", @@ -1432,7 +1423,7 @@ } }, { - "id": 175, + "id": 182, "name": "headers", "kind": 32768, "kindString": "Parameter", @@ -1457,7 +1448,7 @@ } }, { - "id": 176, + "id": 183, "name": "fetch", "kind": 32768, "kindString": "Parameter", @@ -1467,21 +1458,21 @@ "type": { "type": "reflection", "declaration": { - "id": 177, + "id": 184, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 178, + "id": 185, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 179, + "id": 186, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -1505,7 +1496,7 @@ } }, { - "id": 180, + "id": 187, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -1548,7 +1539,7 @@ ] }, { - "id": 184, + "id": 191, "name": "_listenForAuthEvents", "kind": 2048, "kindString": "Method", @@ -1558,13 +1549,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 277, + "line": 303, "character": 10 } ], "signatures": [ { - "id": 185, + "id": 192, "name": "_listenForAuthEvents", "kind": 4096, "kindString": "Call signature", @@ -1572,7 +1563,7 @@ "type": { "type": "reflection", "declaration": { - "id": 186, + "id": 193, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -1583,7 +1574,7 @@ ] }, { - "id": 159, + "id": 166, "name": "channel", "kind": 2048, "kindString": "Method", @@ -1591,13 +1582,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 207, + "line": 231, "character": 2 } ], "signatures": [ { - "id": 160, + "id": 167, "name": "channel", "kind": 4096, "kindString": "Call signature", @@ -1607,7 +1598,7 @@ }, "parameters": [ { - "id": 161, + "id": 168, "name": "name", "kind": 32768, "kindString": "Parameter", @@ -1621,7 +1612,7 @@ } }, { - "id": 162, + "id": 169, "name": "opts", "kind": 32768, "kindString": "Parameter", @@ -1648,7 +1639,7 @@ ] }, { - "id": 138, + "id": 139, "name": "from", "kind": 2048, "kindString": "Method", @@ -1656,23 +1647,23 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 157, + "line": 146, "character": 2 } ], "signatures": [ { - "id": 139, + "id": 140, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Perform a table operation." + "shortText": "Perform a query on a table or a view." }, "typeParameter": [ { - "id": 140, + "id": 141, "name": "TableName", "kind": 131072, "kindString": "Type parameter", @@ -1683,28 +1674,31 @@ } }, { - "id": 141, + "id": 142, "name": "Table", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 80, + "id": 81, "name": "GenericTable" } } ], "parameters": [ { - "id": 142, + "id": 143, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "reference", - "id": 140, + "id": 141, "name": "TableName", "dereferenced": {} } @@ -1715,13 +1709,41 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "reference", - "id": 141, + "id": 142, "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 142, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 144, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1730,14 +1752,17 @@ } }, { - "id": 143, + "id": 145, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, "typeParameter": [ { - "id": 144, + "id": 146, "name": "ViewName", "kind": 131072, "kindString": "Type parameter", @@ -1748,28 +1773,31 @@ } }, { - "id": 145, + "id": 147, "name": "View", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 93, + "id": 94, "name": "GenericView" } } ], "parameters": [ { - "id": 146, + "id": 148, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "reference", - "id": 144, + "id": 146, "name": "ViewName", "dereferenced": {} } @@ -1780,13 +1808,41 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "reference", - "id": 145, + "id": 147, "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 147, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 149, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1795,18 +1851,24 @@ } }, { - "id": 147, + "id": 150, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, "parameters": [ { - "id": 148, + "id": 151, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "intrinsic", "name": "string" @@ -1818,12 +1880,16 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "intrinsic", "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1834,7 +1900,7 @@ ] }, { - "id": 163, + "id": 170, "name": "getChannels", "kind": 2048, "kindString": "Method", @@ -1842,13 +1908,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 214, + "line": 238, "character": 2 } ], "signatures": [ { - "id": 164, + "id": 171, "name": "getChannels", "kind": 4096, "kindString": "Call signature", @@ -1869,7 +1935,7 @@ ] }, { - "id": 168, + "id": 175, "name": "removeAllChannels", "kind": 2048, "kindString": "Method", @@ -1877,13 +1943,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 231, + "line": 255, "character": 2 } ], "signatures": [ { - "id": 169, + "id": 176, "name": "removeAllChannels", "kind": 4096, "kindString": "Call signature", @@ -1923,7 +1989,7 @@ ] }, { - "id": 165, + "id": 172, "name": "removeChannel", "kind": 2048, "kindString": "Method", @@ -1931,13 +1997,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 224, + "line": 248, "character": 2 } ], "signatures": [ { - "id": 166, + "id": 173, "name": "removeChannel", "kind": 4096, "kindString": "Call signature", @@ -1947,7 +2013,7 @@ }, "parameters": [ { - "id": 167, + "id": 174, "name": "channel", "kind": 32768, "kindString": "Parameter", @@ -1992,7 +2058,7 @@ ] }, { - "id": 149, + "id": 156, "name": "rpc", "kind": 2048, "kindString": "Method", @@ -2000,13 +2066,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 178, + "line": 202, "character": 2 } ], "signatures": [ { - "id": 150, + "id": 157, "name": "rpc", "kind": 4096, "kindString": "Call signature", @@ -2016,7 +2082,7 @@ }, "typeParameter": [ { - "id": 151, + "id": 158, "name": "FunctionName", "kind": 131072, "kindString": "Type parameter", @@ -2027,43 +2093,43 @@ } }, { - "id": 152, + "id": 159, "name": "Function_", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 94, + "id": 95, "name": "GenericFunction" } } ], "parameters": [ { - "id": 153, + "id": 160, "name": "fn", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The function name to call." + "shortText": "The function name to call" }, "type": { "type": "reference", - "id": 151, + "id": 158, "name": "FunctionName", "dereferenced": {} } }, { - "id": 154, + "id": 161, "name": "args", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The parameters to pass to the function call." + "shortText": "The arguments to pass to the function call" }, "type": { "type": "indexedAccess", @@ -2073,31 +2139,34 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } }, "defaultValue": "{}" }, { - "id": 155, + "id": 162, "name": "options", "kind": 32768, "kindString": "Parameter", "flags": { "isOptional": true }, + "comment": { + "shortText": "Named parameters" + }, "type": { "type": "reflection", "declaration": { - "id": 156, + "id": 163, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 158, + "id": 165, "name": "count", "kind": 1024, "kindString": "Property", @@ -2105,12 +2174,12 @@ "isOptional": true }, "comment": { - "shortText": "Count algorithm to use to count rows in a table.\n\n" + "shortText": "Count algorithm to use to count rows returned by the\nfunction. Only applicable for [set-returning\nfunctions](https://www.postgresql.org/docs/current/functions-srf.html).\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" }, "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 186, + "line": 210, "character": 6 } ], @@ -2133,7 +2202,7 @@ } }, { - "id": 157, + "id": 164, "name": "head", "kind": 1024, "kindString": "Property", @@ -2141,12 +2210,12 @@ "isOptional": true }, "comment": { - "shortText": "When set to true, no data will be returned." + "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count." }, "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 185, + "line": 209, "character": 6 } ], @@ -2160,10 +2229,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 158, - 157 - ] + "children": [165, 164] } ] } @@ -2175,7 +2241,7 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { @@ -2188,7 +2254,7 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } }, @@ -2264,9 +2330,13 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } + }, + { + "type": "intrinsic", + "name": "unknown" } ], "qualifiedName": "PostgrestFilterBuilder", @@ -2275,59 +2345,140 @@ } } ] + }, + { + "id": 152, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 171, + "character": 2 + } + ], + "signatures": [ + { + "id": 153, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a schema distinct from the default schema supplied via\nthe `options.db.schema` constructor parameter.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 154, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 155, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the schema to query\n" + }, + "type": { + "type": "reference", + "id": 154, + "name": "DynamicSchema", + "dereferenced": {} + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 109, + "name": "Database" + }, + { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "qualifiedName": "PostgrestClient", + "package": "@supabase/postgrest-js", + "name": "default" + } + } + ] } ], "groups": [ { "title": "Constructors", "kind": 512, - "children": [ - 106 - ] + "children": [107] }, { "title": "Properties", "kind": 1024, - "children": [ - 114, - 117, - 127, - 122, - 119, - 128, - 115, - 116, - 120, - 121, - 118, - 133, - 132 - ] + "children": [115, 118, 128, 123, 120, 129, 116, 117, 121, 122, 119, 134, 133] }, { "title": "Accessors", "kind": 262144, - "children": [ - 134, - 136 - ] + "children": [135, 137] }, { "title": "Methods", "kind": 2048, - "children": [ - 170, - 187, - 181, - 172, - 184, - 159, - 138, - 163, - 168, - 165, - 149 - ] + "children": [177, 194, 188, 179, 191, 166, 139, 170, 175, 172, 156, 152] } ], "sources": [ @@ -2339,7 +2490,7 @@ ], "typeParameter": [ { - "id": 192, + "id": 199, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -2350,7 +2501,7 @@ } }, { - "id": 193, + "id": 200, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -2367,7 +2518,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -2384,7 +2535,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -2404,7 +2555,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -2413,14 +2564,14 @@ } }, { - "id": 194, + "id": 201, "name": "Schema", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -2429,30 +2580,30 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -2556,7 +2707,7 @@ "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -2576,7 +2727,7 @@ }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { @@ -2654,7 +2805,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -2717,6 +2868,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -2853,14 +3027,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -2917,7 +3084,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -2927,9 +3094,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -2943,7 +3108,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -2953,21 +3118,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -2980,7 +3145,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -3015,7 +3180,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -3028,7 +3193,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -3054,16 +3219,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -3071,7 +3233,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -3084,7 +3246,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -3100,12 +3262,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -3123,7 +3280,7 @@ ], "type": { "type": "reference", - "id": 105, + "id": 106, "typeArguments": [ { "type": "reference", @@ -3151,23 +3308,17 @@ { "title": "References", "kind": 16777216, - "children": [ - 195 - ] + "children": [202] }, { "title": "Classes", "kind": 128, - "children": [ - 105 - ] + "children": [106] }, { "title": "Functions", "kind": 64, - "children": [ - 2 - ] + "children": [2] } ], "sources": [ @@ -3233,9 +3384,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 13 - ] + "children": [13] } ] } @@ -3247,9 +3396,7 @@ { "title": "Variables", "kind": 32, - "children": [ - 11 - ] + "children": [11] } ], "sources": [ @@ -3727,11 +3874,7 @@ { "title": "Functions", "kind": 64, - "children": [ - 29, - 15, - 26 - ] + "children": [29, 15, 26] } ], "sources": [ @@ -3864,7 +4007,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -3927,6 +4070,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -4063,14 +4229,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -4127,7 +4286,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -4137,9 +4296,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -4153,7 +4310,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -4163,21 +4320,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -4190,7 +4347,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -4225,7 +4382,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -4238,7 +4395,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -4264,16 +4421,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -4281,7 +4435,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -4294,7 +4448,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -4310,12 +4464,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -4361,7 +4510,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -4424,6 +4573,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -4560,14 +4732,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -4624,7 +4789,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -4634,9 +4799,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -4650,7 +4813,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -4660,21 +4823,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -4687,7 +4850,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -4722,7 +4885,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -4735,7 +4898,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -4761,16 +4924,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -4778,7 +4938,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -4791,7 +4951,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -4807,12 +4967,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -4942,12 +5097,7 @@ { "title": "Functions", "kind": 64, - "children": [ - 50, - 56, - 47, - 45 - ] + "children": [50, 56, 47, 45] } ], "sources": [ @@ -5010,7 +5160,7 @@ } }, { - "id": 94, + "id": 95, "name": "GenericFunction", "kind": 4194304, "kindString": "Type alias", @@ -5018,21 +5168,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 82, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 95, + "id": 96, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 96, + "id": 97, "name": "Args", "kind": 1024, "kindString": "Property", @@ -5040,7 +5190,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 79, + "line": 83, "character": 2 } ], @@ -5062,7 +5212,7 @@ } }, { - "id": 97, + "id": 98, "name": "Returns", "kind": 1024, "kindString": "Property", @@ -5070,7 +5220,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 80, + "line": 84, "character": 2 } ], @@ -5084,16 +5234,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 96, - 97 - ] + "children": [97, 98] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 82, "character": 30 } ] @@ -5101,7 +5248,7 @@ } }, { - "id": 90, + "id": 91, "name": "GenericNonUpdatableView", "kind": 4194304, "kindString": "Type alias", @@ -5109,25 +5256,418 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 76, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 91, + "id": 92, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 92, + "id": 93, "name": "Row", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 77, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 38 + } + ] + } + } + }, + { + "id": 99, + "name": "GenericSchema", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 100, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 103, + "name": "Functions", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 90, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 95, + "name": "GenericFunction" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 101, + "name": "Tables", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 88, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 81, + "name": "GenericTable" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 102, + "name": "Views", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 89, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 94, + "name": "GenericView" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [103, 101, 102] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 28 + } + ] + } + } + }, + { + "id": 81, + "name": "GenericTable", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 82, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 84, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 66, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 83, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 65, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 85, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 67, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [84, 83, 85] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 27 + } + ] + } + } + }, + { + "id": 86, + "name": "GenericUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 89, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 72, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 88, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 71, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 90, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", @@ -5157,420 +5697,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 92 - ] + "children": [89, 88, 90] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, - "character": 38 - } - ] - } - } - }, - { - "id": 98, - "name": "GenericSchema", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 99, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 102, - "name": "Functions", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 86, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 94, - "name": "GenericFunction" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 100, - "name": "Tables", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 84, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 80, - "name": "GenericTable" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 101, - "name": "Views", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 85, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 93, - "name": "GenericView" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 102, - 100, - 101 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 28 - } - ] - } - } - }, - { - "id": 80, - "name": "GenericTable", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 83, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 62, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 82, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 61, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 84, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 63, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 83, - 82, - 84 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 27 - } - ] - } - } - }, - { - "id": 85, - "name": "GenericUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 86, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 88, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 68, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 87, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 89, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 87, - 89 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, + "line": 70, "character": 35 } ] @@ -5578,7 +5711,7 @@ } }, { - "id": 93, + "id": 94, "name": "GenericView", "kind": 4194304, "kindString": "Type alias", @@ -5586,7 +5719,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 76, + "line": 80, "character": 12 } ], @@ -5594,7 +5727,7 @@ "type": "union", "types": [ { - "id": 85, + "id": 86, "name": "GenericUpdatableView", "kind": 4194304, "kindString": "Type alias", @@ -5602,21 +5735,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 66, + "line": 70, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 86, + "id": 87, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 88, + "id": 89, "name": "Insert", "kind": 1024, "kindString": "Property", @@ -5624,7 +5757,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 68, + "line": 72, "character": 2 } ], @@ -5646,7 +5779,7 @@ } }, { - "id": 87, + "id": 88, "name": "Row", "kind": 1024, "kindString": "Property", @@ -5654,7 +5787,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 67, + "line": 71, "character": 2 } ], @@ -5676,85 +5809,11 @@ } }, { - "id": 89, + "id": 90, "name": "Update", "kind": 1024, "kindString": "Property", "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 87, - 89 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 35 - } - ] - } - } - }, - { - "id": 90, - "name": "GenericNonUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 72, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 91, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 92, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", @@ -5784,15 +5843,83 @@ { "title": "Properties", "kind": 1024, - "children": [ - 92 - ] + "children": [89, 88, 90] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 70, + "character": 35 + } + ] + } + } + }, + { + "id": 91, + "name": "GenericNonUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 92, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 93, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 77, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, "character": 38 } ] @@ -5817,7 +5944,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -5880,6 +6007,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -6016,14 +6166,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -6080,7 +6223,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -6090,9 +6233,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -6106,7 +6247,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -6116,21 +6257,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -6143,7 +6284,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -6178,7 +6319,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -6191,7 +6332,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -6217,16 +6358,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -6234,7 +6372,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -6247,7 +6385,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -6263,12 +6401,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -6286,23 +6419,12 @@ { "title": "Interfaces", "kind": 256, - "children": [ - 59 - ] + "children": [59] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 60, - 94, - 90, - 98, - 80, - 85, - 93, - 61 - ] + "children": [60, 95, 91, 99, 81, 86, 94, 61] } ], "sources": [ @@ -6314,14 +6436,14 @@ ] }, { - "id": 103, + "id": 104, "name": "lib/version", "kind": 2, "kindString": "Module", "flags": {}, "children": [ { - "id": 104, + "id": 105, "name": "version", "kind": 32, "kindString": "Variable", @@ -6346,9 +6468,7 @@ { "title": "Variables", "kind": 32, - "children": [ - 104 - ] + "children": [105] } ], "sources": [ @@ -6364,14 +6484,7 @@ { "title": "Modules", "kind": 2, - "children": [ - 1, - 10, - 14, - 44, - 58, - 103 - ] + "children": [1, 10, 14, 44, 58, 104] } ] }, @@ -6384,14 +6497,14 @@ "originalName": "", "children": [ { - "id": 811, + "id": 964, "name": "AuthApiError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 812, + "id": 965, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -6405,14 +6518,14 @@ ], "signatures": [ { - "id": 813, + "id": 966, "name": "new AuthApiError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 814, + "id": 967, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -6423,7 +6536,7 @@ } }, { - "id": 815, + "id": 968, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -6436,24 +6549,24 @@ ], "type": { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 816, + "id": 969, "name": "status", "kind": 1024, "kindString": "Property", @@ -6471,12 +6584,12 @@ }, "overwrites": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } }, { - "id": 817, + "id": 970, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -6490,7 +6603,7 @@ ], "signatures": [ { - "id": 818, + "id": 971, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -6498,14 +6611,14 @@ "type": { "type": "reflection", "declaration": { - "id": 819, + "id": 972, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 821, + "id": 974, "name": "message", "kind": 1024, "kindString": "Property", @@ -6524,7 +6637,7 @@ "defaultValue": "..." }, { - "id": 820, + "id": 973, "name": "name", "kind": 1024, "kindString": "Property", @@ -6543,7 +6656,7 @@ "defaultValue": "..." }, { - "id": 822, + "id": 975, "name": "status", "kind": 1024, "kindString": "Property", @@ -6566,11 +6679,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 821, - 820, - 822 - ] + "children": [974, 973, 975] } ] } @@ -6583,23 +6692,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 812 - ] + "children": [965] }, { "title": "Properties", "kind": 1024, - "children": [ - 816 - ] + "children": [969] }, { "title": "Methods", "kind": 2048, - "children": [ - 817 - ] + "children": [970] } ], "sources": [ @@ -6612,20 +6715,20 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] }, { - "id": 804, + "id": 957, "name": "AuthError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 805, + "id": 958, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -6639,14 +6742,14 @@ ], "signatures": [ { - "id": 806, + "id": 959, "name": "new AuthError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 807, + "id": 960, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -6657,7 +6760,7 @@ } }, { - "id": 808, + "id": 961, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -6672,7 +6775,7 @@ ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" }, "overwrites": { @@ -6687,7 +6790,7 @@ } }, { - "id": 809, + "id": 962, "name": "status", "kind": 1024, "kindString": "Property", @@ -6718,16 +6821,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 805 - ] + "children": [958] }, { "title": "Properties", "kind": 1024, - "children": [ - 809 - ] + "children": [962] } ], "sources": [ @@ -6748,30 +6847,30 @@ "extendedBy": [ { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" }, { "type": "reference", - "id": 824, + "id": 977, "name": "AuthUnknownError" }, { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 873, + "id": 1038, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -6779,20 +6878,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 2 } ], "signatures": [ { - "id": 874, + "id": 1039, "name": "new AuthImplicitGrantRedirectError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 875, + "id": 1040, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -6803,7 +6902,7 @@ } }, { - "id": 876, + "id": 1041, "name": "details", "kind": 32768, "kindString": "Parameter", @@ -6818,14 +6917,14 @@ { "type": "reflection", "declaration": { - "id": 877, + "id": 1042, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 879, + "id": 1044, "name": "code", "kind": 1024, "kindString": "Property", @@ -6833,7 +6932,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 57 } ], @@ -6843,7 +6942,7 @@ } }, { - "id": 878, + "id": 1043, "name": "error", "kind": 1024, "kindString": "Property", @@ -6851,7 +6950,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 42 } ], @@ -6865,10 +6964,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 879, - 878 - ] + "children": [1044, 1043] } ] } @@ -6880,24 +6976,24 @@ ], "type": { "type": "reference", - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 880, + "id": 1045, "name": "details", "kind": 1024, "kindString": "Property", @@ -6905,7 +7001,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 2 } ], @@ -6919,14 +7015,14 @@ { "type": "reflection", "declaration": { - "id": 881, + "id": 1046, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 883, + "id": 1048, "name": "code", "kind": 1024, "kindString": "Property", @@ -6934,7 +7030,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 28 } ], @@ -6944,7 +7040,7 @@ } }, { - "id": 882, + "id": 1047, "name": "error", "kind": 1024, "kindString": "Property", @@ -6952,7 +7048,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 13 } ], @@ -6966,10 +7062,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 883, - 882 - ] + "children": [1048, 1047] } ] } @@ -6979,7 +7072,7 @@ "defaultValue": "null" }, { - "id": 894, + "id": 1059, "name": "name", "kind": 1024, "kindString": "Property", @@ -6997,12 +7090,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 895, + "id": 1060, "name": "status", "kind": 1024, "kindString": "Property", @@ -7020,12 +7113,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 884, + "id": 1049, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -7033,13 +7126,13 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 85, + "line": 91, "character": 2 } ], "signatures": [ { - "id": 885, + "id": 1050, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -7047,14 +7140,14 @@ "type": { "type": "reflection", "declaration": { - "id": 886, + "id": 1051, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 890, + "id": 1055, "name": "details", "kind": 1024, "kindString": "Property", @@ -7062,7 +7155,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 90, + "line": 96, "character": 6 } ], @@ -7076,14 +7169,14 @@ { "type": "reflection", "declaration": { - "id": 891, + "id": 1056, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 893, + "id": 1058, "name": "code", "kind": 1024, "kindString": "Property", @@ -7091,7 +7184,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 28 } ], @@ -7101,7 +7194,7 @@ } }, { - "id": 892, + "id": 1057, "name": "error", "kind": 1024, "kindString": "Property", @@ -7109,7 +7202,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 13 } ], @@ -7123,10 +7216,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 893, - 892 - ] + "children": [1058, 1057] } ] } @@ -7136,7 +7226,7 @@ "defaultValue": "..." }, { - "id": 888, + "id": 1053, "name": "message", "kind": 1024, "kindString": "Property", @@ -7144,7 +7234,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 88, + "line": 94, "character": 6 } ], @@ -7155,7 +7245,7 @@ "defaultValue": "..." }, { - "id": 887, + "id": 1052, "name": "name", "kind": 1024, "kindString": "Property", @@ -7163,7 +7253,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 87, + "line": 93, "character": 6 } ], @@ -7174,7 +7264,7 @@ "defaultValue": "..." }, { - "id": 889, + "id": 1054, "name": "status", "kind": 1024, "kindString": "Property", @@ -7182,7 +7272,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 89, + "line": 95, "character": 6 } ], @@ -7197,26 +7287,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 890, - 888, - 887, - 889 - ] + "children": [1055, 1053, 1052, 1054] } ] } }, "overwrites": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "overwrites": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -7225,25 +7310,263 @@ { "title": "Constructors", "kind": 512, - "children": [ - 873 - ] + "children": [1038] }, { "title": "Properties", "kind": 1024, - "children": [ - 880, - 894, - 895 - ] + "children": [1045, 1059, 1060] }, { "title": "Methods", "kind": 2048, - "children": [ - 884 - ] + "children": [1049] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 84, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1024, + "name": "AuthInvalidCredentialsError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1025, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 79, + "character": 2 + } + ], + "signatures": [ + { + "id": 1026, + "name": "new AuthInvalidCredentialsError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1027, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 1024, + "name": "AuthInvalidCredentialsError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1028, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1029, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1030, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1031, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1032, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1034, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1033, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1035, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1034, 1033, 1035] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1025] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1028, 1029] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1030] } ], "sources": [ @@ -7256,20 +7579,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 859, - "name": "AuthInvalidCredentialsError", + "id": 1012, + "name": "AuthInvalidTokenResponseError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 860, + "id": 1013, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -7283,44 +7606,31 @@ ], "signatures": [ { - "id": 861, - "name": "new AuthInvalidCredentialsError", + "id": 1014, + "name": "new AuthInvalidTokenResponseError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, - "parameters": [ - { - "id": 862, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], "type": { "type": "reference", - "id": 859, - "name": "AuthInvalidCredentialsError" + "id": 1012, + "name": "AuthInvalidTokenResponseError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 863, + "id": 1015, "name": "name", "kind": 1024, "kindString": "Property", @@ -7338,12 +7648,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 864, + "id": 1016, "name": "status", "kind": 1024, "kindString": "Property", @@ -7361,12 +7671,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 865, + "id": 1017, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -7380,7 +7690,7 @@ ], "signatures": [ { - "id": 866, + "id": 1018, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -7388,14 +7698,14 @@ "type": { "type": "reflection", "declaration": { - "id": 867, + "id": 1019, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 869, + "id": 1021, "name": "message", "kind": 1024, "kindString": "Property", @@ -7414,7 +7724,7 @@ "defaultValue": "..." }, { - "id": 868, + "id": 1020, "name": "name", "kind": 1024, "kindString": "Property", @@ -7433,7 +7743,7 @@ "defaultValue": "..." }, { - "id": 870, + "id": 1022, "name": "status", "kind": 1024, "kindString": "Property", @@ -7456,25 +7766,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 869, - 868, - 870 - ] + "children": [1021, 1020, 1022] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -7483,24 +7789,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 860 - ] + "children": [1013] }, { "title": "Properties", "kind": 1024, - "children": [ - 863, - 864 - ] + "children": [1015, 1016] }, { "title": "Methods", "kind": 2048, - "children": [ - 865 - ] + "children": [1017] } ], "sources": [ @@ -7513,20 +7812,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 898, + "id": 1063, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -7534,20 +7833,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 2 } ], "signatures": [ { - "id": 899, + "id": 1064, "name": "new AuthPKCEGrantCodeExchangeError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 900, + "id": 1065, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -7558,7 +7857,7 @@ } }, { - "id": 901, + "id": 1066, "name": "details", "kind": 32768, "kindString": "Parameter", @@ -7573,14 +7872,14 @@ { "type": "reflection", "declaration": { - "id": 902, + "id": 1067, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 904, + "id": 1069, "name": "code", "kind": 1024, "kindString": "Property", @@ -7588,7 +7887,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 57 } ], @@ -7598,7 +7897,7 @@ } }, { - "id": 903, + "id": 1068, "name": "error", "kind": 1024, "kindString": "Property", @@ -7606,7 +7905,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 42 } ], @@ -7620,10 +7919,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 904, - 903 - ] + "children": [1069, 1068] } ] } @@ -7635,24 +7931,24 @@ ], "type": { "type": "reference", - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 905, + "id": 1070, "name": "details", "kind": 1024, "kindString": "Property", @@ -7660,7 +7956,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 2 } ], @@ -7674,14 +7970,14 @@ { "type": "reflection", "declaration": { - "id": 906, + "id": 1071, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 908, + "id": 1073, "name": "code", "kind": 1024, "kindString": "Property", @@ -7689,7 +7985,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 28 } ], @@ -7699,7 +7995,7 @@ } }, { - "id": 907, + "id": 1072, "name": "error", "kind": 1024, "kindString": "Property", @@ -7707,7 +8003,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 13 } ], @@ -7721,10 +8017,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 908, - 907 - ] + "children": [1073, 1072] } ] } @@ -7734,7 +8027,7 @@ "defaultValue": "null" }, { - "id": 919, + "id": 1084, "name": "name", "kind": 1024, "kindString": "Property", @@ -7752,12 +8045,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 920, + "id": 1085, "name": "status", "kind": 1024, "kindString": "Property", @@ -7775,12 +8068,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 909, + "id": 1074, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -7788,13 +8081,13 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 102, + "line": 108, "character": 2 } ], "signatures": [ { - "id": 910, + "id": 1075, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -7802,14 +8095,14 @@ "type": { "type": "reflection", "declaration": { - "id": 911, + "id": 1076, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 915, + "id": 1080, "name": "details", "kind": 1024, "kindString": "Property", @@ -7817,7 +8110,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 107, + "line": 113, "character": 6 } ], @@ -7831,14 +8124,14 @@ { "type": "reflection", "declaration": { - "id": 916, + "id": 1081, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 918, + "id": 1083, "name": "code", "kind": 1024, "kindString": "Property", @@ -7846,7 +8139,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 28 } ], @@ -7856,7 +8149,7 @@ } }, { - "id": 917, + "id": 1082, "name": "error", "kind": 1024, "kindString": "Property", @@ -7864,7 +8157,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 13 } ], @@ -7878,10 +8171,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 918, - 917 - ] + "children": [1083, 1082] } ] } @@ -7891,7 +8181,7 @@ "defaultValue": "..." }, { - "id": 913, + "id": 1078, "name": "message", "kind": 1024, "kindString": "Property", @@ -7899,7 +8189,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 105, + "line": 111, "character": 6 } ], @@ -7910,7 +8200,7 @@ "defaultValue": "..." }, { - "id": 912, + "id": 1077, "name": "name", "kind": 1024, "kindString": "Property", @@ -7918,7 +8208,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 104, + "line": 110, "character": 6 } ], @@ -7929,7 +8219,7 @@ "defaultValue": "..." }, { - "id": 914, + "id": 1079, "name": "status", "kind": 1024, "kindString": "Property", @@ -7937,7 +8227,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 106, + "line": 112, "character": 6 } ], @@ -7952,26 +8242,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 915, - 913, - 912, - 914 - ] + "children": [1080, 1078, 1077, 1079] } ] } }, "overwrites": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "overwrites": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -7980,51 +8265,43 @@ { "title": "Constructors", "kind": 512, - "children": [ - 898 - ] + "children": [1063] }, { "title": "Properties", "kind": 1024, - "children": [ - 905, - 919, - 920 - ] + "children": [1070, 1084, 1085] }, { "title": "Methods", "kind": 2048, - "children": [ - 909 - ] + "children": [1074] } ], "sources": [ { "fileName": "src/lib/errors.ts", - "line": 95, + "line": 101, "character": 13 } ], "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 923, + "id": 1088, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -8032,20 +8309,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 113, + "line": 119, "character": 2 } ], "signatures": [ { - "id": 924, + "id": 1089, "name": "new AuthRetryableFetchError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 925, + "id": 1090, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -8056,7 +8333,7 @@ } }, { - "id": 926, + "id": 1091, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -8069,24 +8346,24 @@ ], "type": { "type": "reference", - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 927, + "id": 1092, "name": "name", "kind": 1024, "kindString": "Property", @@ -8104,12 +8381,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 928, + "id": 1093, "name": "status", "kind": 1024, "kindString": "Property", @@ -8127,12 +8404,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 929, + "id": 1094, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -8146,7 +8423,7 @@ ], "signatures": [ { - "id": 930, + "id": 1095, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -8154,14 +8431,14 @@ "type": { "type": "reflection", "declaration": { - "id": 931, + "id": 1096, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 933, + "id": 1098, "name": "message", "kind": 1024, "kindString": "Property", @@ -8180,7 +8457,7 @@ "defaultValue": "..." }, { - "id": 932, + "id": 1097, "name": "name", "kind": 1024, "kindString": "Property", @@ -8199,7 +8476,7 @@ "defaultValue": "..." }, { - "id": 934, + "id": 1099, "name": "status", "kind": 1024, "kindString": "Property", @@ -8222,25 +8499,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 933, - 932, - 934 - ] + "children": [1098, 1097, 1099] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -8249,50 +8522,43 @@ { "title": "Constructors", "kind": 512, - "children": [ - 923 - ] + "children": [1088] }, { "title": "Properties", "kind": 1024, - "children": [ - 927, - 928 - ] + "children": [1092, 1093] }, { "title": "Methods", "kind": 2048, - "children": [ - 929 - ] + "children": [1094] } ], "sources": [ { "fileName": "src/lib/errors.ts", - "line": 112, + "line": 118, "character": 13 } ], "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 847, + "id": 1000, "name": "AuthSessionMissingError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 848, + "id": 1001, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -8306,31 +8572,31 @@ ], "signatures": [ { - "id": 849, + "id": 1002, "name": "new AuthSessionMissingError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "type": { "type": "reference", - "id": 847, + "id": 1000, "name": "AuthSessionMissingError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 850, + "id": 1003, "name": "name", "kind": 1024, "kindString": "Property", @@ -8348,12 +8614,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 851, + "id": 1004, "name": "status", "kind": 1024, "kindString": "Property", @@ -8371,12 +8637,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 852, + "id": 1005, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -8390,7 +8656,7 @@ ], "signatures": [ { - "id": 853, + "id": 1006, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -8398,14 +8664,14 @@ "type": { "type": "reflection", "declaration": { - "id": 854, + "id": 1007, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 856, + "id": 1009, "name": "message", "kind": 1024, "kindString": "Property", @@ -8424,7 +8690,7 @@ "defaultValue": "..." }, { - "id": 855, + "id": 1008, "name": "name", "kind": 1024, "kindString": "Property", @@ -8443,7 +8709,7 @@ "defaultValue": "..." }, { - "id": 857, + "id": 1010, "name": "status", "kind": 1024, "kindString": "Property", @@ -8466,25 +8732,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 856, - 855, - 857 - ] + "children": [1009, 1008, 1010] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -8493,24 +8755,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 848 - ] + "children": [1001] }, { "title": "Properties", "kind": 1024, - "children": [ - 850, - 851 - ] + "children": [1003, 1004] }, { "title": "Methods", "kind": 2048, - "children": [ - 852 - ] + "children": [1005] } ], "sources": [ @@ -8523,20 +8778,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 824, + "id": 977, "name": "AuthUnknownError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 825, + "id": 978, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -8550,14 +8805,14 @@ ], "signatures": [ { - "id": 826, + "id": 979, "name": "new AuthUnknownError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 827, + "id": 980, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -8568,7 +8823,7 @@ } }, { - "id": 828, + "id": 981, "name": "originalError", "kind": 32768, "kindString": "Parameter", @@ -8581,24 +8836,24 @@ ], "type": { "type": "reference", - "id": 824, + "id": 977, "name": "AuthUnknownError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 829, + "id": 982, "name": "originalError", "kind": 1024, "kindString": "Property", @@ -8616,7 +8871,7 @@ } }, { - "id": 830, + "id": 983, "name": "status", "kind": 1024, "kindString": "Property", @@ -8643,7 +8898,7 @@ }, "inheritedFrom": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } } @@ -8652,17 +8907,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 825 - ] + "children": [978] }, { "title": "Properties", "kind": 1024, - "children": [ - 829, - 830 - ] + "children": [982, 983] } ], "sources": [ @@ -8675,20 +8925,20 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] }, { - "id": 832, + "id": 985, "name": "CustomAuthError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 833, + "id": 986, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -8702,14 +8952,14 @@ ], "signatures": [ { - "id": 834, + "id": 987, "name": "new CustomAuthError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 835, + "id": 988, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -8720,7 +8970,7 @@ } }, { - "id": 836, + "id": 989, "name": "name", "kind": 32768, "kindString": "Parameter", @@ -8731,7 +8981,7 @@ } }, { - "id": 837, + "id": 990, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -8744,24 +8994,24 @@ ], "type": { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 838, + "id": 991, "name": "name", "kind": 1024, "kindString": "Property", @@ -8783,7 +9033,7 @@ } }, { - "id": 839, + "id": 992, "name": "status", "kind": 1024, "kindString": "Property", @@ -8801,12 +9051,12 @@ }, "overwrites": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } }, { - "id": 840, + "id": 993, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -8820,7 +9070,7 @@ ], "signatures": [ { - "id": 841, + "id": 994, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -8828,14 +9078,14 @@ "type": { "type": "reflection", "declaration": { - "id": 842, + "id": 995, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 844, + "id": 997, "name": "message", "kind": 1024, "kindString": "Property", @@ -8854,7 +9104,7 @@ "defaultValue": "..." }, { - "id": 843, + "id": 996, "name": "name", "kind": 1024, "kindString": "Property", @@ -8873,7 +9123,7 @@ "defaultValue": "..." }, { - "id": 845, + "id": 998, "name": "status", "kind": 1024, "kindString": "Property", @@ -8896,11 +9146,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 844, - 843, - 845 - ] + "children": [997, 996, 998] } ] } @@ -8913,24 +9159,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 833 - ] + "children": [986] }, { "title": "Properties", "kind": 1024, - "children": [ - 838, - 839 - ] + "children": [991, 992] }, { "title": "Methods", "kind": 2048, - "children": [ - 840 - ] + "children": [993] } ], "sources": [ @@ -8943,34 +9182,39 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ], "extendedBy": [ { "type": "reference", - "id": 847, + "id": 1000, "name": "AuthSessionMissingError" }, { "type": "reference", - "id": 859, + "id": 1012, + "name": "AuthInvalidTokenResponseError" + }, + { + "type": "reference", + "id": 1024, "name": "AuthInvalidCredentialsError" }, { "type": "reference", - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError" }, { "type": "reference", - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError" }, { "type": "reference", - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError" } ] @@ -9180,11 +9424,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 11, - 7, - 6 - ] + "children": [11, 7, 6] } ] } @@ -9217,10 +9457,10 @@ ], "type": { "type": "reference", - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "dereferenced": { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -9236,14 +9476,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -9263,17 +9503,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -9289,21 +9529,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -9314,7 +9554,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -9324,7 +9564,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -9335,7 +9575,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -9349,16 +9589,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -9373,7 +9610,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -9385,14 +9622,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -9402,17 +9639,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -9428,21 +9665,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -9453,7 +9690,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -9467,15 +9704,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -9490,7 +9725,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -9506,16 +9741,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] @@ -9523,7 +9755,7 @@ } }, { - "id": 43, + "id": 44, "name": "createUser", "kind": 2048, "kindString": "Method", @@ -9531,13 +9763,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 148, + "line": 152, "character": 8 } ], "signatures": [ { - "id": 44, + "id": 45, "name": "createUser", "kind": 4096, "kindString": "Call signature", @@ -9547,24 +9779,24 @@ }, "parameters": [ { - "id": 45, + "id": 46, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -9578,7 +9810,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -9588,7 +9820,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -9602,7 +9834,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -9612,7 +9844,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -9625,7 +9857,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -9639,7 +9871,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -9653,7 +9885,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -9663,7 +9895,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -9677,7 +9909,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -9691,7 +9923,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -9704,7 +9936,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -9718,7 +9950,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -9731,7 +9963,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -9745,7 +9977,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -9759,7 +9991,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -9769,7 +10001,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -9783,7 +10015,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -9797,23 +10029,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -9823,7 +10045,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -9845,7 +10067,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -9857,7 +10079,7 @@ ] }, { - "id": 67, + "id": 68, "name": "deleteUser", "kind": 2048, "kindString": "Method", @@ -9865,13 +10087,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 264, + "line": 268, "character": 8 } ], "signatures": [ { - "id": 68, + "id": 69, "name": "deleteUser", "kind": 4096, "kindString": "Call signature", @@ -9881,7 +10103,7 @@ }, "parameters": [ { - "id": 69, + "id": 70, "name": "id", "kind": 32768, "kindString": "Parameter", @@ -9895,7 +10117,7 @@ } }, { - "id": 70, + "id": 71, "name": "shouldSoftDelete", "kind": 32768, "kindString": "Parameter", @@ -9915,7 +10137,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -9927,7 +10149,7 @@ ] }, { - "id": 40, + "id": 41, "name": "generateLink", "kind": 2048, "kindString": "Method", @@ -9935,13 +10157,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 114, + "line": 118, "character": 8 } ], "signatures": [ { - "id": 41, + "id": 42, "name": "generateLink", "kind": 4096, "kindString": "Call signature", @@ -9951,17 +10173,17 @@ }, "parameters": [ { - "id": 42, + "id": 43, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 613, + "id": 760, "name": "GenerateLinkParams", "dereferenced": { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -9969,7 +10191,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -9977,7 +10199,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -9985,21 +10207,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -10007,7 +10229,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -10017,7 +10239,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -10027,7 +10249,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -10036,7 +10258,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -10059,7 +10281,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -10067,7 +10289,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -10077,7 +10299,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -10085,7 +10307,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -10099,18 +10321,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -10118,7 +10335,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -10126,21 +10343,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -10151,7 +10368,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -10161,7 +10378,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -10171,7 +10388,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -10180,7 +10397,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -10203,7 +10420,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -10211,7 +10428,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -10234,17 +10451,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -10252,7 +10465,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -10260,21 +10473,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -10285,7 +10498,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -10295,7 +10508,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -10305,7 +10518,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -10314,7 +10527,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -10328,7 +10541,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -10336,7 +10549,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -10350,17 +10563,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -10368,7 +10577,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -10376,21 +10585,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -10401,7 +10610,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -10411,7 +10620,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -10422,7 +10631,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -10432,7 +10641,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -10442,7 +10651,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -10451,7 +10660,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -10465,7 +10674,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -10473,7 +10682,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -10496,18 +10705,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -10525,7 +10729,7 @@ "typeArguments": [ { "type": "reference", - "id": 614, + "id": 761, "name": "GenerateLinkResponse" } ], @@ -10537,7 +10741,7 @@ ] }, { - "id": 60, + "id": 61, "name": "getUserById", "kind": 2048, "kindString": "Method", @@ -10545,13 +10749,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 217, + "line": 221, "character": 8 } ], "signatures": [ { - "id": 61, + "id": 62, "name": "getUserById", "kind": 4096, "kindString": "Call signature", @@ -10561,7 +10765,7 @@ }, "parameters": [ { - "id": 62, + "id": 63, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -10580,7 +10784,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -10592,7 +10796,7 @@ ] }, { - "id": 33, + "id": 34, "name": "inviteUserByEmail", "kind": 2048, "kindString": "Method", @@ -10600,13 +10804,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 81, + "line": 85, "character": 8 } ], "signatures": [ { - "id": 34, + "id": 35, "name": "inviteUserByEmail", "kind": 4096, "kindString": "Call signature", @@ -10616,7 +10820,7 @@ }, "parameters": [ { - "id": 35, + "id": 36, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -10630,7 +10834,7 @@ } }, { - "id": 36, + "id": 37, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -10641,14 +10845,14 @@ "type": { "type": "reflection", "declaration": { - "id": 37, + "id": 38, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 38, + "id": 39, "name": "data", "kind": 1024, "kindString": "Property", @@ -10661,7 +10865,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 85, + "line": 89, "character": 6 } ], @@ -10671,7 +10875,7 @@ } }, { - "id": 39, + "id": 40, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -10684,7 +10888,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 88, + "line": 92, "character": 6 } ], @@ -10698,10 +10902,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [39, 40] } ] } @@ -10714,7 +10915,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -10726,7 +10927,7 @@ ] }, { - "id": 46, + "id": 47, "name": "listUsers", "kind": 2048, "kindString": "Method", @@ -10734,13 +10935,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 170, + "line": 174, "character": 8 } ], "signatures": [ { - "id": 47, + "id": 48, "name": "listUsers", "kind": 4096, "kindString": "Call signature", @@ -10751,7 +10952,7 @@ }, "parameters": [ { - "id": 48, + "id": 49, "name": "params", "kind": 32768, "kindString": "Parameter", @@ -10763,10 +10964,10 @@ }, "type": { "type": "reference", - "id": 794, + "id": 941, "name": "PageParams", "dereferenced": { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -10774,21 +10975,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -10801,7 +11002,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -10811,7 +11012,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -10824,7 +11025,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -10838,16 +11039,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -10866,14 +11064,14 @@ { "type": "reflection", "declaration": { - "id": 49, + "id": 50, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 50, + "id": 51, "name": "data", "kind": 1024, "kindString": "Property", @@ -10881,7 +11079,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 8 } ], @@ -10891,14 +11089,14 @@ { "type": "reflection", "declaration": { - "id": 51, + "id": 52, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 53, + "id": 54, "name": "aud", "kind": 1024, "kindString": "Property", @@ -10906,7 +11104,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 31 } ], @@ -10916,7 +11114,7 @@ } }, { - "id": 52, + "id": 53, "name": "users", "kind": 1024, "kindString": "Property", @@ -10924,7 +11122,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 16 } ], @@ -10932,7 +11130,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -10942,24 +11140,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 53, - 52 - ] + "children": [54, 53] } ] } }, { "type": "reference", - "id": 787, + "id": 934, "name": "Pagination" } ] } }, { - "id": 54, + "id": 55, "name": "error", "kind": 1024, "kindString": "Property", @@ -10967,7 +11162,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 59 } ], @@ -10981,10 +11176,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 54 - ] + "children": [51, 55] } ] } @@ -10992,14 +11184,14 @@ { "type": "reflection", "declaration": { - "id": 55, + "id": 56, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 56, + "id": 57, "name": "data", "kind": 1024, "kindString": "Property", @@ -11007,21 +11199,21 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 57, + "id": 58, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 58, + "id": 59, "name": "users", "kind": 1024, "kindString": "Property", @@ -11029,7 +11221,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 16 } ], @@ -11042,16 +11234,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 58 - ] + "children": [59] } ] } } }, { - "id": 59, + "id": 60, "name": "error", "kind": 1024, "kindString": "Property", @@ -11059,13 +11249,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 29 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -11074,10 +11264,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 56, - 59 - ] + "children": [57, 60] } ] } @@ -11101,7 +11288,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, + "line": 60, "character": 8 } ], @@ -11123,12 +11310,40 @@ "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "A valid, logged-in JWT.\n" + "shortText": "A valid, logged-in JWT." }, "type": { "type": "intrinsic", "name": "string" } + }, + { + "id": 30, + "name": "scope", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The logout sope.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + }, + "defaultValue": "'global'" } ], "type": { @@ -11137,14 +11352,14 @@ { "type": "reflection", "declaration": { - "id": 30, + "id": 31, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 31, + "id": 32, "name": "data", "kind": 1024, "kindString": "Property", @@ -11152,8 +11367,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 40 + "line": 63, + "character": 15 } ], "type": { @@ -11162,7 +11377,7 @@ } }, { - "id": 32, + "id": 33, "name": "error", "kind": 1024, "kindString": "Property", @@ -11170,8 +11385,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 52 + "line": 63, + "character": 27 } ], "type": { @@ -11183,7 +11398,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -11194,10 +11409,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 31, - 32 - ] + "children": [32, 33] } ] } @@ -11211,7 +11423,7 @@ ] }, { - "id": 63, + "id": 64, "name": "updateUserById", "kind": 2048, "kindString": "Method", @@ -11219,13 +11431,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 239, + "line": 243, "character": 8 } ], "signatures": [ { - "id": 64, + "id": 65, "name": "updateUserById", "kind": 4096, "kindString": "Call signature", @@ -11235,7 +11447,7 @@ }, "parameters": [ { - "id": 65, + "id": 66, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -11246,7 +11458,7 @@ } }, { - "id": 66, + "id": 67, "name": "attributes", "kind": 32768, "kindString": "Parameter", @@ -11256,17 +11468,17 @@ }, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -11280,7 +11492,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -11290,7 +11502,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -11304,7 +11516,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -11314,7 +11526,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -11327,7 +11539,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -11341,7 +11553,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -11355,7 +11567,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -11365,7 +11577,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -11379,7 +11591,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -11393,7 +11605,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -11406,7 +11618,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -11420,7 +11632,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -11433,7 +11645,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -11447,7 +11659,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -11461,7 +11673,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -11471,7 +11683,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -11485,7 +11697,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -11499,23 +11711,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -11525,7 +11727,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -11547,7 +11749,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -11563,30 +11765,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 16 - ] + "children": [16] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 67, - 40, - 60, - 33, - 46, - 27, - 63 - ] + "children": [44, 68, 41, 61, 34, 47, 27, 64] } ], "sources": [ @@ -11598,14 +11787,14 @@ ] }, { - "id": 77, + "id": 78, "name": "GoTrueClient", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 78, + "id": 80, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -11613,13 +11802,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 145, + "line": 167, "character": 2 } ], "signatures": [ { - "id": 79, + "id": 81, "name": "new GoTrueClient", "kind": 16384, "kindString": "Constructor signature", @@ -11629,17 +11818,17 @@ }, "parameters": [ { - "id": 80, + "id": 82, "name": "options", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "dereferenced": { - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "kind": 4194304, "kindString": "Type alias", @@ -11647,21 +11836,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 329, + "id": 441, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 337, + "id": 449, "name": "autoRefreshToken", "kind": 1024, "kindString": "Property", @@ -11671,7 +11860,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 45, + "line": 64, "character": 2 } ], @@ -11681,7 +11870,27 @@ } }, { - "id": 336, + "id": 454, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 448, "name": "detectSessionInUrl", "kind": 1024, "kindString": "Property", @@ -11691,7 +11900,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 43, + "line": 62, "character": 2 } ], @@ -11701,7 +11910,7 @@ } }, { - "id": 340, + "id": 452, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -11711,7 +11920,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 51, + "line": 70, "character": 2 } ], @@ -11721,7 +11930,7 @@ } }, { - "id": 341, + "id": 453, "name": "flowType", "kind": 1024, "kindString": "Property", @@ -11731,16 +11940,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 53, + "line": 72, "character": 2 } ], "type": { "type": "reference", - "id": 522, + "id": 664, "name": "AuthFlowType", "dereferenced": { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -11748,7 +11957,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -11769,7 +11978,7 @@ } }, { - "id": 331, + "id": 443, "name": "headers", "kind": 1024, "kindString": "Property", @@ -11779,14 +11988,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 332, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -11794,19 +12003,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 12 } ], "indexSignature": { - "id": 333, + "id": 445, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 334, + "id": 446, "name": "key", "kind": 32768, "flags": {}, @@ -11825,7 +12034,187 @@ } }, { - "id": 338, + "id": 455, + "name": "lock", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Provide your own locking mechanism based on the environment. By default no locking is done at this time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 431, + "name": "LockFunc", + "dereferenced": { + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + } + }, + { + "id": 450, "name": "persistSession", "kind": 1024, "kindString": "Property", @@ -11835,7 +12224,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 66, "character": 2 } ], @@ -11845,7 +12234,7 @@ } }, { - "id": 339, + "id": 451, "name": "storage", "kind": 1024, "kindString": "Property", @@ -11855,16 +12244,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 49, + "line": 68, "character": 2 } ], "type": { "type": "reference", - "id": 776, + "id": 923, "name": "SupportedStorage", "dereferenced": { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -11872,7 +12261,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -11917,7 +12306,7 @@ } }, { - "id": 335, + "id": 447, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -11927,7 +12316,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 41, + "line": 60, "character": 2 } ], @@ -11937,7 +12326,7 @@ } }, { - "id": 330, + "id": 442, "name": "url", "kind": 1024, "kindString": "Property", @@ -11947,7 +12336,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 37, + "line": 56, "character": 2 } ], @@ -11962,22 +12351,14 @@ "title": "Properties", "kind": 1024, "children": [ - 337, - 336, - 340, - 341, - 331, - 338, - 339, - 335, - 330 + 449, 454, 448, 452, 453, 443, 455, 450, 451, 447, 442 ] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 34 } ] @@ -11989,14 +12370,14 @@ ], "type": { "type": "reference", - "id": 77, + "id": 78, "name": "default" } } ] }, { - "id": 81, + "id": 84, "name": "admin", "kind": 1024, "kindString": "Property", @@ -12007,7 +12388,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 98, + "line": 115, "character": 2 } ], @@ -12220,11 +12601,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 11, - 7, - 6 - ] + "children": [11, 7, 6] } ] } @@ -12257,10 +12634,10 @@ ], "type": { "type": "reference", - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "dereferenced": { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -12276,14 +12653,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -12303,17 +12680,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -12329,21 +12706,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -12354,7 +12731,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -12364,7 +12741,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -12375,7 +12752,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -12389,16 +12766,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -12413,7 +12787,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -12425,14 +12799,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -12442,17 +12816,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -12468,21 +12842,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -12493,7 +12867,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -12507,15 +12881,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -12530,7 +12902,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -12546,16 +12918,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] @@ -12563,7 +12932,7 @@ } }, { - "id": 43, + "id": 44, "name": "createUser", "kind": 2048, "kindString": "Method", @@ -12571,13 +12940,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 148, + "line": 152, "character": 8 } ], "signatures": [ { - "id": 44, + "id": 45, "name": "createUser", "kind": 4096, "kindString": "Call signature", @@ -12587,24 +12956,24 @@ }, "parameters": [ { - "id": 45, + "id": 46, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -12618,7 +12987,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -12628,7 +12997,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -12642,7 +13011,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -12652,7 +13021,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -12665,7 +13034,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -12679,7 +13048,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -12693,7 +13062,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -12703,7 +13072,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -12717,7 +13086,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -12731,7 +13100,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -12744,7 +13113,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -12758,7 +13127,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -12771,7 +13140,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -12785,7 +13154,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -12799,7 +13168,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -12809,7 +13178,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -12823,7 +13192,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -12837,23 +13206,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -12863,7 +13222,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -12885,7 +13244,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -12897,7 +13256,7 @@ ] }, { - "id": 67, + "id": 68, "name": "deleteUser", "kind": 2048, "kindString": "Method", @@ -12905,13 +13264,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 264, + "line": 268, "character": 8 } ], "signatures": [ { - "id": 68, + "id": 69, "name": "deleteUser", "kind": 4096, "kindString": "Call signature", @@ -12921,7 +13280,7 @@ }, "parameters": [ { - "id": 69, + "id": 70, "name": "id", "kind": 32768, "kindString": "Parameter", @@ -12935,7 +13294,7 @@ } }, { - "id": 70, + "id": 71, "name": "shouldSoftDelete", "kind": 32768, "kindString": "Parameter", @@ -12955,7 +13314,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -12967,7 +13326,7 @@ ] }, { - "id": 40, + "id": 41, "name": "generateLink", "kind": 2048, "kindString": "Method", @@ -12975,13 +13334,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 114, + "line": 118, "character": 8 } ], "signatures": [ { - "id": 41, + "id": 42, "name": "generateLink", "kind": 4096, "kindString": "Call signature", @@ -12991,17 +13350,17 @@ }, "parameters": [ { - "id": 42, + "id": 43, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 613, + "id": 760, "name": "GenerateLinkParams", "dereferenced": { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -13009,7 +13368,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -13017,7 +13376,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -13025,21 +13384,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -13047,7 +13406,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -13057,7 +13416,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -13067,7 +13426,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -13076,7 +13435,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -13099,7 +13458,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -13107,7 +13466,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -13117,7 +13476,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -13125,7 +13484,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -13139,18 +13498,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -13158,7 +13512,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -13166,21 +13520,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -13191,7 +13545,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -13201,7 +13555,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -13211,7 +13565,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -13220,7 +13574,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -13243,7 +13597,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -13251,7 +13605,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -13274,17 +13628,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -13292,7 +13642,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -13300,21 +13650,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -13325,7 +13675,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -13335,7 +13685,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -13345,7 +13695,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -13354,7 +13704,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -13368,7 +13718,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -13376,7 +13726,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -13390,17 +13740,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -13408,7 +13754,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -13416,21 +13762,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -13441,7 +13787,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -13451,7 +13797,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -13462,7 +13808,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -13472,7 +13818,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -13482,7 +13828,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -13491,7 +13837,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -13505,7 +13851,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -13513,7 +13859,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -13536,18 +13882,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -13565,7 +13906,7 @@ "typeArguments": [ { "type": "reference", - "id": 614, + "id": 761, "name": "GenerateLinkResponse" } ], @@ -13577,7 +13918,7 @@ ] }, { - "id": 60, + "id": 61, "name": "getUserById", "kind": 2048, "kindString": "Method", @@ -13585,13 +13926,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 217, + "line": 221, "character": 8 } ], "signatures": [ { - "id": 61, + "id": 62, "name": "getUserById", "kind": 4096, "kindString": "Call signature", @@ -13601,7 +13942,7 @@ }, "parameters": [ { - "id": 62, + "id": 63, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -13620,7 +13961,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -13632,7 +13973,7 @@ ] }, { - "id": 33, + "id": 34, "name": "inviteUserByEmail", "kind": 2048, "kindString": "Method", @@ -13640,13 +13981,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 81, + "line": 85, "character": 8 } ], "signatures": [ { - "id": 34, + "id": 35, "name": "inviteUserByEmail", "kind": 4096, "kindString": "Call signature", @@ -13656,7 +13997,7 @@ }, "parameters": [ { - "id": 35, + "id": 36, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -13670,7 +14011,7 @@ } }, { - "id": 36, + "id": 37, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13681,14 +14022,14 @@ "type": { "type": "reflection", "declaration": { - "id": 37, + "id": 38, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 38, + "id": 39, "name": "data", "kind": 1024, "kindString": "Property", @@ -13701,7 +14042,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 85, + "line": 89, "character": 6 } ], @@ -13711,7 +14052,7 @@ } }, { - "id": 39, + "id": 40, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -13724,7 +14065,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 88, + "line": 92, "character": 6 } ], @@ -13738,10 +14079,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [39, 40] } ] } @@ -13754,7 +14092,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -13766,7 +14104,7 @@ ] }, { - "id": 46, + "id": 47, "name": "listUsers", "kind": 2048, "kindString": "Method", @@ -13774,13 +14112,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 170, + "line": 174, "character": 8 } ], "signatures": [ { - "id": 47, + "id": 48, "name": "listUsers", "kind": 4096, "kindString": "Call signature", @@ -13791,7 +14129,7 @@ }, "parameters": [ { - "id": 48, + "id": 49, "name": "params", "kind": 32768, "kindString": "Parameter", @@ -13803,10 +14141,10 @@ }, "type": { "type": "reference", - "id": 794, + "id": 941, "name": "PageParams", "dereferenced": { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -13814,21 +14152,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -13841,7 +14179,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -13851,7 +14189,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -13864,7 +14202,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -13878,16 +14216,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -13906,14 +14241,14 @@ { "type": "reflection", "declaration": { - "id": 49, + "id": 50, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 50, + "id": 51, "name": "data", "kind": 1024, "kindString": "Property", @@ -13921,7 +14256,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 8 } ], @@ -13931,14 +14266,14 @@ { "type": "reflection", "declaration": { - "id": 51, + "id": 52, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 53, + "id": 54, "name": "aud", "kind": 1024, "kindString": "Property", @@ -13946,7 +14281,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 31 } ], @@ -13956,7 +14291,7 @@ } }, { - "id": 52, + "id": 53, "name": "users", "kind": 1024, "kindString": "Property", @@ -13964,7 +14299,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 16 } ], @@ -13972,7 +14307,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -13982,24 +14317,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 53, - 52 - ] + "children": [54, 53] } ] } }, { "type": "reference", - "id": 787, + "id": 934, "name": "Pagination" } ] } }, { - "id": 54, + "id": 55, "name": "error", "kind": 1024, "kindString": "Property", @@ -14007,7 +14339,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 59 } ], @@ -14021,10 +14353,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 54 - ] + "children": [51, 55] } ] } @@ -14032,14 +14361,14 @@ { "type": "reflection", "declaration": { - "id": 55, + "id": 56, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 56, + "id": 57, "name": "data", "kind": 1024, "kindString": "Property", @@ -14047,21 +14376,21 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 57, + "id": 58, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 58, + "id": 59, "name": "users", "kind": 1024, "kindString": "Property", @@ -14069,7 +14398,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 16 } ], @@ -14082,16 +14411,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 58 - ] + "children": [59] } ] } } }, { - "id": 59, + "id": 60, "name": "error", "kind": 1024, "kindString": "Property", @@ -14099,13 +14426,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 29 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -14114,10 +14441,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 56, - 59 - ] + "children": [57, 60] } ] } @@ -14141,7 +14465,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, + "line": 60, "character": 8 } ], @@ -14163,12 +14487,40 @@ "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "A valid, logged-in JWT.\n" + "shortText": "A valid, logged-in JWT." }, "type": { "type": "intrinsic", "name": "string" } + }, + { + "id": 30, + "name": "scope", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The logout sope.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + }, + "defaultValue": "'global'" } ], "type": { @@ -14177,14 +14529,14 @@ { "type": "reflection", "declaration": { - "id": 30, + "id": 31, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 31, + "id": 32, "name": "data", "kind": 1024, "kindString": "Property", @@ -14192,8 +14544,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 40 + "line": 63, + "character": 15 } ], "type": { @@ -14202,7 +14554,7 @@ } }, { - "id": 32, + "id": 33, "name": "error", "kind": 1024, "kindString": "Property", @@ -14210,8 +14562,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 52 + "line": 63, + "character": 27 } ], "type": { @@ -14223,7 +14575,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -14234,10 +14586,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 31, - 32 - ] + "children": [32, 33] } ] } @@ -14251,7 +14600,7 @@ ] }, { - "id": 63, + "id": 64, "name": "updateUserById", "kind": 2048, "kindString": "Method", @@ -14259,13 +14608,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 239, + "line": 243, "character": 8 } ], "signatures": [ { - "id": 64, + "id": 65, "name": "updateUserById", "kind": 4096, "kindString": "Call signature", @@ -14275,7 +14624,7 @@ }, "parameters": [ { - "id": 65, + "id": 66, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -14286,7 +14635,7 @@ } }, { - "id": 66, + "id": 67, "name": "attributes", "kind": 32768, "kindString": "Parameter", @@ -14296,17 +14645,17 @@ }, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -14320,7 +14669,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -14330,7 +14679,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -14344,7 +14693,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -14354,7 +14703,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -14367,7 +14716,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -14381,7 +14730,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -14395,7 +14744,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -14405,7 +14754,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -14419,7 +14768,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -14433,7 +14782,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -14446,7 +14795,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -14460,7 +14809,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -14473,7 +14822,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -14487,7 +14836,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -14501,7 +14850,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -14511,7 +14860,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -14525,7 +14874,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -14539,23 +14888,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -14565,7 +14904,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -14587,7 +14926,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -14603,30 +14942,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 16 - ] + "children": [16] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 67, - 40, - 60, - 33, - 46, - 27, - 63 - ] + "children": [44, 68, 41, 61, 34, 47, 27, 64] } ], "sources": [ @@ -14640,7 +14966,7 @@ } }, { - "id": 82, + "id": 85, "name": "mfa", "kind": 1024, "kindString": "Property", @@ -14651,16 +14977,16 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 102, + "line": 119, "character": 2 } ], "type": { "type": "reference", - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "dereferenced": { - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "kind": 256, "kindString": "Interface", @@ -14670,14 +14996,14 @@ }, "children": [ { - "id": 728, + "id": 875, "name": "challenge", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 729, + "id": 876, "name": "challenge", "kind": 4096, "kindString": "Call signature", @@ -14687,17 +15013,17 @@ }, "parameters": [ { - "id": 730, + "id": 877, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 648, + "id": 795, "name": "MFAChallengeParams", "dereferenced": { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -14705,21 +15031,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -14730,7 +15056,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -14744,15 +15070,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -14767,7 +15091,7 @@ "typeArguments": [ { "type": "reference", - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse" } ], @@ -14779,14 +15103,14 @@ ] }, { - "id": 737, + "id": 884, "name": "challengeAndVerify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 738, + "id": 885, "name": "challengeAndVerify", "kind": 4096, "kindString": "Call signature", @@ -14796,17 +15120,17 @@ }, "parameters": [ { - "id": 739, + "id": 886, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "dereferenced": { - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -14814,21 +15138,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -14839,7 +15163,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -14849,7 +15173,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -14860,7 +15184,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -14874,16 +15198,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -14898,7 +15219,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -14910,14 +15231,14 @@ ] }, { - "id": 725, + "id": 872, "name": "enroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 726, + "id": 873, "name": "enroll", "kind": 4096, "kindString": "Call signature", @@ -14928,17 +15249,17 @@ }, "parameters": [ { - "id": 727, + "id": 874, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 635, + "id": 782, "name": "MFAEnrollParams", "dereferenced": { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -14946,21 +15267,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -14971,7 +15292,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -14981,7 +15302,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -14994,7 +15315,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -15004,7 +15325,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -15017,7 +15338,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -15031,17 +15352,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -15056,7 +15373,7 @@ "typeArguments": [ { "type": "reference", - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse" } ], @@ -15068,14 +15385,14 @@ ] }, { - "id": 742, + "id": 889, "name": "getAuthenticatorAssuranceLevel", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 743, + "id": 890, "name": "getAuthenticatorAssuranceLevel", "kind": 4096, "kindString": "Call signature", @@ -15089,7 +15406,7 @@ "typeArguments": [ { "type": "reference", - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" } ], @@ -15101,14 +15418,14 @@ ] }, { - "id": 740, + "id": 887, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 741, + "id": 888, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -15135,7 +15452,7 @@ "typeArguments": [ { "type": "reference", - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse" } ], @@ -15147,14 +15464,14 @@ ] }, { - "id": 734, + "id": 881, "name": "unenroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 735, + "id": 882, "name": "unenroll", "kind": 4096, "kindString": "Call signature", @@ -15164,17 +15481,17 @@ }, "parameters": [ { - "id": 736, + "id": 883, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "dereferenced": { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -15182,21 +15499,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15207,7 +15524,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -15221,15 +15538,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -15244,7 +15559,7 @@ "typeArguments": [ { "type": "reference", - "id": 683, + "id": 830, "name": "AuthMFAUnenrollResponse" } ], @@ -15256,14 +15571,14 @@ ] }, { - "id": 731, + "id": 878, "name": "verify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 732, + "id": 879, "name": "verify", "kind": 4096, "kindString": "Call signature", @@ -15273,17 +15588,17 @@ }, "parameters": [ { - "id": 733, + "id": 880, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 643, + "id": 790, "name": "MFAVerifyParams", "dereferenced": { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -15291,21 +15606,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -15316,7 +15631,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -15326,7 +15641,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -15337,7 +15652,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -15347,7 +15662,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15358,7 +15673,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -15372,17 +15687,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -15397,7 +15708,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -15413,21 +15724,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 728, - 737, - 725, - 742, - 740, - 734, - 731 - ] + "children": [875, 884, 872, 889, 887, 881, 878] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 815, + "line": 887, "character": 17 } ] @@ -15435,7 +15738,7 @@ } }, { - "id": 121, + "id": 131, "name": "exchangeCodeForSession", "kind": 2048, "kindString": "Method", @@ -15443,13 +15746,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 411, + "line": 485, "character": 8 } ], "signatures": [ { - "id": 122, + "id": 132, "name": "exchangeCodeForSession", "kind": 4096, "kindString": "Call signature", @@ -15459,7 +15762,7 @@ }, "parameters": [ { - "id": 123, + "id": 133, "name": "authCode", "kind": 32768, "kindString": "Parameter", @@ -15475,8 +15778,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -15487,7 +15790,7 @@ ] }, { - "id": 141, + "id": 156, "name": "getSession", "kind": 2048, "kindString": "Method", @@ -15495,13 +15798,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 693, + "line": 810, "character": 8 } ], "signatures": [ { - "id": 142, + "id": 157, "name": "getSession", "kind": 4096, "kindString": "Call signature", @@ -15518,14 +15821,14 @@ { "type": "reflection", "declaration": { - "id": 143, + "id": 158, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 144, + "id": 159, "name": "data", "kind": 1024, "kindString": "Property", @@ -15533,21 +15836,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 695, - "character": 8 + "line": 901, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 145, + "id": 160, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 146, + "id": 161, "name": "session", "kind": 1024, "kindString": "Property", @@ -15555,13 +15858,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 696, - "character": 10 + "line": 902, + "character": 14 } ], "type": { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } } @@ -15570,16 +15873,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 146 - ] + "children": [161] } ] } } }, { - "id": 147, + "id": 162, "name": "error", "kind": 1024, "kindString": "Property", @@ -15587,8 +15888,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 698, - "character": 8 + "line": 904, + "character": 12 } ], "type": { @@ -15601,10 +15902,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 144, - 147 - ] + "children": [159, 162] } ] } @@ -15612,14 +15910,14 @@ { "type": "reflection", "declaration": { - "id": 148, + "id": 163, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 149, + "id": 164, "name": "data", "kind": 1024, "kindString": "Property", @@ -15627,21 +15925,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 701, - "character": 8 + "line": 907, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 150, + "id": 165, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 151, + "id": 166, "name": "session", "kind": 1024, "kindString": "Property", @@ -15649,8 +15947,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 702, - "character": 10 + "line": 908, + "character": 14 } ], "type": { @@ -15663,16 +15961,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 151 - ] + "children": [166] } ] } } }, { - "id": 152, + "id": 167, "name": "error", "kind": 1024, "kindString": "Property", @@ -15680,13 +15976,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 704, - "character": 8 + "line": 910, + "character": 12 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -15695,10 +15991,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 149, - 152 - ] + "children": [164, 167] } ] } @@ -15706,14 +15999,14 @@ { "type": "reflection", "declaration": { - "id": 153, + "id": 168, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 154, + "id": 169, "name": "data", "kind": 1024, "kindString": "Property", @@ -15721,21 +16014,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 707, - "character": 8 + "line": 913, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 155, + "id": 170, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 156, + "id": 171, "name": "session", "kind": 1024, "kindString": "Property", @@ -15743,8 +16036,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 708, - "character": 10 + "line": 914, + "character": 14 } ], "type": { @@ -15757,16 +16050,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 156 - ] + "children": [171] } ] } } }, { - "id": 157, + "id": 172, "name": "error", "kind": 1024, "kindString": "Property", @@ -15774,8 +16065,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 710, - "character": 8 + "line": 916, + "character": 12 } ], "type": { @@ -15788,10 +16079,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 154, - 157 - ] + "children": [169, 172] } ] } @@ -15807,7 +16095,7 @@ ] }, { - "id": 158, + "id": 219, "name": "getUser", "kind": 2048, "kindString": "Method", @@ -15815,13 +16103,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 756, + "line": 1018, "character": 8 } ], "signatures": [ { - "id": 159, + "id": 220, "name": "getUser", "kind": 4096, "kindString": "Call signature", @@ -15831,7 +16119,7 @@ }, "parameters": [ { - "id": 160, + "id": 221, "name": "jwt", "kind": 32768, "kindString": "Parameter", @@ -15852,7 +16140,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -15864,7 +16152,7 @@ ] }, { - "id": 108, + "id": 118, "name": "initialize", "kind": 2048, "kindString": "Method", @@ -15872,13 +16160,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 197, - "character": 2 + "line": 250, + "character": 8 } ], "signatures": [ { - "id": 109, + "id": 119, "name": "initialize", "kind": 4096, "kindString": "Call signature", @@ -15891,7 +16179,7 @@ "typeArguments": [ { "type": "reference", - "id": 777, + "id": 924, "name": "InitializeResult" } ], @@ -15903,7 +16191,7 @@ ] }, { - "id": 208, + "id": 295, "name": "onAuthStateChange", "kind": 2048, "kindString": "Method", @@ -15911,13 +16199,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1071, + "line": 1412, "character": 2 } ], "signatures": [ { - "id": 209, + "id": 296, "name": "onAuthStateChange", "kind": 4096, "kindString": "Call signature", @@ -15927,7 +16215,7 @@ }, "parameters": [ { - "id": 210, + "id": 297, "name": "callback", "kind": 32768, "kindString": "Parameter", @@ -15938,33 +16226,33 @@ "type": { "type": "reflection", "declaration": { - "id": 211, + "id": 298, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 212, + "id": 299, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 213, + "id": 300, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent" } }, { - "id": 214, + "id": 301, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -15978,7 +16266,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -15986,8 +16274,25 @@ } ], "type": { - "type": "intrinsic", - "name": "void" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + ] } } ] @@ -15998,14 +16303,14 @@ "type": { "type": "reflection", "declaration": { - "id": 215, + "id": 302, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 216, + "id": 303, "name": "data", "kind": 1024, "kindString": "Property", @@ -16013,21 +16318,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1072, + "line": 1415, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 217, + "id": 304, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 218, + "id": 305, "name": "subscription", "kind": 1024, "kindString": "Property", @@ -16035,23 +16340,23 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1072, + "line": 1415, "character": 12 } ], "type": { "type": "reference", - "id": 464, + "id": 606, "name": "Subscription", "dereferenced": { - "id": 464, + "id": 606, "name": "Subscription", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 465, + "id": 607, "name": "id", "kind": 1024, "kindString": "Property", @@ -16062,7 +16367,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 329, + "line": 387, "character": 2 } ], @@ -16072,7 +16377,7 @@ } }, { - "id": 466, + "id": 608, "name": "callback", "kind": 2048, "kindString": "Method", @@ -16080,13 +16385,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 333, + "line": 391, "character": 2 } ], "signatures": [ { - "id": 467, + "id": 609, "name": "callback", "kind": 4096, "kindString": "Call signature", @@ -16096,17 +16401,17 @@ }, "parameters": [ { - "id": 468, + "id": 610, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent", "dereferenced": { - "id": 327, + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -16114,7 +16419,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -16146,7 +16451,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -16154,7 +16459,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -16169,7 +16474,7 @@ } }, { - "id": 469, + "id": 611, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -16183,7 +16488,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -16198,7 +16503,7 @@ ] }, { - "id": 470, + "id": 612, "name": "unsubscribe", "kind": 2048, "kindString": "Method", @@ -16206,13 +16511,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 337, + "line": 395, "character": 2 } ], "signatures": [ { - "id": 471, + "id": 613, "name": "unsubscribe", "kind": 4096, "kindString": "Call signature", @@ -16232,23 +16537,18 @@ { "title": "Properties", "kind": 1024, - "children": [ - 465 - ] + "children": [607] }, { "title": "Methods", "kind": 2048, - "children": [ - 466, - 470 - ] + "children": [608, 612] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 325, + "line": 383, "character": 17 } ] @@ -16260,9 +16560,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 218 - ] + "children": [305] } ] } @@ -16273,9 +16571,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [303] } ] } @@ -16284,7 +16580,7 @@ ] }, { - "id": 136, + "id": 149, "name": "reauthenticate", "kind": 2048, "kindString": "Method", @@ -16292,13 +16588,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 626, + "line": 729, "character": 8 } ], "signatures": [ { - "id": 137, + "id": 150, "name": "reauthenticate", "kind": 4096, "kindString": "Call signature", @@ -16311,7 +16607,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -16323,7 +16619,7 @@ ] }, { - "id": 180, + "id": 256, "name": "refreshSession", "kind": 2048, "kindString": "Method", @@ -16331,13 +16627,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 902, + "line": 1207, "character": 8 } ], "signatures": [ { - "id": 181, + "id": 257, "name": "refreshSession", "kind": 4096, "kindString": "Call signature", @@ -16347,7 +16643,7 @@ }, "parameters": [ { - "id": 182, + "id": 258, "name": "currentSession", "kind": 32768, "kindString": "Parameter", @@ -16360,14 +16656,14 @@ "type": { "type": "reflection", "declaration": { - "id": 183, + "id": 259, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 184, + "id": 260, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -16375,7 +16671,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 902, + "line": 1207, "character": 42 } ], @@ -16389,9 +16685,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 184 - ] + "children": [260] } ] } @@ -16403,7 +16697,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -16415,7 +16709,7 @@ ] }, { - "id": 138, + "id": 153, "name": "resend", "kind": 2048, "kindString": "Method", @@ -16423,13 +16717,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 651, + "line": 764, "character": 8 } ], "signatures": [ { - "id": 139, + "id": 154, "name": "resend", "kind": 4096, "kindString": "Call signature", @@ -16439,17 +16733,17 @@ }, "parameters": [ { - "id": 140, + "id": 155, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 562, + "id": 708, "name": "ResendParams", "dereferenced": { - "id": 562, + "id": 708, "name": "ResendParams", "kind": 4194304, "kindString": "Type alias", @@ -16457,7 +16751,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 516, + "line": 586, "character": 12 } ], @@ -16467,14 +16761,14 @@ { "type": "reflection", "declaration": { - "id": 563, + "id": 709, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 565, + "id": 711, "name": "email", "kind": 1024, "kindString": "Property", @@ -16482,7 +16776,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 519, + "line": 589, "character": 6 } ], @@ -16492,7 +16786,7 @@ } }, { - "id": 566, + "id": 712, "name": "options", "kind": 1024, "kindString": "Property", @@ -16502,21 +16796,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 567, + "id": 713, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 568, + "id": 715, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -16529,7 +16823,30 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 522, + "line": 594, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 714, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 592, "character": 8 } ], @@ -16543,15 +16860,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 568 - ] + "children": [715, 714] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 16 } ] @@ -16559,7 +16874,7 @@ } }, { - "id": 564, + "id": 710, "name": "type", "kind": 1024, "kindString": "Property", @@ -16567,7 +16882,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 518, + "line": 588, "character": 6 } ], @@ -16576,7 +16891,7 @@ "typeArguments": [ { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType" }, { @@ -16603,17 +16918,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 565, - 566, - 564 - ] + "children": [711, 712, 710] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 517, + "line": 587, "character": 4 } ] @@ -16622,14 +16933,14 @@ { "type": "reflection", "declaration": { - "id": 569, + "id": 716, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 572, + "id": 719, "name": "options", "kind": 1024, "kindString": "Property", @@ -16639,21 +16950,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 573, + "id": 720, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 574, + "id": 721, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -16666,7 +16977,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 530, + "line": 602, "character": 8 } ], @@ -16680,15 +16991,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574 - ] + "children": [721] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 16 } ] @@ -16696,7 +17005,7 @@ } }, { - "id": 571, + "id": 718, "name": "phone", "kind": 1024, "kindString": "Property", @@ -16704,7 +17013,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 527, + "line": 599, "character": 6 } ], @@ -16714,7 +17023,7 @@ } }, { - "id": 570, + "id": 717, "name": "type", "kind": 1024, "kindString": "Property", @@ -16722,7 +17031,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 526, + "line": 598, "character": 6 } ], @@ -16731,7 +17040,7 @@ "typeArguments": [ { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType" }, { @@ -16758,17 +17067,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 572, - 571, - 570 - ] + "children": [719, 718, 717] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 525, + "line": 597, "character": 4 } ] @@ -16785,8 +17090,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 469, + "name": "AuthOtpResponse" } ], "qualifiedName": "Promise", @@ -16797,7 +17102,7 @@ ] }, { - "id": 222, + "id": 309, "name": "resetPasswordForEmail", "kind": 2048, "kindString": "Method", @@ -16805,23 +17110,23 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1111, + "line": 1468, "character": 8 } ], "signatures": [ { - "id": 223, + "id": 310, "name": "resetPasswordForEmail", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Sends a password reset request to an email address." + "shortText": "Sends a password reset request to an email address.\nThis method supports the PKCE flow." }, "parameters": [ { - "id": 224, + "id": 311, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -16835,7 +17140,7 @@ } }, { - "id": 225, + "id": 312, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -16843,14 +17148,14 @@ "type": { "type": "reflection", "declaration": { - "id": 226, + "id": 313, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 228, + "id": 315, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -16863,7 +17168,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1115, + "line": 1472, "character": 6 } ], @@ -16873,7 +17178,7 @@ } }, { - "id": 227, + "id": 314, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -16886,7 +17191,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1114, + "line": 1471, "character": 6 } ], @@ -16900,10 +17205,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 228, - 227 - ] + "children": [315, 314] } ] } @@ -16920,14 +17222,14 @@ { "type": "reflection", "declaration": { - "id": 229, + "id": 316, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 230, + "id": 317, "name": "data", "kind": 1024, "kindString": "Property", @@ -16935,14 +17237,14 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1119, + "line": 1476, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 231, + "id": 318, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -16951,7 +17253,7 @@ } }, { - "id": 232, + "id": 319, "name": "error", "kind": 1024, "kindString": "Property", @@ -16959,7 +17261,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1120, + "line": 1477, "character": 8 } ], @@ -16973,10 +17275,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230, - 232 - ] + "children": [317, 319] } ] } @@ -16984,14 +17283,14 @@ { "type": "reflection", "declaration": { - "id": 233, + "id": 320, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 234, + "id": 321, "name": "data", "kind": 1024, "kindString": "Property", @@ -16999,7 +17298,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1122, + "line": 1479, "character": 8 } ], @@ -17009,7 +17308,7 @@ } }, { - "id": 235, + "id": 322, "name": "error", "kind": 1024, "kindString": "Property", @@ -17017,13 +17316,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1122, + "line": 1479, "character": 20 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -17032,10 +17331,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 234, - 235 - ] + "children": [321, 322] } ] } @@ -17051,7 +17347,7 @@ ] }, { - "id": 174, + "id": 244, "name": "setSession", "kind": 2048, "kindString": "Method", @@ -17059,13 +17355,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 838, + "line": 1132, "character": 8 } ], "signatures": [ { - "id": 175, + "id": 245, "name": "setSession", "kind": 4096, "kindString": "Call signature", @@ -17075,7 +17371,7 @@ }, "parameters": [ { - "id": 176, + "id": 246, "name": "currentSession", "kind": 32768, "kindString": "Parameter", @@ -17086,14 +17382,14 @@ "type": { "type": "reflection", "declaration": { - "id": 177, + "id": 247, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 178, + "id": 248, "name": "access_token", "kind": 1024, "kindString": "Property", @@ -17101,7 +17397,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 839, + "line": 1133, "character": 4 } ], @@ -17111,7 +17407,7 @@ } }, { - "id": 179, + "id": 249, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -17119,7 +17415,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 840, + "line": 1134, "character": 4 } ], @@ -17133,10 +17429,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 178, - 179 - ] + "children": [248, 249] } ] } @@ -17148,7 +17441,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -17160,7 +17453,7 @@ ] }, { - "id": 124, + "id": 137, "name": "signInWithIdToken", "kind": 2048, "kindString": "Method", @@ -17168,39 +17461,33 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 441, + "line": 525, "character": 8 } ], "signatures": [ { - "id": 125, + "id": 138, "name": "signInWithIdToken", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Allows signing in with an ID token issued by certain supported providers.\nThe ID token is verified for validity and a new session is established.", - "tags": [ - { - "tag": "experimental", - "text": "\n" - } - ] + "shortText": "Allows signing in with an OIDC ID token. The authentication provider used\nshould be enabled and configured." }, "parameters": [ { - "id": 126, + "id": 139, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "dereferenced": { - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "kind": 4194304, "kindString": "Type alias", @@ -17208,34 +17495,34 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 536, + "id": 678, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 539, - "name": "nonce", + "id": 681, + "name": "access_token", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, "comment": { - "shortText": "If the ID token contains a `nonce`, then the hash of this value is compared to the value in the ID token." + "shortText": "If the ID token contains an `at_hash` claim, then the hash of this value is compared to the value in the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 471, + "line": 527, "character": 2 } ], @@ -17245,7 +17532,30 @@ } }, { - "id": 540, + "id": 682, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains a `nonce` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 529, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 683, "name": "options", "kind": 1024, "kindString": "Property", @@ -17255,21 +17565,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 541, + "id": 684, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 542, + "id": 685, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -17282,7 +17592,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 474, + "line": 532, "character": 4 } ], @@ -17296,15 +17606,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 542 - ] + "children": [685] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 12 } ] @@ -17312,18 +17620,18 @@ } }, { - "id": 537, + "id": 679, "name": "provider", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "Only Apple and Google ID tokens are supported for use from within iOS or Android applications." + "shortText": "Provider name or OIDC `iss` value identifying which provider should be used to verify the provided token. Supported names: `google`, `apple`, `azure`, `facebook`, `keycloak` (deprecated)." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 467, + "line": 523, "character": 2 } ], @@ -17337,23 +17645,35 @@ { "type": "literal", "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "intrinsic", + "name": "string" } ] } }, { - "id": 538, + "id": 680, "name": "token", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "ID token issued by Apple or Google." + "shortText": "OIDC ID token issued by the specified provider. The `iss` claim in the ID token must match the supplied provider. Some ID tokens contain an `at_hash` which require that you provide an `access_token` value to be accepted properly. If the token contains a `nonce` claim you must supply the nonce used to obtain the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 469, + "line": 525, "character": 2 } ], @@ -17367,18 +17687,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 539, - 540, - 537, - 538 - ] + "children": [681, 682, 683, 679, 680] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 43 } ] @@ -17393,8 +17708,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -17405,7 +17720,7 @@ ] }, { - "id": 118, + "id": 128, "name": "signInWithOAuth", "kind": 2048, "kindString": "Method", @@ -17413,33 +17728,33 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 397, + "line": 471, "character": 8 } ], "signatures": [ { - "id": 119, + "id": 129, "name": "signInWithOAuth", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Log in an existing user via a third-party provider." + "shortText": "Log in an existing user via a third-party provider.\nThis method supports the PKCE flow." }, "parameters": [ { - "id": 120, + "id": 130, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "dereferenced": { - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "kind": 4194304, "kindString": "Type alias", @@ -17447,21 +17762,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 524, + "id": 666, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 526, + "id": 668, "name": "options", "kind": 1024, "kindString": "Property", @@ -17471,21 +17786,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 527, + "id": 669, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 530, + "id": 672, "name": "queryParams", "kind": 1024, "kindString": "Property", @@ -17498,14 +17813,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 531, + "id": 673, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -17513,19 +17828,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 18 } ], "indexSignature": { - "id": 532, + "id": 674, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 533, + "id": 675, "name": "key", "kind": 32768, "flags": {}, @@ -17544,7 +17859,7 @@ } }, { - "id": 528, + "id": 670, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -17557,7 +17872,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 453, + "line": 511, "character": 4 } ], @@ -17567,7 +17882,7 @@ } }, { - "id": 529, + "id": 671, "name": "scopes", "kind": 1024, "kindString": "Property", @@ -17580,7 +17895,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 455, + "line": 513, "character": 4 } ], @@ -17590,7 +17905,7 @@ } }, { - "id": 534, + "id": 676, "name": "skipBrowserRedirect", "kind": 1024, "kindString": "Property", @@ -17603,7 +17918,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 459, + "line": 517, "character": 4 } ], @@ -17617,18 +17932,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 530, - 528, - 529, - 534 - ] + "children": [672, 670, 671, 676] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 12 } ] @@ -17636,7 +17946,7 @@ } }, { - "id": 525, + "id": 667, "name": "provider", "kind": 1024, "kindString": "Property", @@ -17647,16 +17957,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 450, + "line": 508, "character": 2 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider", "dereferenced": { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -17694,6 +18004,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -17706,6 +18020,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -17752,16 +18070,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 526, - 525 - ] + "children": [668, 667] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 41 } ] @@ -17776,7 +18091,7 @@ "typeArguments": [ { "type": "reference", - "id": 355, + "id": 497, "name": "OAuthResponse" } ], @@ -17788,7 +18103,7 @@ ] }, { - "id": 127, + "id": 140, "name": "signInWithOtp", "kind": 2048, "kindString": "Method", @@ -17796,34 +18111,34 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 489, + "line": 582, "character": 8 } ], "signatures": [ { - "id": 128, + "id": 141, "name": "signInWithOtp", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Log in a user using magiclink or a one-time password (OTP).", - "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\n" + "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\nThis method supports PKCE when an email is passed.\n" }, "parameters": [ { - "id": 129, + "id": 142, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "dereferenced": { - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "kind": 4194304, "kindString": "Type alias", @@ -17831,7 +18146,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 409, + "line": 467, "character": 12 } ], @@ -17841,14 +18156,14 @@ { "type": "reflection", "declaration": { - "id": 506, + "id": 648, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 507, + "id": 649, "name": "email", "kind": 1024, "kindString": "Property", @@ -17859,7 +18174,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 412, + "line": 470, "character": 6 } ], @@ -17869,7 +18184,7 @@ } }, { - "id": 508, + "id": 650, "name": "options", "kind": 1024, "kindString": "Property", @@ -17879,21 +18194,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 509, + "id": 651, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 513, + "id": 655, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -17906,7 +18221,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 425, + "line": 483, "character": 8 } ], @@ -17916,7 +18231,7 @@ } }, { - "id": 512, + "id": 654, "name": "data", "kind": 1024, "kindString": "Property", @@ -17930,7 +18245,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 423, + "line": 481, "character": 8 } ], @@ -17940,7 +18255,7 @@ } }, { - "id": 510, + "id": 652, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -17953,7 +18268,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 415, + "line": 473, "character": 8 } ], @@ -17963,7 +18278,7 @@ } }, { - "id": 511, + "id": 653, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -17976,7 +18291,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 417, + "line": 475, "character": 8 } ], @@ -17990,18 +18305,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 513, - 512, - 510, - 511 - ] + "children": [655, 654, 652, 653] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 16 } ] @@ -18013,16 +18323,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 507, - 508 - ] + "children": [649, 650] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 410, + "line": 468, "character": 4 } ] @@ -18031,14 +18338,14 @@ { "type": "reflection", "declaration": { - "id": 514, + "id": 656, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 516, + "id": 658, "name": "options", "kind": 1024, "kindString": "Property", @@ -18048,21 +18355,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 517, + "id": 659, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 520, + "id": 662, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18075,7 +18382,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 441, + "line": 499, "character": 8 } ], @@ -18085,7 +18392,7 @@ } }, { - "id": 521, + "id": 663, "name": "channel", "kind": 1024, "kindString": "Property", @@ -18098,7 +18405,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 443, + "line": 501, "character": 8 } ], @@ -18117,7 +18424,7 @@ } }, { - "id": 519, + "id": 661, "name": "data", "kind": 1024, "kindString": "Property", @@ -18131,7 +18438,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 439, + "line": 497, "character": 8 } ], @@ -18141,7 +18448,7 @@ } }, { - "id": 518, + "id": 660, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -18154,7 +18461,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 433, + "line": 491, "character": 8 } ], @@ -18168,18 +18475,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 520, - 521, - 519, - 518 - ] + "children": [662, 663, 661, 660] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 16 } ] @@ -18187,7 +18489,7 @@ } }, { - "id": 515, + "id": 657, "name": "phone", "kind": 1024, "kindString": "Property", @@ -18198,7 +18500,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 430, + "line": 488, "character": 6 } ], @@ -18212,16 +18514,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 516, - 515 - ] + "children": [658, 657] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 428, + "line": 486, "character": 4 } ] @@ -18238,8 +18537,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 469, + "name": "AuthOtpResponse" } ], "qualifiedName": "Promise", @@ -18250,7 +18549,7 @@ ] }, { - "id": 115, + "id": 125, "name": "signInWithPassword", "kind": 2048, "kindString": "Method", @@ -18258,13 +18557,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 347, + "line": 415, "character": 8 } ], "signatures": [ { - "id": 116, + "id": 126, "name": "signInWithPassword", "kind": 4096, "kindString": "Call signature", @@ -18275,17 +18574,17 @@ }, "parameters": [ { - "id": 117, + "id": 127, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "dereferenced": { - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -18293,7 +18592,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 381, + "line": 439, "character": 12 } ], @@ -18303,14 +18602,14 @@ { "type": "reflection", "declaration": { - "id": 492, + "id": 634, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 493, + "id": 635, "name": "email", "kind": 1024, "kindString": "Property", @@ -18321,7 +18620,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 384, + "line": 442, "character": 6 } ], @@ -18331,7 +18630,7 @@ } }, { - "id": 495, + "id": 637, "name": "options", "kind": 1024, "kindString": "Property", @@ -18341,21 +18640,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 496, + "id": 638, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 639, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18368,7 +18667,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 389, + "line": 447, "character": 8 } ], @@ -18382,15 +18681,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497 - ] + "children": [639] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 16 } ] @@ -18398,7 +18695,7 @@ } }, { - "id": 494, + "id": 636, "name": "password", "kind": 1024, "kindString": "Property", @@ -18409,7 +18706,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 386, + "line": 444, "character": 6 } ], @@ -18423,17 +18720,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 493, - 495, - 494 - ] + "children": [635, 637, 636] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 382, + "line": 440, "character": 4 } ] @@ -18442,14 +18735,14 @@ { "type": "reflection", "declaration": { - "id": 498, + "id": 640, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 501, + "id": 643, "name": "options", "kind": 1024, "kindString": "Property", @@ -18459,21 +18752,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 502, + "id": 644, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 504, + "id": 646, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18486,7 +18779,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 405, + "line": 463, "character": 8 } ], @@ -18496,7 +18789,7 @@ } }, { - "id": 503, + "id": 645, "name": "data", "kind": 1024, "kindString": "Property", @@ -18510,7 +18803,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 403, + "line": 461, "character": 8 } ], @@ -18524,16 +18817,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 504, - 503 - ] + "children": [646, 645] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 16 } ] @@ -18541,7 +18831,7 @@ } }, { - "id": 500, + "id": 642, "name": "password", "kind": 1024, "kindString": "Property", @@ -18552,7 +18842,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 396, + "line": 454, "character": 6 } ], @@ -18562,7 +18852,7 @@ } }, { - "id": 499, + "id": 641, "name": "phone", "kind": 1024, "kindString": "Property", @@ -18573,7 +18863,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 394, + "line": 452, "character": 6 } ], @@ -18587,17 +18877,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 501, - 500, - 499 - ] + "children": [643, 642, 641] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 392, + "line": 450, "character": 4 } ] @@ -18614,8 +18900,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -18626,7 +18912,7 @@ ] }, { - "id": 133, + "id": 146, "name": "signInWithSSO", "kind": 2048, "kindString": "Method", @@ -18634,13 +18920,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 597, + "line": 700, "character": 8 } ], "signatures": [ { - "id": 134, + "id": 147, "name": "signInWithSSO", "kind": 4096, "kindString": "Call signature", @@ -18651,17 +18937,17 @@ }, "parameters": [ { - "id": 135, + "id": 148, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 575, + "id": 722, "name": "SignInWithSSO", "dereferenced": { - "id": 575, + "id": 722, "name": "SignInWithSSO", "kind": 4194304, "kindString": "Type alias", @@ -18669,7 +18955,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 534, + "line": 606, "character": 12 } ], @@ -18679,14 +18965,14 @@ { "type": "reflection", "declaration": { - "id": 576, + "id": 723, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 578, + "id": 725, "name": "options", "kind": 1024, "kindString": "Property", @@ -18696,21 +18982,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 579, + "id": 726, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 581, + "id": 728, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18723,7 +19009,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 543, + "line": 615, "character": 8 } ], @@ -18733,7 +19019,7 @@ } }, { - "id": 580, + "id": 727, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -18746,7 +19032,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 541, + "line": 613, "character": 8 } ], @@ -18760,16 +19046,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 581, - 580 - ] + "children": [728, 727] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 16 } ] @@ -18777,7 +19060,7 @@ } }, { - "id": 577, + "id": 724, "name": "providerId", "kind": 1024, "kindString": "Property", @@ -18788,7 +19071,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 537, + "line": 609, "character": 6 } ], @@ -18802,16 +19085,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 578, - 577 - ] + "children": [725, 724] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 535, + "line": 607, "character": 4 } ] @@ -18820,14 +19100,14 @@ { "type": "reflection", "declaration": { - "id": 582, + "id": 729, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 583, + "id": 730, "name": "domain", "kind": 1024, "kindString": "Property", @@ -18838,7 +19118,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 548, + "line": 620, "character": 6 } ], @@ -18848,7 +19128,7 @@ } }, { - "id": 584, + "id": 731, "name": "options", "kind": 1024, "kindString": "Property", @@ -18858,21 +19138,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 585, + "id": 732, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 587, + "id": 734, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18885,7 +19165,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 554, + "line": 626, "character": 8 } ], @@ -18895,7 +19175,7 @@ } }, { - "id": 586, + "id": 733, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -18908,7 +19188,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 552, + "line": 624, "character": 8 } ], @@ -18922,16 +19202,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 587, - 586 - ] + "children": [734, 733] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 16 } ] @@ -18943,16 +19220,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 583, - 584 - ] + "children": [730, 731] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 546, + "line": 618, "character": 4 } ] @@ -18969,7 +19243,7 @@ "typeArguments": [ { "type": "reference", - "id": 368, + "id": 510, "name": "SSOResponse" } ], @@ -18981,7 +19255,7 @@ ] }, { - "id": 204, + "id": 285, "name": "signOut", "kind": 2048, "kindString": "Method", @@ -18989,35 +19263,126 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1045, + "line": 1372, "character": 8 } ], "signatures": [ { - "id": 205, + "id": 286, "name": "signOut", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Inside a browser context, `signOut()` will remove the logged in user from the browser session\nand log them out - removing all items from localstorage and then trigger a `\"SIGNED_OUT\"` event.", - "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n" + "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n\nIf using others scope, no `SIGNED_OUT` event is fired!\n" }, + "parameters": [ + { + "id": 287, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 945, + "name": "SignOut", + "dereferenced": { + "id": 945, + "name": "SignOut", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 946, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 947, + "name": "scope", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines which sessions should be\nlogged out. Global means all\nsessions by this account. Local\nmeans only this session. Others\nmeans all other sessions except the\ncurrent one. When using others,\nthere is no sign-out event fired on\nthe current session!" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1066, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [947] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 22 + } + ] + } + } + } + }, + "defaultValue": "..." + } + ], "type": { "type": "reference", "typeArguments": [ { "type": "reflection", "declaration": { - "id": 206, + "id": 288, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 207, + "id": 289, "name": "error", "kind": 1024, "kindString": "Property", @@ -19025,8 +19390,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1045, - "character": 29 + "line": 1372, + "character": 67 } ], "type": { @@ -19038,7 +19403,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -19049,9 +19414,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 207 - ] + "children": [289] } ] } @@ -19065,7 +19428,7 @@ ] }, { - "id": 112, + "id": 122, "name": "signUp", "kind": 2048, "kindString": "Method", @@ -19073,35 +19436,35 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 268, + "line": 336, "character": 8 } ], "signatures": [ { - "id": 113, + "id": 123, "name": "signUp", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Creates a new user.", - "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\n", + "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\nThis method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled.\n", "returns": "A logged-in session if the server has \"autoconfirm\" ON" }, "parameters": [ { - "id": 114, + "id": 124, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 474, + "id": 616, "name": "SignUpWithPasswordCredentials", "dereferenced": { - "id": 474, + "id": 616, "name": "SignUpWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -19109,7 +19472,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 344, + "line": 402, "character": 12 } ], @@ -19119,14 +19482,14 @@ { "type": "reflection", "declaration": { - "id": 475, + "id": 617, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 476, + "id": 618, "name": "email", "kind": 1024, "kindString": "Property", @@ -19137,7 +19500,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 347, + "line": 405, "character": 6 } ], @@ -19147,7 +19510,7 @@ } }, { - "id": 478, + "id": 620, "name": "options", "kind": 1024, "kindString": "Property", @@ -19157,21 +19520,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 479, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 482, + "id": 624, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -19184,7 +19547,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 360, + "line": 418, "character": 8 } ], @@ -19194,7 +19557,7 @@ } }, { - "id": 481, + "id": 623, "name": "data", "kind": 1024, "kindString": "Property", @@ -19208,7 +19571,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 358, + "line": 416, "character": 8 } ], @@ -19218,7 +19581,7 @@ } }, { - "id": 480, + "id": 622, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -19231,7 +19594,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 352, + "line": 410, "character": 8 } ], @@ -19245,17 +19608,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 482, - 481, - 480 - ] + "children": [624, 623, 622] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 16 } ] @@ -19263,7 +19622,7 @@ } }, { - "id": 477, + "id": 619, "name": "password", "kind": 1024, "kindString": "Property", @@ -19274,7 +19633,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 349, + "line": 407, "character": 6 } ], @@ -19288,17 +19647,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 476, - 478, - 477 - ] + "children": [618, 620, 619] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 345, + "line": 403, "character": 4 } ] @@ -19307,14 +19662,14 @@ { "type": "reflection", "declaration": { - "id": 483, + "id": 625, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 486, + "id": 628, "name": "options", "kind": 1024, "kindString": "Property", @@ -19324,21 +19679,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 487, + "id": 629, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 489, + "id": 631, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -19351,7 +19706,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 376, + "line": 434, "character": 8 } ], @@ -19361,7 +19716,7 @@ } }, { - "id": 490, + "id": 632, "name": "channel", "kind": 1024, "kindString": "Property", @@ -19374,7 +19729,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 378, + "line": 436, "character": 8 } ], @@ -19393,7 +19748,7 @@ } }, { - "id": 488, + "id": 630, "name": "data", "kind": 1024, "kindString": "Property", @@ -19407,7 +19762,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 374, + "line": 432, "character": 8 } ], @@ -19421,17 +19776,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 489, - 490, - 488 - ] + "children": [631, 632, 630] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 16 } ] @@ -19439,7 +19790,7 @@ } }, { - "id": 485, + "id": 627, "name": "password", "kind": 1024, "kindString": "Property", @@ -19450,7 +19801,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 367, + "line": 425, "character": 6 } ], @@ -19460,7 +19811,7 @@ } }, { - "id": 484, + "id": 626, "name": "phone", "kind": 1024, "kindString": "Property", @@ -19471,7 +19822,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 365, + "line": 423, "character": 6 } ], @@ -19485,17 +19836,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 486, - 485, - 484 - ] + "children": [628, 627, 626] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 363, + "line": 421, "character": 4 } ] @@ -19512,7 +19859,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -19524,7 +19871,7 @@ ] }, { - "id": 284, + "id": 371, "name": "startAutoRefresh", "kind": 2048, "kindString": "Method", @@ -19532,13 +19879,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1415, + "line": 1861, "character": 8 } ], "signatures": [ { - "id": 285, + "id": 372, "name": "startAutoRefresh", "kind": 4096, "kindString": "Call signature", @@ -19563,7 +19910,7 @@ ] }, { - "id": 286, + "id": 373, "name": "stopAutoRefresh", "kind": 2048, "kindString": "Method", @@ -19571,13 +19918,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1428, + "line": 1874, "character": 8 } ], "signatures": [ { - "id": 287, + "id": 374, "name": "stopAutoRefresh", "kind": 4096, "kindString": "Call signature", @@ -19602,7 +19949,7 @@ ] }, { - "id": 161, + "id": 225, "name": "updateUser", "kind": 2048, "kindString": "Method", @@ -19610,13 +19957,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 785, + "line": 1064, "character": 8 } ], "signatures": [ { - "id": 162, + "id": 226, "name": "updateUser", "kind": 4096, "kindString": "Call signature", @@ -19626,24 +19973,24 @@ }, "parameters": [ { - "id": 163, + "id": 227, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes", "dereferenced": { - "id": 448, + "id": 590, "name": "UserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 453, + "id": 595, "name": "data", "kind": 1024, "kindString": "Property", @@ -19657,7 +20004,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 272, + "line": 330, "character": 2 } ], @@ -19667,7 +20014,7 @@ } }, { - "id": 449, + "id": 591, "name": "email", "kind": 1024, "kindString": "Property", @@ -19680,7 +20027,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -19690,7 +20037,7 @@ } }, { - "id": 452, + "id": 594, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -19704,7 +20051,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -19714,7 +20061,7 @@ } }, { - "id": 451, + "id": 593, "name": "password", "kind": 1024, "kindString": "Property", @@ -19727,7 +20074,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -19737,7 +20084,7 @@ } }, { - "id": 450, + "id": 592, "name": "phone", "kind": 1024, "kindString": "Property", @@ -19750,7 +20097,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -19764,19 +20111,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 453, - 449, - 452, - 451, - 450 - ] + "children": [595, 591, 594, 593, 592] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 243, + "line": 301, "character": 17 } ] @@ -19784,7 +20125,7 @@ } }, { - "id": 164, + "id": 228, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -19792,14 +20133,14 @@ "type": { "type": "reflection", "declaration": { - "id": 165, + "id": 229, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 166, + "id": 230, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -19809,7 +20150,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 788, + "line": 1067, "character": 6 } ], @@ -19823,9 +20164,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 166 - ] + "children": [230] } ] } @@ -19838,7 +20177,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -19850,7 +20189,7 @@ ] }, { - "id": 130, + "id": 143, "name": "verifyOtp", "kind": 2048, "kindString": "Method", @@ -19858,13 +20197,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 544, + "line": 637, "character": 8 } ], "signatures": [ { - "id": 131, + "id": 144, "name": "verifyOtp", "kind": 4096, "kindString": "Call signature", @@ -19874,17 +20213,17 @@ }, "parameters": [ { - "id": 132, + "id": 145, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 543, + "id": 686, "name": "VerifyOtpParams", "dereferenced": { - "id": 543, + "id": 686, "name": "VerifyOtpParams", "kind": 4194304, "kindString": "Type alias", @@ -19892,7 +20231,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 478, + "line": 536, "character": 12 } ], @@ -19900,14 +20239,14 @@ "type": "union", "types": [ { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -19917,21 +20256,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -19950,7 +20289,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -19960,7 +20299,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -19973,7 +20312,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -19987,17 +20326,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -20008,7 +20344,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -20018,7 +20354,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -20029,7 +20365,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -20039,7 +20375,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -20050,16 +20386,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -20067,7 +20403,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -20092,31 +20428,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -20127,7 +20458,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -20137,7 +20468,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -20147,21 +20478,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -20169,12 +20500,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -20184,7 +20521,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -20197,7 +20534,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -20211,17 +20548,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -20232,7 +20566,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -20242,7 +20576,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -20253,16 +20587,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -20270,7 +20604,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -20311,18 +20645,122 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, + "character": 17 + } + ] + }, + { + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, "character": 17 } ] @@ -20338,7 +20776,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -20354,56 +20792,139 @@ { "title": "Constructors", "kind": 512, - "children": [ - 78 - ] + "children": [80] }, { "title": "Properties", "kind": 1024, - "children": [ - 81, - 82 - ] + "children": [84, 85] }, { "title": "Methods", "kind": 2048, "children": [ - 121, - 141, - 158, - 108, - 208, - 136, - 180, - 138, - 222, - 174, - 124, - 118, - 127, - 115, - 133, - 204, - 112, - 284, - 286, - 161, - 130 + 131, 156, 219, 118, 295, 149, 256, 153, 309, 244, 137, 128, 140, 125, 146, 285, 122, + 371, 373, 225, 143 ] } ], "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 93, + "line": 106, "character": 21 } ] }, { - "id": 397, + "id": 420, + "name": "NavigatorLockAcquireTimeoutError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 421, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 21, + "character": 2 + } + ], + "signatures": [ + { + "id": 422, + "name": "new NavigatorLockAcquireTimeoutError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 423, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 420, + "name": "NavigatorLockAcquireTimeoutError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + }, + { + "id": 424, + "name": "isAcquireTimeout", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 19, + "character": 18 + } + ], + "type": { + "type": "literal", + "value": true + }, + "defaultValue": "true" + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [421] + }, + { + "title": "Properties", + "kind": 1024, + "children": [424] + } + ], + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 18, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ] + }, + { + "id": 539, "name": "AMREntry", "kind": 256, "kindString": "Interface", @@ -20420,7 +20941,7 @@ }, "children": [ { - "id": 398, + "id": 540, "name": "method", "kind": 1024, "kindString": "Property", @@ -20431,7 +20952,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 161, + "line": 219, "character": 2 } ], @@ -20441,7 +20962,7 @@ } }, { - "id": 399, + "id": 541, "name": "timestamp", "kind": 1024, "kindString": "Property", @@ -20452,7 +20973,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 167, + "line": 225, "character": 2 } ], @@ -20466,29 +20987,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 398, - 399 - ] + "children": [540, 541] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 159, + "line": 217, "character": 17 } ] }, { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -20502,7 +21020,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -20512,7 +21030,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -20526,7 +21044,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -20536,7 +21054,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -20549,7 +21067,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -20563,7 +21081,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -20577,7 +21095,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -20587,7 +21105,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -20601,7 +21119,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -20615,7 +21133,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -20628,7 +21146,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -20642,7 +21160,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -20655,7 +21173,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -20669,7 +21187,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -20683,7 +21201,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -20693,7 +21211,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -20707,7 +21225,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -20721,23 +21239,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -20747,7 +21255,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -20762,7 +21270,7 @@ ] }, { - "id": 411, + "id": 553, "name": "Factor", "kind": 256, "kindString": "Interface", @@ -20786,7 +21294,7 @@ }, "children": [ { - "id": 416, + "id": 558, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -20794,7 +21302,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 205, + "line": 263, "character": 2 } ], @@ -20804,7 +21312,7 @@ } }, { - "id": 414, + "id": 556, "name": "factor_type", "kind": 1024, "kindString": "Property", @@ -20815,7 +21323,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 200, + "line": 258, "character": 2 } ], @@ -20825,7 +21333,7 @@ } }, { - "id": 413, + "id": 555, "name": "friendly_name", "kind": 1024, "kindString": "Property", @@ -20838,7 +21346,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 194, + "line": 252, "character": 2 } ], @@ -20848,7 +21356,7 @@ } }, { - "id": 412, + "id": 554, "name": "id", "kind": 1024, "kindString": "Property", @@ -20859,7 +21367,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 191, + "line": 249, "character": 2 } ], @@ -20869,7 +21377,7 @@ } }, { - "id": 415, + "id": 557, "name": "status", "kind": 1024, "kindString": "Property", @@ -20880,7 +21388,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 203, + "line": 261, "character": 2 } ], @@ -20899,7 +21407,7 @@ } }, { - "id": 417, + "id": 559, "name": "updated_at", "kind": 1024, "kindString": "Property", @@ -20907,7 +21415,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 206, + "line": 264, "character": 2 } ], @@ -20921,33 +21429,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 416, - 414, - 413, - 412, - 415, - 417 - ] + "children": [558, 556, 555, 554, 557, 559] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 189, + "line": 247, "character": 17 } ] }, { - "id": 610, + "id": 757, "name": "GenerateLinkOptions", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 611, + "id": 758, "name": "data", "kind": 1024, "kindString": "Property", @@ -20961,7 +21462,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 596, + "line": 668, "character": 2 } ], @@ -20971,7 +21472,7 @@ } }, { - "id": 612, + "id": 759, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -20984,7 +21485,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 598, + "line": 670, "character": 2 } ], @@ -20998,22 +21499,19 @@ { "title": "Properties", "kind": 1024, - "children": [ - 611, - 612 - ] + "children": [758, 759] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 590, + "line": 662, "character": 17 } ] }, { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -21029,14 +21527,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -21056,17 +21554,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -21082,21 +21580,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -21107,7 +21605,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -21117,7 +21615,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -21128,7 +21626,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -21142,16 +21640,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -21166,7 +21661,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -21178,14 +21673,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -21195,17 +21690,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -21221,21 +21716,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -21246,7 +21741,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -21260,15 +21755,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -21283,7 +21776,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -21299,22 +21792,19 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] }, { - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "kind": 256, "kindString": "Interface", @@ -21324,14 +21814,14 @@ }, "children": [ { - "id": 728, + "id": 875, "name": "challenge", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 729, + "id": 876, "name": "challenge", "kind": 4096, "kindString": "Call signature", @@ -21341,17 +21831,17 @@ }, "parameters": [ { - "id": 730, + "id": 877, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 648, + "id": 795, "name": "MFAChallengeParams", "dereferenced": { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -21359,21 +21849,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -21384,7 +21874,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -21398,15 +21888,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -21421,7 +21909,7 @@ "typeArguments": [ { "type": "reference", - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse" } ], @@ -21433,14 +21921,14 @@ ] }, { - "id": 737, + "id": 884, "name": "challengeAndVerify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 738, + "id": 885, "name": "challengeAndVerify", "kind": 4096, "kindString": "Call signature", @@ -21450,17 +21938,17 @@ }, "parameters": [ { - "id": 739, + "id": 886, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "dereferenced": { - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -21468,21 +21956,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -21493,7 +21981,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -21503,7 +21991,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -21514,7 +22002,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -21528,16 +22016,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -21552,7 +22037,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -21564,14 +22049,14 @@ ] }, { - "id": 725, + "id": 872, "name": "enroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 726, + "id": 873, "name": "enroll", "kind": 4096, "kindString": "Call signature", @@ -21582,17 +22067,17 @@ }, "parameters": [ { - "id": 727, + "id": 874, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 635, + "id": 782, "name": "MFAEnrollParams", "dereferenced": { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -21600,21 +22085,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -21625,7 +22110,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -21635,7 +22120,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -21648,7 +22133,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -21658,7 +22143,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -21671,7 +22156,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -21685,17 +22170,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -21710,7 +22191,7 @@ "typeArguments": [ { "type": "reference", - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse" } ], @@ -21722,14 +22203,14 @@ ] }, { - "id": 742, + "id": 889, "name": "getAuthenticatorAssuranceLevel", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 743, + "id": 890, "name": "getAuthenticatorAssuranceLevel", "kind": 4096, "kindString": "Call signature", @@ -21743,7 +22224,7 @@ "typeArguments": [ { "type": "reference", - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" } ], @@ -21755,14 +22236,14 @@ ] }, { - "id": 740, + "id": 887, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 741, + "id": 888, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -21789,7 +22270,7 @@ "typeArguments": [ { "type": "reference", - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse" } ], @@ -21801,14 +22282,14 @@ ] }, { - "id": 734, + "id": 881, "name": "unenroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 735, + "id": 882, "name": "unenroll", "kind": 4096, "kindString": "Call signature", @@ -21818,17 +22299,17 @@ }, "parameters": [ { - "id": 736, + "id": 883, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "dereferenced": { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -21836,21 +22317,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -21861,7 +22342,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -21875,15 +22356,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -21898,7 +22377,7 @@ "typeArguments": [ { "type": "reference", - "id": 683, + "id": 830, "name": "AuthMFAUnenrollResponse" } ], @@ -21910,14 +22389,14 @@ ] }, { - "id": 731, + "id": 878, "name": "verify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 732, + "id": 879, "name": "verify", "kind": 4096, "kindString": "Call signature", @@ -21927,17 +22406,17 @@ }, "parameters": [ { - "id": 733, + "id": 880, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 643, + "id": 790, "name": "MFAVerifyParams", "dereferenced": { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -21945,21 +22424,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -21970,7 +22449,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -21980,7 +22459,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -21991,7 +22470,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -22001,7 +22480,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -22012,7 +22491,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -22026,17 +22505,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -22051,7 +22526,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -22067,34 +22542,26 @@ { "title": "Methods", "kind": 2048, - "children": [ - 728, - 737, - 725, - 742, - 740, - 734, - 731 - ] + "children": [875, 884, 872, 889, 887, 881, 878] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 815, + "line": 887, "character": 17 } ] }, { - "id": 388, + "id": 530, "name": "Session", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 391, + "id": 533, "name": "access_token", "kind": 1024, "kindString": "Property", @@ -22105,7 +22572,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 134, + "line": 192, "character": 2 } ], @@ -22115,7 +22582,7 @@ } }, { - "id": 394, + "id": 536, "name": "expires_at", "kind": 1024, "kindString": "Property", @@ -22128,7 +22595,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 146, + "line": 204, "character": 2 } ], @@ -22138,7 +22605,7 @@ } }, { - "id": 393, + "id": 535, "name": "expires_in", "kind": 1024, "kindString": "Property", @@ -22149,7 +22616,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 142, + "line": 200, "character": 2 } ], @@ -22159,7 +22626,7 @@ } }, { - "id": 390, + "id": 532, "name": "provider_refresh_token", "kind": 1024, "kindString": "Property", @@ -22172,7 +22639,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 130, + "line": 188, "character": 2 } ], @@ -22191,7 +22658,7 @@ } }, { - "id": 389, + "id": 531, "name": "provider_token", "kind": 1024, "kindString": "Property", @@ -22204,7 +22671,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 125, + "line": 183, "character": 2 } ], @@ -22223,7 +22690,7 @@ } }, { - "id": 392, + "id": 534, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -22234,7 +22701,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 138, + "line": 196, "character": 2 } ], @@ -22244,7 +22711,7 @@ } }, { - "id": 395, + "id": 537, "name": "token_type", "kind": 1024, "kindString": "Property", @@ -22252,7 +22719,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 147, + "line": 205, "character": 2 } ], @@ -22262,7 +22729,7 @@ } }, { - "id": 396, + "id": 538, "name": "user", "kind": 1024, "kindString": "Property", @@ -22270,23 +22737,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 148, + "line": 206, "character": 2 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User", "dereferenced": { - "id": 425, + "id": 567, "name": "User", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 436, + "id": 578, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -22296,7 +22763,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 229, + "line": 287, "character": 2 } ], @@ -22306,7 +22773,7 @@ } }, { - "id": 427, + "id": 569, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -22314,23 +22781,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 220, + "line": 278, "character": 2 } ], "type": { "type": "reference", - "id": 418, + "id": 560, "name": "UserAppMetadata", "dereferenced": { - "id": 418, + "id": 560, "name": "UserAppMetadata", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 419, + "id": 561, "name": "provider", "kind": 1024, "kindString": "Property", @@ -22340,7 +22807,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 210, + "line": 268, "character": 2 } ], @@ -22354,27 +22821,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 419 - ] + "children": [561] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 209, + "line": 267, "character": 17 } ], "indexSignature": { - "id": 420, + "id": 562, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 421, + "id": 563, "name": "key", "kind": 32768, "flags": {}, @@ -22393,7 +22858,7 @@ } }, { - "id": 429, + "id": 571, "name": "aud", "kind": 1024, "kindString": "Property", @@ -22401,7 +22866,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 222, + "line": 280, "character": 2 } ], @@ -22411,7 +22876,7 @@ } }, { - "id": 430, + "id": 572, "name": "confirmation_sent_at", "kind": 1024, "kindString": "Property", @@ -22421,7 +22886,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 223, + "line": 281, "character": 2 } ], @@ -22431,7 +22896,7 @@ } }, { - "id": 440, + "id": 582, "name": "confirmed_at", "kind": 1024, "kindString": "Property", @@ -22441,7 +22906,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 233, + "line": 291, "character": 2 } ], @@ -22451,7 +22916,7 @@ } }, { - "id": 439, + "id": 581, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -22459,7 +22924,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 232, + "line": 290, "character": 2 } ], @@ -22469,7 +22934,7 @@ } }, { - "id": 437, + "id": 579, "name": "email", "kind": 1024, "kindString": "Property", @@ -22479,7 +22944,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 230, + "line": 288, "character": 2 } ], @@ -22489,7 +22954,7 @@ } }, { - "id": 432, + "id": 574, "name": "email_change_sent_at", "kind": 1024, "kindString": "Property", @@ -22499,7 +22964,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 225, + "line": 283, "character": 2 } ], @@ -22509,7 +22974,7 @@ } }, { - "id": 441, + "id": 583, "name": "email_confirmed_at", "kind": 1024, "kindString": "Property", @@ -22519,7 +22984,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 234, + "line": 292, "character": 2 } ], @@ -22529,7 +22994,7 @@ } }, { - "id": 447, + "id": 589, "name": "factors", "kind": 1024, "kindString": "Property", @@ -22539,7 +23004,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 240, + "line": 298, "character": 2 } ], @@ -22547,13 +23012,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 426, + "id": 568, "name": "id", "kind": 1024, "kindString": "Property", @@ -22561,7 +23026,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 219, + "line": 277, "character": 2 } ], @@ -22571,7 +23036,7 @@ } }, { - "id": 446, + "id": 588, "name": "identities", "kind": 1024, "kindString": "Property", @@ -22581,7 +23046,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 239, + "line": 297, "character": 2 } ], @@ -22589,13 +23054,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 400, + "id": 542, "name": "UserIdentity" } } }, { - "id": 435, + "id": 577, "name": "invited_at", "kind": 1024, "kindString": "Property", @@ -22605,7 +23070,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 228, + "line": 286, "character": 2 } ], @@ -22615,7 +23080,7 @@ } }, { - "id": 443, + "id": 585, "name": "last_sign_in_at", "kind": 1024, "kindString": "Property", @@ -22625,7 +23090,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 236, + "line": 294, "character": 2 } ], @@ -22635,7 +23100,7 @@ } }, { - "id": 433, + "id": 575, "name": "new_email", "kind": 1024, "kindString": "Property", @@ -22645,7 +23110,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 226, + "line": 284, "character": 2 } ], @@ -22655,7 +23120,7 @@ } }, { - "id": 434, + "id": 576, "name": "new_phone", "kind": 1024, "kindString": "Property", @@ -22665,7 +23130,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 227, + "line": 285, "character": 2 } ], @@ -22675,7 +23140,7 @@ } }, { - "id": 438, + "id": 580, "name": "phone", "kind": 1024, "kindString": "Property", @@ -22685,7 +23150,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 231, + "line": 289, "character": 2 } ], @@ -22695,7 +23160,7 @@ } }, { - "id": 442, + "id": 584, "name": "phone_confirmed_at", "kind": 1024, "kindString": "Property", @@ -22705,7 +23170,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 235, + "line": 293, "character": 2 } ], @@ -22715,7 +23180,7 @@ } }, { - "id": 431, + "id": 573, "name": "recovery_sent_at", "kind": 1024, "kindString": "Property", @@ -22725,7 +23190,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 224, + "line": 282, "character": 2 } ], @@ -22735,7 +23200,7 @@ } }, { - "id": 444, + "id": 586, "name": "role", "kind": 1024, "kindString": "Property", @@ -22745,7 +23210,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 237, + "line": 295, "character": 2 } ], @@ -22755,7 +23220,7 @@ } }, { - "id": 445, + "id": 587, "name": "updated_at", "kind": 1024, "kindString": "Property", @@ -22765,7 +23230,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 238, + "line": 296, "character": 2 } ], @@ -22775,7 +23240,7 @@ } }, { - "id": 428, + "id": 570, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -22783,16 +23248,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 221, + "line": 279, "character": 2 } ], "type": { "type": "reference", - "id": 422, + "id": 564, "name": "UserMetadata", "dereferenced": { - "id": 422, + "id": 564, "name": "UserMetadata", "kind": 256, "kindString": "Interface", @@ -22800,19 +23265,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 214, + "line": 272, "character": 17 } ], "indexSignature": { - "id": 423, + "id": 565, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 424, + "id": 566, "name": "key", "kind": 32768, "flags": {}, @@ -22836,35 +23301,15 @@ "title": "Properties", "kind": 1024, "children": [ - 436, - 427, - 429, - 430, - 440, - 439, - 437, - 432, - 441, - 447, - 426, - 446, - 435, - 443, - 433, - 434, - 438, - 442, - 431, - 444, - 445, - 428 + 578, 569, 571, 572, 582, 581, 579, 574, 583, 589, 568, 588, 577, 585, 575, + 576, 580, 584, 573, 586, 587, 570 ] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 218, + "line": 276, "character": 17 } ] @@ -22876,35 +23321,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 391, - 394, - 393, - 390, - 389, - 392, - 395, - 396 - ] + "children": [533, 536, 535, 532, 531, 534, 537, 538] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 121, + "line": 179, "character": 17 } ] }, { - "id": 464, + "id": 606, "name": "Subscription", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 465, + "id": 607, "name": "id", "kind": 1024, "kindString": "Property", @@ -22915,7 +23351,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 329, + "line": 387, "character": 2 } ], @@ -22925,7 +23361,7 @@ } }, { - "id": 466, + "id": 608, "name": "callback", "kind": 2048, "kindString": "Method", @@ -22933,13 +23369,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 333, + "line": 391, "character": 2 } ], "signatures": [ { - "id": 467, + "id": 609, "name": "callback", "kind": 4096, "kindString": "Call signature", @@ -22949,17 +23385,17 @@ }, "parameters": [ { - "id": 468, + "id": 610, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent", "dereferenced": { - "id": 327, + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -22967,7 +23403,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -22999,7 +23435,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -23007,7 +23443,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -23022,7 +23458,7 @@ } }, { - "id": 469, + "id": 611, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -23036,7 +23472,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -23051,7 +23487,7 @@ ] }, { - "id": 470, + "id": 612, "name": "unsubscribe", "kind": 2048, "kindString": "Method", @@ -23059,13 +23495,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 337, + "line": 395, "character": 2 } ], "signatures": [ { - "id": 471, + "id": 613, "name": "unsubscribe", "kind": 4096, "kindString": "Call signature", @@ -23085,36 +23521,31 @@ { "title": "Properties", "kind": 1024, - "children": [ - 465 - ] + "children": [607] }, { "title": "Methods", "kind": 2048, - "children": [ - 466, - 470 - ] + "children": [608, 612] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 325, + "line": 383, "character": 17 } ] }, { - "id": 472, + "id": 614, "name": "UpdatableFactorAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 473, + "id": 615, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -23122,7 +23553,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 341, + "line": 399, "character": 2 } ], @@ -23136,28 +23567,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 473 - ] + "children": [615] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 340, + "line": 398, "character": 17 } ] }, { - "id": 425, + "id": 567, "name": "User", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 436, + "id": 578, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -23167,7 +23596,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 229, + "line": 287, "character": 2 } ], @@ -23177,7 +23606,7 @@ } }, { - "id": 427, + "id": 569, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -23185,23 +23614,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 220, + "line": 278, "character": 2 } ], "type": { "type": "reference", - "id": 418, + "id": 560, "name": "UserAppMetadata", "dereferenced": { - "id": 418, + "id": 560, "name": "UserAppMetadata", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 419, + "id": 561, "name": "provider", "kind": 1024, "kindString": "Property", @@ -23211,7 +23640,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 210, + "line": 268, "character": 2 } ], @@ -23225,27 +23654,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 419 - ] + "children": [561] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 209, + "line": 267, "character": 17 } ], "indexSignature": { - "id": 420, + "id": 562, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 421, + "id": 563, "name": "key", "kind": 32768, "flags": {}, @@ -23264,7 +23691,7 @@ } }, { - "id": 429, + "id": 571, "name": "aud", "kind": 1024, "kindString": "Property", @@ -23272,7 +23699,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 222, + "line": 280, "character": 2 } ], @@ -23282,7 +23709,7 @@ } }, { - "id": 430, + "id": 572, "name": "confirmation_sent_at", "kind": 1024, "kindString": "Property", @@ -23292,7 +23719,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 223, + "line": 281, "character": 2 } ], @@ -23302,7 +23729,7 @@ } }, { - "id": 440, + "id": 582, "name": "confirmed_at", "kind": 1024, "kindString": "Property", @@ -23312,7 +23739,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 233, + "line": 291, "character": 2 } ], @@ -23322,7 +23749,7 @@ } }, { - "id": 439, + "id": 581, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -23330,7 +23757,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 232, + "line": 290, "character": 2 } ], @@ -23340,7 +23767,7 @@ } }, { - "id": 437, + "id": 579, "name": "email", "kind": 1024, "kindString": "Property", @@ -23350,7 +23777,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 230, + "line": 288, "character": 2 } ], @@ -23360,7 +23787,7 @@ } }, { - "id": 432, + "id": 574, "name": "email_change_sent_at", "kind": 1024, "kindString": "Property", @@ -23370,7 +23797,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 225, + "line": 283, "character": 2 } ], @@ -23380,7 +23807,7 @@ } }, { - "id": 441, + "id": 583, "name": "email_confirmed_at", "kind": 1024, "kindString": "Property", @@ -23390,7 +23817,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 234, + "line": 292, "character": 2 } ], @@ -23400,7 +23827,7 @@ } }, { - "id": 447, + "id": 589, "name": "factors", "kind": 1024, "kindString": "Property", @@ -23410,7 +23837,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 240, + "line": 298, "character": 2 } ], @@ -23418,13 +23845,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 426, + "id": 568, "name": "id", "kind": 1024, "kindString": "Property", @@ -23432,7 +23859,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 219, + "line": 277, "character": 2 } ], @@ -23442,7 +23869,7 @@ } }, { - "id": 446, + "id": 588, "name": "identities", "kind": 1024, "kindString": "Property", @@ -23452,7 +23879,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 239, + "line": 297, "character": 2 } ], @@ -23460,13 +23887,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 400, + "id": 542, "name": "UserIdentity" } } }, { - "id": 435, + "id": 577, "name": "invited_at", "kind": 1024, "kindString": "Property", @@ -23476,7 +23903,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 228, + "line": 286, "character": 2 } ], @@ -23486,7 +23913,542 @@ } }, { - "id": 443, + "id": 585, + "name": "last_sign_in_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 294, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 575, + "name": "new_email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 284, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 576, + "name": "new_phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 285, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 580, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 289, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 584, + "name": "phone_confirmed_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 293, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 573, + "name": "recovery_sent_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 282, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 586, + "name": "role", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 295, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 587, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 296, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 570, + "name": "user_metadata", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 279, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 564, + "name": "UserMetadata", + "dereferenced": { + "id": 564, + "name": "UserMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 272, + "character": 17 + } + ], + "indexSignature": { + "id": 565, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 566, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 578, 569, 571, 572, 582, 581, 579, 574, 583, 589, 568, 588, 577, 585, 575, 576, 580, + 584, 573, 586, 587, 570 + ] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 276, + "character": 17 + } + ] + }, + { + "id": 560, + "name": "UserAppMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 561, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 268, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [561] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 267, + "character": 17 + } + ], + "indexSignature": { + "id": 562, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 563, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + }, + { + "id": 590, + "name": "UserAttributes", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 595, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 330, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 591, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's email." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 305, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 594, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", + "text": "Call reauthenticate() to obtain the nonce first.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 322, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 593, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 315, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 592, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's phone." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 310, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [595, 591, 594, 593, 592] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 301, + "character": 17 + } + ] + }, + { + "id": 542, + "name": "UserIdentity", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 550, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 235, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 543, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 229, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 545, + "name": "identity_data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 231, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 546, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 547, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 548, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 551, "name": "last_sign_in_at", "kind": 1024, "kindString": "Property", @@ -23506,17 +24468,15 @@ } }, { - "id": 433, - "name": "new_email", + "id": 549, + "name": "provider", "kind": 1024, "kindString": "Property", - "flags": { - "isOptional": true - }, + "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", - "line": 226, + "line": 234, "character": 2 } ], @@ -23526,88 +24486,8 @@ } }, { - "id": 434, - "name": "new_phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 227, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 438, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 231, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 442, - "name": "phone_confirmed_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 235, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 431, - "name": "recovery_sent_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 224, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 444, - "name": "role", + "id": 552, + "name": "updated_at", "kind": 1024, "kindString": "Property", "flags": { @@ -23626,488 +24506,7 @@ } }, { - "id": 445, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 238, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 428, - "name": "user_metadata", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 221, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 422, - "name": "UserMetadata", - "dereferenced": { - "id": 422, - "name": "UserMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 214, - "character": 17 - } - ], - "indexSignature": { - "id": 423, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 424, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 436, - 427, - 429, - 430, - 440, - 439, - 437, - 432, - 441, - 447, - 426, - 446, - 435, - 443, - 433, - 434, - 438, - 442, - 431, - 444, - 445, - 428 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 218, - "character": 17 - } - ] - }, - { - "id": 418, - "name": "UserAppMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 419, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 210, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 419 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 209, - "character": 17 - } - ], - "indexSignature": { - "id": 420, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 421, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - }, - { - "id": 448, - "name": "UserAttributes", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 453, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 272, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 449, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's email." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 247, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 452, - "name": "nonce", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", - "text": "Call reauthenticate() to obtain the nonce first.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 264, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 451, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 257, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 450, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's phone." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 252, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 453, - 449, - 452, - 451, - 450 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 243, - "character": 17 - } - ] - }, - { - "id": 400, - "name": "UserIdentity", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 408, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 177, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 401, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 171, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 403, - "name": "identity_data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 173, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 404, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 405, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 406, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 409, - "name": "last_sign_in_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 178, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 407, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 176, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 410, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 179, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 402, + "id": 544, "name": "user_id", "kind": 1024, "kindString": "Property", @@ -24115,7 +24514,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 172, + "line": 230, "character": 2 } ], @@ -24129,27 +24528,19 @@ { "title": "Properties", "kind": 1024, - "children": [ - 408, - 401, - 403, - 409, - 407, - 410, - 402 - ] + "children": [550, 543, 545, 551, 549, 552, 544] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 170, + "line": 228, "character": 17 } ] }, { - "id": 422, + "id": 564, "name": "UserMetadata", "kind": 256, "kindString": "Interface", @@ -24157,19 +24548,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 214, + "line": 272, "character": 17 } ], "indexSignature": { - "id": 423, + "id": 565, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 424, + "id": 566, "name": "key", "kind": 32768, "flags": {}, @@ -24186,14 +24577,14 @@ } }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -24204,7 +24595,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -24214,7 +24605,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -24224,21 +24615,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -24246,12 +24637,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -24261,7 +24658,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -24274,7 +24671,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -24288,17 +24685,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -24309,7 +24703,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -24319,7 +24713,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -24330,16 +24724,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -24347,7 +24741,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -24388,31 +24782,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, "character": 17 } ] }, { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -24422,21 +24811,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -24455,7 +24844,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -24465,7 +24854,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -24478,7 +24867,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -24492,17 +24881,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -24513,7 +24899,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -24523,7 +24909,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -24534,7 +24920,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -24544,7 +24930,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -24555,16 +24941,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -24572,7 +24958,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -24597,24 +24983,128 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 327, + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, + "character": 17 + } + ] + }, + { + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -24622,7 +25112,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -24654,7 +25144,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -24662,7 +25152,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -24675,7 +25165,7 @@ } }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -24683,7 +25173,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -24693,7 +25183,7 @@ } }, { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -24701,7 +25191,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -24720,7 +25210,7 @@ } }, { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -24736,21 +25226,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -24761,7 +25251,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -24771,7 +25261,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -24782,7 +25272,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -24796,16 +25286,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -24813,7 +25300,7 @@ } }, { - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse", "kind": 4194304, "kindString": "Type alias", @@ -24829,7 +25316,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 881, + "line": 953, "character": 12 } ], @@ -24839,14 +25326,14 @@ { "type": "reflection", "declaration": { - "id": 745, + "id": 892, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 746, + "id": 893, "name": "data", "kind": 1024, "kindString": "Property", @@ -24854,21 +25341,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 883, + "line": 955, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 747, + "id": 894, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 748, + "id": 895, "name": "id", "kind": 1024, "kindString": "Property", @@ -24879,7 +25366,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 885, + "line": 957, "character": 8 } ], @@ -24893,15 +25380,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 748 - ] + "children": [895] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 883, + "line": 955, "character": 12 } ] @@ -24909,7 +25394,7 @@ } }, { - "id": 749, + "id": 896, "name": "error", "kind": 1024, "kindString": "Property", @@ -24917,7 +25402,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 887, + "line": 959, "character": 6 } ], @@ -24931,16 +25416,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 746, - 749 - ] + "children": [893, 896] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 882, + "line": 954, "character": 4 } ] @@ -24949,14 +25431,14 @@ { "type": "reflection", "declaration": { - "id": 750, + "id": 897, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 751, + "id": 898, "name": "data", "kind": 1024, "kindString": "Property", @@ -24964,7 +25446,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 6 } ], @@ -24974,7 +25456,7 @@ } }, { - "id": 752, + "id": 899, "name": "error", "kind": 1024, "kindString": "Property", @@ -24982,13 +25464,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -24997,16 +25479,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 751, - 752 - ] + "children": [898, 899] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 4 } ] @@ -25016,7 +25495,7 @@ } }, { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -25032,21 +25511,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -25057,7 +25536,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -25071,15 +25550,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -25087,7 +25564,7 @@ } }, { - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse", "kind": 4194304, "kindString": "Type alias", @@ -25103,7 +25580,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 905, + "line": 977, "character": 12 } ], @@ -25113,14 +25590,14 @@ { "type": "reflection", "declaration": { - "id": 758, + "id": 905, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 759, + "id": 906, "name": "data", "kind": 1024, "kindString": "Property", @@ -25128,21 +25605,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 907, + "line": 979, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 760, + "id": 907, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 761, + "id": 908, "name": "factors", "kind": 1024, "kindString": "Property", @@ -25153,7 +25630,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 909, + "line": 981, "character": 8 } ], @@ -25161,7 +25638,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } @@ -25171,15 +25648,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 761 - ] + "children": [908] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 907, + "line": 979, "character": 12 } ] @@ -25187,7 +25662,7 @@ } }, { - "id": 762, + "id": 909, "name": "error", "kind": 1024, "kindString": "Property", @@ -25195,7 +25670,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 911, + "line": 983, "character": 6 } ], @@ -25209,16 +25684,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 759, - 762 - ] + "children": [906, 909] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 906, + "line": 978, "character": 4 } ] @@ -25227,14 +25699,14 @@ { "type": "reflection", "declaration": { - "id": 763, + "id": 910, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 764, + "id": 911, "name": "data", "kind": 1024, "kindString": "Property", @@ -25242,7 +25714,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 6 } ], @@ -25252,7 +25724,7 @@ } }, { - "id": 765, + "id": 912, "name": "error", "kind": 1024, "kindString": "Property", @@ -25260,13 +25732,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -25275,16 +25747,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 764, - 765 - ] + "children": [911, 912] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 4 } ] @@ -25294,7 +25763,7 @@ } }, { - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse", "kind": 4194304, "kindString": "Type alias", @@ -25302,7 +25771,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 758, + "line": 830, "character": 12 } ], @@ -25312,14 +25781,14 @@ { "type": "reflection", "declaration": { - "id": 693, + "id": 840, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 694, + "id": 841, "name": "data", "kind": 1024, "kindString": "Property", @@ -25327,21 +25796,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 760, + "line": 832, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 695, + "id": 842, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 697, + "id": 844, "name": "expires_at", "kind": 1024, "kindString": "Property", @@ -25352,7 +25821,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 765, + "line": 837, "character": 8 } ], @@ -25362,7 +25831,7 @@ } }, { - "id": 696, + "id": 843, "name": "id", "kind": 1024, "kindString": "Property", @@ -25373,7 +25842,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 762, + "line": 834, "character": 8 } ], @@ -25387,16 +25856,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 697, - 696 - ] + "children": [844, 843] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 760, + "line": 832, "character": 12 } ] @@ -25404,7 +25870,7 @@ } }, { - "id": 698, + "id": 845, "name": "error", "kind": 1024, "kindString": "Property", @@ -25412,7 +25878,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 767, + "line": 839, "character": 6 } ], @@ -25426,16 +25892,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 694, - 698 - ] + "children": [841, 845] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 759, + "line": 831, "character": 4 } ] @@ -25444,14 +25907,14 @@ { "type": "reflection", "declaration": { - "id": 699, + "id": 846, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 700, + "id": 847, "name": "data", "kind": 1024, "kindString": "Property", @@ -25459,7 +25922,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 6 } ], @@ -25469,7 +25932,7 @@ } }, { - "id": 701, + "id": 848, "name": "error", "kind": 1024, "kindString": "Property", @@ -25477,13 +25940,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -25492,16 +25955,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 700, - 701 - ] + "children": [847, 848] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 4 } ] @@ -25511,7 +25971,7 @@ } }, { - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse", "kind": 4194304, "kindString": "Type alias", @@ -25519,7 +25979,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 715, + "line": 787, "character": 12 } ], @@ -25529,14 +25989,14 @@ { "type": "reflection", "declaration": { - "id": 669, + "id": 816, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 670, + "id": 817, "name": "data", "kind": 1024, "kindString": "Property", @@ -25544,21 +26004,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 717, + "line": 789, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 671, + "id": 818, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 672, + "id": 819, "name": "id", "kind": 1024, "kindString": "Property", @@ -25569,7 +26029,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 719, + "line": 791, "character": 8 } ], @@ -25579,7 +26039,7 @@ } }, { - "id": 674, + "id": 821, "name": "totp", "kind": 1024, "kindString": "Property", @@ -25590,21 +26050,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 725, + "line": 797, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 675, + "id": 822, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 676, + "id": 823, "name": "qr_code", "kind": 1024, "kindString": "Property", @@ -25615,7 +26075,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 729, + "line": 801, "character": 10 } ], @@ -25625,7 +26085,7 @@ } }, { - "id": 677, + "id": 824, "name": "secret", "kind": 1024, "kindString": "Property", @@ -25636,7 +26096,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 734, + "line": 806, "character": 10 } ], @@ -25646,7 +26106,7 @@ } }, { - "id": 678, + "id": 825, "name": "uri", "kind": 1024, "kindString": "Property", @@ -25657,7 +26117,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 738, + "line": 810, "character": 10 } ], @@ -25671,17 +26131,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 676, - 677, - 678 - ] + "children": [823, 824, 825] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 725, + "line": 797, "character": 14 } ] @@ -25689,7 +26145,7 @@ } }, { - "id": 673, + "id": 820, "name": "type", "kind": 1024, "kindString": "Property", @@ -25700,7 +26156,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 722, + "line": 794, "character": 8 } ], @@ -25714,17 +26170,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 672, - 674, - 673 - ] + "children": [819, 821, 820] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 717, + "line": 789, "character": 12 } ] @@ -25732,7 +26184,7 @@ } }, { - "id": 679, + "id": 826, "name": "error", "kind": 1024, "kindString": "Property", @@ -25740,7 +26192,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 741, + "line": 813, "character": 6 } ], @@ -25754,16 +26206,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 670, - 679 - ] + "children": [817, 826] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 716, + "line": 788, "character": 4 } ] @@ -25772,14 +26221,14 @@ { "type": "reflection", "declaration": { - "id": 680, + "id": 827, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 681, + "id": 828, "name": "data", "kind": 1024, "kindString": "Property", @@ -25787,7 +26236,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 744, + "line": 816, "character": 6 } ], @@ -25797,7 +26246,7 @@ } }, { - "id": 682, + "id": 829, "name": "error", "kind": 1024, "kindString": "Property", @@ -25805,13 +26254,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 745, + "line": 817, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -25820,16 +26269,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 681, - 682 - ] + "children": [828, 829] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 743, + "line": 815, "character": 4 } ] @@ -25839,7 +26285,7 @@ } }, { - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse", "kind": 4194304, "kindString": "Type alias", @@ -25847,7 +26293,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 786, + "line": 858, "character": 12 } ], @@ -25857,14 +26303,14 @@ { "type": "reflection", "declaration": { - "id": 714, + "id": 861, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 715, + "id": 862, "name": "data", "kind": 1024, "kindString": "Property", @@ -25872,21 +26318,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 788, + "line": 860, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 716, + "id": 863, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 719, + "id": 866, "name": "currentAuthenticationMethods", "kind": 1024, "kindString": "Property", @@ -25897,7 +26343,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 805, + "line": 877, "character": 8 } ], @@ -25905,13 +26351,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 397, + "id": 539, "name": "AMREntry" } } }, { - "id": 717, + "id": 864, "name": "currentLevel", "kind": 1024, "kindString": "Property", @@ -25922,7 +26368,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 790, + "line": 862, "character": 8 } ], @@ -25931,7 +26377,7 @@ "types": [ { "type": "reference", - "id": 712, + "id": 859, "name": "AuthenticatorAssuranceLevels" }, { @@ -25942,7 +26388,7 @@ } }, { - "id": 718, + "id": 865, "name": "nextLevel", "kind": 1024, "kindString": "Property", @@ -25959,7 +26405,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 798, + "line": 870, "character": 8 } ], @@ -25968,7 +26414,7 @@ "types": [ { "type": "reference", - "id": 712, + "id": 859, "name": "AuthenticatorAssuranceLevels" }, { @@ -25983,17 +26429,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 719, - 717, - 718 - ] + "children": [866, 864, 865] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 788, + "line": 860, "character": 12 } ] @@ -26001,7 +26443,7 @@ } }, { - "id": 720, + "id": 867, "name": "error", "kind": 1024, "kindString": "Property", @@ -26009,7 +26451,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 807, + "line": 879, "character": 6 } ], @@ -26023,16 +26465,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 715, - 720 - ] + "children": [862, 867] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 787, + "line": 859, "character": 4 } ] @@ -26041,14 +26480,14 @@ { "type": "reflection", "declaration": { - "id": 721, + "id": 868, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 722, + "id": 869, "name": "data", "kind": 1024, "kindString": "Property", @@ -26056,7 +26495,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 6 } ], @@ -26066,7 +26505,7 @@ } }, { - "id": 723, + "id": 870, "name": "error", "kind": 1024, "kindString": "Property", @@ -26074,13 +26513,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -26089,16 +26528,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 722, - 723 - ] + "children": [869, 870] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 4 } ] @@ -26108,7 +26544,7 @@ } }, { - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse", "kind": 4194304, "kindString": "Type alias", @@ -26116,7 +26552,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 771, + "line": 843, "character": 12 } ], @@ -26126,14 +26562,14 @@ { "type": "reflection", "declaration": { - "id": 703, + "id": 850, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 704, + "id": 851, "name": "data", "kind": 1024, "kindString": "Property", @@ -26141,21 +26577,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 773, + "line": 845, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 705, + "id": 852, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 706, + "id": 853, "name": "all", "kind": 1024, "kindString": "Property", @@ -26166,7 +26602,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 775, + "line": 847, "character": 8 } ], @@ -26174,13 +26610,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 707, + "id": 854, "name": "totp", "kind": 1024, "kindString": "Property", @@ -26191,7 +26627,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 778, + "line": 850, "character": 8 } ], @@ -26199,7 +26635,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } @@ -26209,16 +26645,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 706, - 707 - ] + "children": [853, 854] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 773, + "line": 845, "character": 12 } ] @@ -26226,7 +26659,466 @@ } }, { - "id": 708, + "id": 855, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 852, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [851, 855] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 844, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 856, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 857, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 858, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [857, 858] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 830, + "name": "AuthMFAUnenrollResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 820, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 831, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 832, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 833, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 834, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor that was successfully unenrolled." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 824, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [834] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 12 + } + ] + } + } + }, + { + "id": 835, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 826, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [832, 835] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 821, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 836, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 837, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 838, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [837, 838] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 802, + "name": "AuthMFAVerifyResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 762, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 803, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 804, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 805, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 806, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "New access token (JWT) after successful verification." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 766, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 808, + "name": "expires_in", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Number of seconds in which the access token will expire." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 772, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 809, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Refresh token you can use to obtain new access tokens when expired." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 775, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 807, + "name": "token_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Type of token, typically `Bearer`." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 769, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 810, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Updated user profile." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 778, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [806, 808, 809, 807, 810] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 12 + } + ] + } + } + }, + { + "id": 811, "name": "error", "kind": 1024, "kindString": "Property", @@ -26248,16 +27140,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 704, - 708 - ] + "children": [804, 811] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 772, + "line": 763, "character": 4 } ] @@ -26266,14 +27155,14 @@ { "type": "reflection", "declaration": { - "id": 709, + "id": 812, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 710, + "id": 813, "name": "data", "kind": 1024, "kindString": "Property", @@ -26281,7 +27170,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 782, + "line": 783, "character": 6 } ], @@ -26291,7 +27180,7 @@ } }, { - "id": 711, + "id": 814, "name": "error", "kind": 1024, "kindString": "Property", @@ -26299,13 +27188,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 782, - "character": 18 + "line": 784, + "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -26314,10 +27203,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 710, - 711 - ] + "children": [813, 814] } ], "sources": [ @@ -26333,15 +27219,19 @@ } }, { - "id": 683, - "name": "AuthMFAUnenrollResponse", + "id": 469, + "name": "AuthOtpResponse", "kind": 4194304, "kindString": "Type alias", "flags": {}, + "comment": { + "shortText": "AuthOtpResponse is returned when OTP is used.", + "text": "{@see AuthRsponse}\n" + }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 748, + "line": 104, "character": 12 } ], @@ -26351,14 +27241,14 @@ { "type": "reflection", "declaration": { - "id": 684, + "id": 470, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 685, + "id": 471, "name": "data", "kind": 1024, "kindString": "Property", @@ -26366,500 +27256,50 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 750, + "line": 106, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 686, + "id": 472, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 687, - "name": "id", + "id": 475, + "name": "messageId", "kind": 1024, "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor that was successfully unenrolled." + "flags": { + "isOptional": true }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 752, - "character": 8 + "line": 106, + "character": 41 } ], "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 687 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 750, - "character": 12 - } - ] - } - } - }, - { - "id": 688, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 754, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 685, - 688 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 749, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 689, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 690, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 691, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 690, - 691 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 655, - "name": "AuthMFAVerifyResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 690, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 656, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 657, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 658, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 659, - "name": "access_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "New access token (JWT) after successful verification." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 694, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] } }, { - "id": 661, - "name": "expires_in", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Number of seconds in which the access token will expire." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 700, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 662, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Refresh token you can use to obtain new access tokens when expired." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 703, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 660, - "name": "token_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Type of token, typically `Bearer`." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 697, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 663, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Updated user profile." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 706, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 659, - 661, - 662, - 660, - 663 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 12 - } - ] - } - } - }, - { - "id": 664, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 708, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 657, - 664 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 691, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 665, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 666, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 711, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 667, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 712, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 666, - 667 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 710, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 342, - "name": "AuthResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 56, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 343, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 344, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 58, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 345, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 347, + "id": 474, "name": "session", "kind": 1024, "kindString": "Property", @@ -26867,7 +27307,296 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 60, + "line": 106, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 473, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [475, 474, 473] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 12 + } + ] + } + } + }, + { + "id": 476, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 107, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [471, 476] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 105, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 477, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 478, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 479, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 482, + "name": "messageId", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 41 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 481, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 480, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [482, 481, 480] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 12 + } + ] + } + } + }, + { + "id": 483, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 111, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [478, 483] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 109, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 456, + "name": "AuthResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 83, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 457, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 458, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 85, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 459, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 461, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, "character": 8 } ], @@ -26876,7 +27605,7 @@ "types": [ { "type": "reference", - "id": 388, + "id": 530, "name": "Session" }, { @@ -26887,7 +27616,7 @@ } }, { - "id": 346, + "id": 460, "name": "user", "kind": 1024, "kindString": "Property", @@ -26895,7 +27624,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 59, + "line": 86, "character": 8 } ], @@ -26904,7 +27633,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 567, "name": "User" }, { @@ -26919,16 +27648,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 347, - 346 - ] + "children": [461, 460] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 58, + "line": 85, "character": 12 } ] @@ -26936,7 +27662,7 @@ } }, { - "id": 348, + "id": 462, "name": "error", "kind": 1024, "kindString": "Property", @@ -26944,7 +27670,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 62, + "line": 89, "character": 6 } ], @@ -26958,16 +27684,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 344, - 348 - ] + "children": [458, 462] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 57, + "line": 84, "character": 4 } ] @@ -26976,14 +27699,14 @@ { "type": "reflection", "declaration": { - "id": 349, + "id": 463, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 350, + "id": 464, "name": "data", "kind": 1024, "kindString": "Property", @@ -26991,21 +27714,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 65, + "line": 92, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 351, + "id": 465, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 353, + "id": 467, "name": "session", "kind": 1024, "kindString": "Property", @@ -27013,7 +27736,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 67, + "line": 94, "character": 8 } ], @@ -27023,7 +27746,7 @@ } }, { - "id": 352, + "id": 466, "name": "user", "kind": 1024, "kindString": "Property", @@ -27031,7 +27754,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 66, + "line": 93, "character": 8 } ], @@ -27045,16 +27768,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 353, - 352 - ] + "children": [467, 466] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 65, + "line": 92, "character": 12 } ] @@ -27062,7 +27782,7 @@ } }, { - "id": 354, + "id": 468, "name": "error", "kind": 1024, "kindString": "Property", @@ -27070,13 +27790,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 69, + "line": 96, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -27085,16 +27805,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 350, - 354 - ] + "children": [464, 468] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 64, + "line": 91, "character": 4 } ] @@ -27104,7 +27821,269 @@ } }, { - "id": 712, + "id": 484, + "name": "AuthTokenResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 114, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 485, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 486, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 487, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 489, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 118, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 530, + "name": "Session" + } + }, + { + "id": 488, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 117, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [489, 488] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 12 + } + ] + } + } + }, + { + "id": 490, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 120, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [486, 490] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 115, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 491, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 492, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 493, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 495, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 125, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 494, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 124, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [495, 494] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 12 + } + ] + } + } + }, + { + "id": 496, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 127, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [492, 496] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 122, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 859, "name": "AuthenticatorAssuranceLevels", "kind": 4194304, "kindString": "Type alias", @@ -27112,7 +28091,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 784, + "line": 856, "character": 12 } ], @@ -27131,7 +28110,7 @@ } }, { - "id": 780, + "id": 927, "name": "CallRefreshTokenResult", "kind": 4194304, "kindString": "Type alias", @@ -27139,7 +28118,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 959, + "line": 1031, "character": 12 } ], @@ -27149,14 +28128,14 @@ { "type": "reflection", "declaration": { - "id": 781, + "id": 928, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 783, + "id": 930, "name": "error", "kind": 1024, "kindString": "Property", @@ -27164,7 +28143,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 962, + "line": 1034, "character": 6 } ], @@ -27174,7 +28153,7 @@ } }, { - "id": 782, + "id": 929, "name": "session", "kind": 1024, "kindString": "Property", @@ -27182,13 +28161,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 961, + "line": 1033, "character": 6 } ], "type": { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } } @@ -27197,16 +28176,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 783, - 782 - ] + "children": [930, 929] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 960, + "line": 1032, "character": 4 } ] @@ -27215,14 +28191,14 @@ { "type": "reflection", "declaration": { - "id": 784, + "id": 931, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 786, + "id": 933, "name": "error", "kind": 1024, "kindString": "Property", @@ -27230,18 +28206,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 966, + "line": 1038, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } }, { - "id": 785, + "id": 932, "name": "session", "kind": 1024, "kindString": "Property", @@ -27249,7 +28225,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 965, + "line": 1037, "character": 6 } ], @@ -27263,16 +28239,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 786, - 785 - ] + "children": [933, 932] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 964, + "line": 1036, "character": 4 } ] @@ -27282,7 +28255,7 @@ } }, { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -27290,7 +28263,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -27325,7 +28298,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27333,21 +28306,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -27358,7 +28331,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -27368,7 +28341,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -27379,7 +28352,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -27389,7 +28362,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -27399,7 +28372,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -27408,7 +28381,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -27422,7 +28395,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -27430,7 +28403,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -27453,18 +28426,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -27472,7 +28440,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27480,21 +28448,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -27505,7 +28473,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -27515,7 +28483,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -27525,7 +28493,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -27534,7 +28502,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -27557,7 +28525,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -27565,7 +28533,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -27588,17 +28556,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -27606,7 +28570,7 @@ } }, { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27614,7 +28578,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -27622,7 +28586,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27630,21 +28594,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -27652,7 +28616,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -27662,7 +28626,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -27672,7 +28636,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -27681,7 +28645,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -27704,7 +28668,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -27712,7 +28676,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -27722,7 +28686,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -27730,7 +28694,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -27744,18 +28708,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -27763,7 +28722,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27771,21 +28730,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -27796,7 +28755,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -27806,7 +28765,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -27816,7 +28775,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -27825,7 +28784,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -27848,7 +28807,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -27856,7 +28815,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -27879,17 +28838,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -27897,7 +28852,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -27905,21 +28860,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -27930,7 +28885,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -27940,7 +28895,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -27950,7 +28905,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -27959,7 +28914,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -27973,7 +28928,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -27981,7 +28936,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -27995,17 +28950,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -28013,7 +28964,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -28021,21 +28972,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -28046,7 +28997,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -28056,7 +29007,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -28067,7 +29018,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -28077,7 +29028,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -28087,7 +29038,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -28096,7 +29047,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -28110,7 +29061,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -28118,7 +29069,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -28141,18 +29092,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -28163,7 +29109,7 @@ } }, { - "id": 627, + "id": 774, "name": "GenerateLinkProperties", "kind": 4194304, "kindString": "Type alias", @@ -28174,21 +29120,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 624, + "line": 696, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 628, + "id": 775, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 629, + "id": 776, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -28199,7 +29145,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 629, + "line": 701, "character": 2 } ], @@ -28209,7 +29155,7 @@ } }, { - "id": 630, + "id": 777, "name": "email_otp", "kind": 1024, "kindString": "Property", @@ -28220,7 +29166,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 634, + "line": 706, "character": 2 } ], @@ -28230,7 +29176,7 @@ } }, { - "id": 631, + "id": 778, "name": "hashed_token", "kind": 1024, "kindString": "Property", @@ -28241,7 +29187,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 638, + "line": 710, "character": 2 } ], @@ -28251,7 +29197,7 @@ } }, { - "id": 632, + "id": 779, "name": "redirect_to", "kind": 1024, "kindString": "Property", @@ -28262,7 +29208,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 640, + "line": 712, "character": 2 } ], @@ -28272,7 +29218,7 @@ } }, { - "id": 633, + "id": 780, "name": "verification_type", "kind": 1024, "kindString": "Property", @@ -28283,16 +29229,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 642, + "line": 714, "character": 2 } ], "type": { "type": "reference", - "id": 634, + "id": 781, "name": "GenerateLinkType", "dereferenced": { - "id": 634, + "id": 781, "name": "GenerateLinkType", "kind": 4194304, "kindString": "Type alias", @@ -28300,7 +29246,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 645, + "line": 717, "character": 12 } ], @@ -28341,19 +29287,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 629, - 630, - 631, - 632, - 633 - ] + "children": [776, 777, 778, 779, 780] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 624, + "line": 696, "character": 37 } ] @@ -28361,7 +29301,7 @@ } }, { - "id": 614, + "id": 761, "name": "GenerateLinkResponse", "kind": 4194304, "kindString": "Type alias", @@ -28369,7 +29309,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 607, + "line": 679, "character": 12 } ], @@ -28379,14 +29319,14 @@ { "type": "reflection", "declaration": { - "id": 615, + "id": 762, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 616, + "id": 763, "name": "data", "kind": 1024, "kindString": "Property", @@ -28394,21 +29334,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 609, + "line": 681, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 617, + "id": 764, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 618, + "id": 765, "name": "properties", "kind": 1024, "kindString": "Property", @@ -28416,18 +29356,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 610, + "line": 682, "character": 8 } ], "type": { "type": "reference", - "id": 627, + "id": 774, "name": "GenerateLinkProperties" } }, { - "id": 619, + "id": 766, "name": "user", "kind": 1024, "kindString": "Property", @@ -28435,13 +29375,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 611, + "line": 683, "character": 8 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -28450,16 +29390,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 618, - 619 - ] + "children": [765, 766] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 609, + "line": 681, "character": 12 } ] @@ -28467,7 +29404,7 @@ } }, { - "id": 620, + "id": 767, "name": "error", "kind": 1024, "kindString": "Property", @@ -28475,7 +29412,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 613, + "line": 685, "character": 6 } ], @@ -28489,16 +29426,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 616, - 620 - ] + "children": [763, 767] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 608, + "line": 680, "character": 4 } ] @@ -28507,14 +29441,14 @@ { "type": "reflection", "declaration": { - "id": 621, + "id": 768, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 622, + "id": 769, "name": "data", "kind": 1024, "kindString": "Property", @@ -28522,21 +29456,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 616, + "line": 688, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 623, + "id": 770, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 624, + "id": 771, "name": "properties", "kind": 1024, "kindString": "Property", @@ -28544,7 +29478,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 617, + "line": 689, "character": 8 } ], @@ -28554,7 +29488,7 @@ } }, { - "id": 625, + "id": 772, "name": "user", "kind": 1024, "kindString": "Property", @@ -28562,7 +29496,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 618, + "line": 690, "character": 8 } ], @@ -28576,16 +29510,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 624, - 625 - ] + "children": [771, 772] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 616, + "line": 688, "character": 12 } ] @@ -28593,7 +29524,7 @@ } }, { - "id": 626, + "id": 773, "name": "error", "kind": 1024, "kindString": "Property", @@ -28601,13 +29532,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 620, + "line": 692, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -28616,16 +29547,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 622, - 626 - ] + "children": [769, 773] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 615, + "line": 687, "character": 4 } ] @@ -28635,7 +29563,7 @@ } }, { - "id": 634, + "id": 781, "name": "GenerateLinkType", "kind": 4194304, "kindString": "Type alias", @@ -28643,7 +29571,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 645, + "line": 717, "character": 12 } ], @@ -28678,7 +29606,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -28686,21 +29614,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -28711,7 +29639,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -28721,7 +29649,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -28731,7 +29659,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -28740,7 +29668,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -28754,7 +29682,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -28762,7 +29690,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -28776,17 +29704,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -28794,7 +29718,7 @@ } }, { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -28802,21 +29726,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -28824,7 +29748,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -28834,7 +29758,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -28844,7 +29768,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -28853,7 +29777,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -28876,7 +29800,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -28884,7 +29808,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -28894,7 +29818,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -28902,7 +29826,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -28916,18 +29840,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -28935,7 +29854,7 @@ } }, { - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "kind": 4194304, "kindString": "Type alias", @@ -28943,21 +29862,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 329, + "id": 441, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 337, + "id": 449, "name": "autoRefreshToken", "kind": 1024, "kindString": "Property", @@ -28967,7 +29886,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 45, + "line": 64, "character": 2 } ], @@ -28977,7 +29896,27 @@ } }, { - "id": 336, + "id": 454, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 448, "name": "detectSessionInUrl", "kind": 1024, "kindString": "Property", @@ -28987,7 +29926,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 43, + "line": 62, "character": 2 } ], @@ -28997,7 +29936,7 @@ } }, { - "id": 340, + "id": 452, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -29007,7 +29946,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 51, + "line": 70, "character": 2 } ], @@ -29017,7 +29956,7 @@ } }, { - "id": 341, + "id": 453, "name": "flowType", "kind": 1024, "kindString": "Property", @@ -29027,16 +29966,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 53, + "line": 72, "character": 2 } ], "type": { "type": "reference", - "id": 522, + "id": 664, "name": "AuthFlowType", "dereferenced": { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -29044,7 +29983,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -29065,7 +30004,7 @@ } }, { - "id": 331, + "id": 443, "name": "headers", "kind": 1024, "kindString": "Property", @@ -29075,14 +30014,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 332, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -29090,19 +30029,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 12 } ], "indexSignature": { - "id": 333, + "id": 445, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 334, + "id": 446, "name": "key", "kind": 32768, "flags": {}, @@ -29121,7 +30060,187 @@ } }, { - "id": 338, + "id": 455, + "name": "lock", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Provide your own locking mechanism based on the environment. By default no locking is done at this time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 431, + "name": "LockFunc", + "dereferenced": { + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + } + }, + { + "id": 450, "name": "persistSession", "kind": 1024, "kindString": "Property", @@ -29131,7 +30250,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 66, "character": 2 } ], @@ -29141,7 +30260,7 @@ } }, { - "id": 339, + "id": 451, "name": "storage", "kind": 1024, "kindString": "Property", @@ -29151,16 +30270,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 49, + "line": 68, "character": 2 } ], "type": { "type": "reference", - "id": 776, + "id": 923, "name": "SupportedStorage", "dereferenced": { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -29168,7 +30287,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -29213,7 +30332,7 @@ } }, { - "id": 335, + "id": 447, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -29223,7 +30342,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 41, + "line": 60, "character": 2 } ], @@ -29233,7 +30352,7 @@ } }, { - "id": 330, + "id": 442, "name": "url", "kind": 1024, "kindString": "Property", @@ -29243,7 +30362,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 37, + "line": 56, "character": 2 } ], @@ -29257,23 +30376,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 337, - 336, - 340, - 341, - 331, - 338, - 339, - 335, - 330 - ] + "children": [449, 454, 448, 452, 453, 443, 455, 450, 451, 447, 442] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 34 } ] @@ -29281,7 +30390,7 @@ } }, { - "id": 777, + "id": 924, "name": "InitializeResult", "kind": 4194304, "kindString": "Type alias", @@ -29289,21 +30398,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 778, + "id": 925, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 779, + "id": 926, "name": "error", "kind": 1024, "kindString": "Property", @@ -29311,7 +30420,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 33 } ], @@ -29320,7 +30429,7 @@ "types": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" }, { @@ -29335,15 +30444,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 779 - ] + "children": [926] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 31 } ] @@ -29351,7 +30458,157 @@ } }, { - "id": 651, + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -29359,21 +30616,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -29384,7 +30641,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -29394,7 +30651,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -29405,7 +30662,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -29419,16 +30676,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -29436,7 +30690,7 @@ } }, { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -29444,21 +30698,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -29469,7 +30723,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -29483,15 +30737,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -29499,7 +30751,7 @@ } }, { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -29507,21 +30759,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -29532,7 +30784,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -29542,7 +30794,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -29555,7 +30807,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -29565,7 +30817,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -29578,7 +30830,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -29592,17 +30844,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -29610,7 +30858,7 @@ } }, { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -29618,21 +30866,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -29643,7 +30891,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -29657,15 +30905,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -29673,7 +30919,7 @@ } }, { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -29681,21 +30927,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -29706,7 +30952,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -29716,7 +30962,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -29727,7 +30973,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -29737,7 +30983,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -29748,7 +30994,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -29762,17 +31008,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -29780,7 +31022,7 @@ } }, { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -29788,7 +31030,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -29807,7 +31049,7 @@ } }, { - "id": 355, + "id": 497, "name": "OAuthResponse", "kind": 4194304, "kindString": "Type alias", @@ -29815,7 +31057,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 130, "character": 12 } ], @@ -29825,14 +31067,14 @@ { "type": "reflection", "declaration": { - "id": 356, + "id": 498, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 357, + "id": 499, "name": "data", "kind": 1024, "kindString": "Property", @@ -29840,21 +31082,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 74, + "line": 132, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 358, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 359, + "id": 501, "name": "provider", "kind": 1024, "kindString": "Property", @@ -29862,18 +31104,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 75, + "line": 133, "character": 8 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider" } }, { - "id": 360, + "id": 502, "name": "url", "kind": 1024, "kindString": "Property", @@ -29881,7 +31123,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 76, + "line": 134, "character": 8 } ], @@ -29895,16 +31137,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 359, - 360 - ] + "children": [501, 502] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 74, + "line": 132, "character": 12 } ] @@ -29912,7 +31151,7 @@ } }, { - "id": 361, + "id": 503, "name": "error", "kind": 1024, "kindString": "Property", @@ -29920,7 +31159,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 136, "character": 6 } ], @@ -29934,16 +31173,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 357, - 361 - ] + "children": [499, 503] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 73, + "line": 131, "character": 4 } ] @@ -29952,14 +31188,14 @@ { "type": "reflection", "declaration": { - "id": 362, + "id": 504, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 363, + "id": 505, "name": "data", "kind": 1024, "kindString": "Property", @@ -29967,21 +31203,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 81, + "line": 139, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 364, + "id": 506, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 365, + "id": 507, "name": "provider", "kind": 1024, "kindString": "Property", @@ -29989,18 +31225,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 82, + "line": 140, "character": 8 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider" } }, { - "id": 366, + "id": 508, "name": "url", "kind": 1024, "kindString": "Property", @@ -30008,7 +31244,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 83, + "line": 141, "character": 8 } ], @@ -30022,16 +31258,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 365, - 366 - ] + "children": [507, 508] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 81, + "line": 139, "character": 12 } ] @@ -30039,7 +31272,7 @@ } }, { - "id": 367, + "id": 509, "name": "error", "kind": 1024, "kindString": "Property", @@ -30047,13 +31280,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 85, + "line": 143, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -30062,16 +31295,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 367 - ] + "children": [505, 509] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 80, + "line": 138, "character": 4 } ] @@ -30081,7 +31311,7 @@ } }, { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -30089,21 +31319,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -30116,7 +31346,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -30126,7 +31356,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -30139,7 +31369,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -30153,16 +31383,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -30170,7 +31397,7 @@ } }, { - "id": 787, + "id": 934, "name": "Pagination", "kind": 4194304, "kindString": "Type alias", @@ -30178,21 +31405,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 969, + "line": 1041, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 788, + "id": 935, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 790, + "id": 937, "name": "lastPage", "kind": 1024, "kindString": "Property", @@ -30200,7 +31427,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 972, + "line": 1044, "character": 2 } ], @@ -30210,7 +31437,7 @@ } }, { - "id": 789, + "id": 936, "name": "nextPage", "kind": 1024, "kindString": "Property", @@ -30218,7 +31445,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 971, + "line": 1043, "character": 2 } ], @@ -30237,7 +31464,7 @@ } }, { - "id": 791, + "id": 938, "name": "total", "kind": 1024, "kindString": "Property", @@ -30245,7 +31472,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 973, + "line": 1045, "character": 2 } ], @@ -30259,29 +31486,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 790, - 789, - 791 - ] + "children": [937, 936, 938] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 969, + "line": 1041, "character": 25 } ], "indexSignature": { - "id": 792, + "id": 939, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 793, + "id": 940, "name": "key", "kind": 32768, "flags": {}, @@ -30300,7 +31523,7 @@ } }, { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -30338,6 +31561,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -30350,6 +31577,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -30390,7 +31621,7 @@ } }, { - "id": 562, + "id": 708, "name": "ResendParams", "kind": 4194304, "kindString": "Type alias", @@ -30398,7 +31629,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 516, + "line": 586, "character": 12 } ], @@ -30408,14 +31639,14 @@ { "type": "reflection", "declaration": { - "id": 563, + "id": 709, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 565, + "id": 711, "name": "email", "kind": 1024, "kindString": "Property", @@ -30423,7 +31654,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 519, + "line": 589, "character": 6 } ], @@ -30433,7 +31664,7 @@ } }, { - "id": 566, + "id": 712, "name": "options", "kind": 1024, "kindString": "Property", @@ -30443,21 +31674,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 567, + "id": 713, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 568, + "id": 715, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -30470,7 +31701,30 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 522, + "line": 594, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 714, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 592, "character": 8 } ], @@ -30484,15 +31738,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 568 - ] + "children": [715, 714] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 16 } ] @@ -30500,7 +31752,7 @@ } }, { - "id": 564, + "id": 710, "name": "type", "kind": 1024, "kindString": "Property", @@ -30508,7 +31760,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 518, + "line": 588, "character": 6 } ], @@ -30517,7 +31769,7 @@ "typeArguments": [ { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType" }, { @@ -30544,17 +31796,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 565, - 566, - 564 - ] + "children": [711, 712, 710] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 517, + "line": 587, "character": 4 } ] @@ -30563,14 +31811,14 @@ { "type": "reflection", "declaration": { - "id": 569, + "id": 716, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 572, + "id": 719, "name": "options", "kind": 1024, "kindString": "Property", @@ -30580,21 +31828,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 573, + "id": 720, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 574, + "id": 721, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -30607,7 +31855,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 530, + "line": 602, "character": 8 } ], @@ -30621,15 +31869,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574 - ] + "children": [721] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 16 } ] @@ -30637,7 +31883,7 @@ } }, { - "id": 571, + "id": 718, "name": "phone", "kind": 1024, "kindString": "Property", @@ -30645,7 +31891,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 527, + "line": 599, "character": 6 } ], @@ -30655,7 +31901,7 @@ } }, { - "id": 570, + "id": 717, "name": "type", "kind": 1024, "kindString": "Property", @@ -30663,7 +31909,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 526, + "line": 598, "character": 6 } ], @@ -30672,7 +31918,7 @@ "typeArguments": [ { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType" }, { @@ -30699,17 +31945,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 572, - 571, - 570 - ] + "children": [719, 718, 717] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 525, + "line": 597, "character": 4 } ] @@ -30719,7 +31961,7 @@ } }, { - "id": 368, + "id": 510, "name": "SSOResponse", "kind": 4194304, "kindString": "Type alias", @@ -30727,7 +31969,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 88, + "line": 146, "character": 12 } ], @@ -30737,14 +31979,14 @@ { "type": "reflection", "declaration": { - "id": 369, + "id": 511, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 370, + "id": 512, "name": "data", "kind": 1024, "kindString": "Property", @@ -30752,21 +31994,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 90, + "line": 148, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 371, + "id": 513, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 372, + "id": 514, "name": "url", "kind": 1024, "kindString": "Property", @@ -30778,7 +32020,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 98, + "line": 156, "character": 8 } ], @@ -30792,15 +32034,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 372 - ] + "children": [514] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 90, + "line": 148, "character": 12 } ] @@ -30808,7 +32048,7 @@ } }, { - "id": 373, + "id": 515, "name": "error", "kind": 1024, "kindString": "Property", @@ -30816,7 +32056,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 100, + "line": 158, "character": 6 } ], @@ -30830,16 +32070,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 370, - 373 - ] + "children": [512, 515] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 89, + "line": 147, "character": 4 } ] @@ -30848,14 +32085,14 @@ { "type": "reflection", "declaration": { - "id": 374, + "id": 516, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 375, + "id": 517, "name": "data", "kind": 1024, "kindString": "Property", @@ -30863,7 +32100,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 103, + "line": 161, "character": 6 } ], @@ -30873,7 +32110,7 @@ } }, { - "id": 376, + "id": 518, "name": "error", "kind": 1024, "kindString": "Property", @@ -30881,13 +32118,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 104, + "line": 162, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -30896,16 +32133,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 375, - 376 - ] + "children": [517, 518] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 102, + "line": 160, "character": 4 } ] @@ -30915,7 +32149,7 @@ } }, { - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "kind": 4194304, "kindString": "Type alias", @@ -30923,34 +32157,34 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 536, + "id": 678, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 539, - "name": "nonce", + "id": 681, + "name": "access_token", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, "comment": { - "shortText": "If the ID token contains a `nonce`, then the hash of this value is compared to the value in the ID token." + "shortText": "If the ID token contains an `at_hash` claim, then the hash of this value is compared to the value in the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 471, + "line": 527, "character": 2 } ], @@ -30960,7 +32194,30 @@ } }, { - "id": 540, + "id": 682, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains a `nonce` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 529, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 683, "name": "options", "kind": 1024, "kindString": "Property", @@ -30970,21 +32227,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 541, + "id": 684, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 542, + "id": 685, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -30997,7 +32254,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 474, + "line": 532, "character": 4 } ], @@ -31011,15 +32268,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 542 - ] + "children": [685] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 12 } ] @@ -31027,18 +32282,18 @@ } }, { - "id": 537, + "id": 679, "name": "provider", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "Only Apple and Google ID tokens are supported for use from within iOS or Android applications." + "shortText": "Provider name or OIDC `iss` value identifying which provider should be used to verify the provided token. Supported names: `google`, `apple`, `azure`, `facebook`, `keycloak` (deprecated)." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 467, + "line": 523, "character": 2 } ], @@ -31052,23 +32307,35 @@ { "type": "literal", "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "intrinsic", + "name": "string" } ] } }, { - "id": 538, + "id": 680, "name": "token", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "ID token issued by Apple or Google." + "shortText": "OIDC ID token issued by the specified provider. The `iss` claim in the ID token must match the supplied provider. Some ID tokens contain an `at_hash` which require that you provide an `access_token` value to be accepted properly. If the token contains a `nonce` claim you must supply the nonce used to obtain the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 469, + "line": 525, "character": 2 } ], @@ -31082,18 +32349,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 539, - 540, - 537, - 538 - ] + "children": [681, 682, 683, 679, 680] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 43 } ] @@ -31101,7 +32363,7 @@ } }, { - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "kind": 4194304, "kindString": "Type alias", @@ -31109,21 +32371,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 524, + "id": 666, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 526, + "id": 668, "name": "options", "kind": 1024, "kindString": "Property", @@ -31133,21 +32395,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 527, + "id": 669, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 530, + "id": 672, "name": "queryParams", "kind": 1024, "kindString": "Property", @@ -31160,14 +32422,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 531, + "id": 673, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31175,19 +32437,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 18 } ], "indexSignature": { - "id": 532, + "id": 674, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 533, + "id": 675, "name": "key", "kind": 32768, "flags": {}, @@ -31206,7 +32468,7 @@ } }, { - "id": 528, + "id": 670, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -31219,7 +32481,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 453, + "line": 511, "character": 4 } ], @@ -31229,7 +32491,7 @@ } }, { - "id": 529, + "id": 671, "name": "scopes", "kind": 1024, "kindString": "Property", @@ -31242,7 +32504,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 455, + "line": 513, "character": 4 } ], @@ -31252,7 +32514,7 @@ } }, { - "id": 534, + "id": 676, "name": "skipBrowserRedirect", "kind": 1024, "kindString": "Property", @@ -31265,7 +32527,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 459, + "line": 517, "character": 4 } ], @@ -31279,18 +32541,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 530, - 528, - 529, - 534 - ] + "children": [672, 670, 671, 676] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 12 } ] @@ -31298,7 +32555,7 @@ } }, { - "id": 525, + "id": 667, "name": "provider", "kind": 1024, "kindString": "Property", @@ -31309,16 +32566,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 450, + "line": 508, "character": 2 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider", "dereferenced": { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -31356,6 +32613,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -31368,6 +32629,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -31414,16 +32679,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 526, - 525 - ] + "children": [668, 667] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 41 } ] @@ -31431,7 +32693,7 @@ } }, { - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -31439,7 +32701,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 381, + "line": 439, "character": 12 } ], @@ -31449,14 +32711,14 @@ { "type": "reflection", "declaration": { - "id": 492, + "id": 634, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 493, + "id": 635, "name": "email", "kind": 1024, "kindString": "Property", @@ -31467,7 +32729,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 384, + "line": 442, "character": 6 } ], @@ -31477,7 +32739,7 @@ } }, { - "id": 495, + "id": 637, "name": "options", "kind": 1024, "kindString": "Property", @@ -31487,21 +32749,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 496, + "id": 638, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 639, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -31514,7 +32776,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 389, + "line": 447, "character": 8 } ], @@ -31528,15 +32790,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497 - ] + "children": [639] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 16 } ] @@ -31544,7 +32804,7 @@ } }, { - "id": 494, + "id": 636, "name": "password", "kind": 1024, "kindString": "Property", @@ -31555,7 +32815,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 386, + "line": 444, "character": 6 } ], @@ -31569,17 +32829,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 493, - 495, - 494 - ] + "children": [635, 637, 636] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 382, + "line": 440, "character": 4 } ] @@ -31588,14 +32844,14 @@ { "type": "reflection", "declaration": { - "id": 498, + "id": 640, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 501, + "id": 643, "name": "options", "kind": 1024, "kindString": "Property", @@ -31605,21 +32861,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 502, + "id": 644, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 504, + "id": 646, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -31632,7 +32888,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 405, + "line": 463, "character": 8 } ], @@ -31642,7 +32898,7 @@ } }, { - "id": 503, + "id": 645, "name": "data", "kind": 1024, "kindString": "Property", @@ -31656,7 +32912,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 403, + "line": 461, "character": 8 } ], @@ -31670,16 +32926,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 504, - 503 - ] + "children": [646, 645] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 16 } ] @@ -31687,7 +32940,7 @@ } }, { - "id": 500, + "id": 642, "name": "password", "kind": 1024, "kindString": "Property", @@ -31698,7 +32951,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 396, + "line": 454, "character": 6 } ], @@ -31708,7 +32961,7 @@ } }, { - "id": 499, + "id": 641, "name": "phone", "kind": 1024, "kindString": "Property", @@ -31719,7 +32972,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 394, + "line": 452, "character": 6 } ], @@ -31733,17 +32986,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 501, - 500, - 499 - ] + "children": [643, 642, 641] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 392, + "line": 450, "character": 4 } ] @@ -31753,7 +33002,7 @@ } }, { - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "kind": 4194304, "kindString": "Type alias", @@ -31761,7 +33010,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 409, + "line": 467, "character": 12 } ], @@ -31771,14 +33020,14 @@ { "type": "reflection", "declaration": { - "id": 506, + "id": 648, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 507, + "id": 649, "name": "email", "kind": 1024, "kindString": "Property", @@ -31789,7 +33038,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 412, + "line": 470, "character": 6 } ], @@ -31799,7 +33048,7 @@ } }, { - "id": 508, + "id": 650, "name": "options", "kind": 1024, "kindString": "Property", @@ -31809,21 +33058,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 509, + "id": 651, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 513, + "id": 655, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -31836,7 +33085,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 425, + "line": 483, "character": 8 } ], @@ -31846,7 +33095,7 @@ } }, { - "id": 512, + "id": 654, "name": "data", "kind": 1024, "kindString": "Property", @@ -31860,7 +33109,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 423, + "line": 481, "character": 8 } ], @@ -31870,7 +33119,7 @@ } }, { - "id": 510, + "id": 652, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -31883,7 +33132,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 415, + "line": 473, "character": 8 } ], @@ -31893,7 +33142,7 @@ } }, { - "id": 511, + "id": 653, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -31906,7 +33155,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 417, + "line": 475, "character": 8 } ], @@ -31920,18 +33169,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 513, - 512, - 510, - 511 - ] + "children": [655, 654, 652, 653] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 16 } ] @@ -31943,16 +33187,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 507, - 508 - ] + "children": [649, 650] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 410, + "line": 468, "character": 4 } ] @@ -31961,14 +33202,14 @@ { "type": "reflection", "declaration": { - "id": 514, + "id": 656, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 516, + "id": 658, "name": "options", "kind": 1024, "kindString": "Property", @@ -31978,21 +33219,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 517, + "id": 659, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 520, + "id": 662, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -32005,7 +33246,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 441, + "line": 499, "character": 8 } ], @@ -32015,7 +33256,7 @@ } }, { - "id": 521, + "id": 663, "name": "channel", "kind": 1024, "kindString": "Property", @@ -32028,7 +33269,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 443, + "line": 501, "character": 8 } ], @@ -32047,7 +33288,7 @@ } }, { - "id": 519, + "id": 661, "name": "data", "kind": 1024, "kindString": "Property", @@ -32061,7 +33302,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 439, + "line": 497, "character": 8 } ], @@ -32071,7 +33312,7 @@ } }, { - "id": 518, + "id": 660, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -32084,7 +33325,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 433, + "line": 491, "character": 8 } ], @@ -32098,18 +33339,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 520, - 521, - 519, - 518 - ] + "children": [662, 663, 661, 660] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 16 } ] @@ -32117,7 +33353,7 @@ } }, { - "id": 515, + "id": 657, "name": "phone", "kind": 1024, "kindString": "Property", @@ -32128,7 +33364,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 430, + "line": 488, "character": 6 } ], @@ -32142,16 +33378,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 516, - 515 - ] + "children": [658, 657] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 428, + "line": 486, "character": 4 } ] @@ -32161,7 +33394,7 @@ } }, { - "id": 575, + "id": 722, "name": "SignInWithSSO", "kind": 4194304, "kindString": "Type alias", @@ -32169,7 +33402,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 534, + "line": 606, "character": 12 } ], @@ -32179,14 +33412,14 @@ { "type": "reflection", "declaration": { - "id": 576, + "id": 723, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 578, + "id": 725, "name": "options", "kind": 1024, "kindString": "Property", @@ -32196,21 +33429,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 579, + "id": 726, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 581, + "id": 728, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -32223,7 +33456,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 543, + "line": 615, "character": 8 } ], @@ -32233,7 +33466,7 @@ } }, { - "id": 580, + "id": 727, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -32246,7 +33479,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 541, + "line": 613, "character": 8 } ], @@ -32260,16 +33493,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 581, - 580 - ] + "children": [728, 727] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 16 } ] @@ -32277,7 +33507,7 @@ } }, { - "id": 577, + "id": 724, "name": "providerId", "kind": 1024, "kindString": "Property", @@ -32288,7 +33518,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 537, + "line": 609, "character": 6 } ], @@ -32302,16 +33532,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 578, - 577 - ] + "children": [725, 724] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 535, + "line": 607, "character": 4 } ] @@ -32320,14 +33547,14 @@ { "type": "reflection", "declaration": { - "id": 582, + "id": 729, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 583, + "id": 730, "name": "domain", "kind": 1024, "kindString": "Property", @@ -32338,7 +33565,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 548, + "line": 620, "character": 6 } ], @@ -32348,7 +33575,7 @@ } }, { - "id": 584, + "id": 731, "name": "options", "kind": 1024, "kindString": "Property", @@ -32358,21 +33585,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 585, + "id": 732, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 587, + "id": 734, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -32385,7 +33612,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 554, + "line": 626, "character": 8 } ], @@ -32395,7 +33622,7 @@ } }, { - "id": 586, + "id": 733, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -32408,7 +33635,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 552, + "line": 624, "character": 8 } ], @@ -32422,16 +33649,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 587, - 586 - ] + "children": [734, 733] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 16 } ] @@ -32443,16 +33667,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 583, - 584 - ] + "children": [730, 731] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 546, + "line": 618, "character": 4 } ] @@ -32462,7 +33683,83 @@ } }, { - "id": 474, + "id": 945, + "name": "SignOut", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 946, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 947, + "name": "scope", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines which sessions should be\nlogged out. Global means all\nsessions by this account. Local\nmeans only this session. Others\nmeans all other sessions except the\ncurrent one. When using others,\nthere is no sign-out event fired on\nthe current session!" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1066, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [947] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 22 + } + ] + } + } + }, + { + "id": 616, "name": "SignUpWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -32470,7 +33767,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 344, + "line": 402, "character": 12 } ], @@ -32480,14 +33777,14 @@ { "type": "reflection", "declaration": { - "id": 475, + "id": 617, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 476, + "id": 618, "name": "email", "kind": 1024, "kindString": "Property", @@ -32498,7 +33795,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 347, + "line": 405, "character": 6 } ], @@ -32508,7 +33805,7 @@ } }, { - "id": 478, + "id": 620, "name": "options", "kind": 1024, "kindString": "Property", @@ -32518,21 +33815,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 479, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 482, + "id": 624, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -32545,7 +33842,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 360, + "line": 418, "character": 8 } ], @@ -32555,7 +33852,7 @@ } }, { - "id": 481, + "id": 623, "name": "data", "kind": 1024, "kindString": "Property", @@ -32569,7 +33866,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 358, + "line": 416, "character": 8 } ], @@ -32579,7 +33876,7 @@ } }, { - "id": 480, + "id": 622, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -32592,7 +33889,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 352, + "line": 410, "character": 8 } ], @@ -32606,17 +33903,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 482, - 481, - 480 - ] + "children": [624, 623, 622] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 16 } ] @@ -32624,7 +33917,7 @@ } }, { - "id": 477, + "id": 619, "name": "password", "kind": 1024, "kindString": "Property", @@ -32635,7 +33928,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 349, + "line": 407, "character": 6 } ], @@ -32649,17 +33942,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 476, - 478, - 477 - ] + "children": [618, 620, 619] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 345, + "line": 403, "character": 4 } ] @@ -32668,14 +33957,14 @@ { "type": "reflection", "declaration": { - "id": 483, + "id": 625, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 486, + "id": 628, "name": "options", "kind": 1024, "kindString": "Property", @@ -32685,21 +33974,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 487, + "id": 629, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 489, + "id": 631, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -32712,7 +34001,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 376, + "line": 434, "character": 8 } ], @@ -32722,7 +34011,7 @@ } }, { - "id": 490, + "id": 632, "name": "channel", "kind": 1024, "kindString": "Property", @@ -32735,7 +34024,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 378, + "line": 436, "character": 8 } ], @@ -32754,7 +34043,7 @@ } }, { - "id": 488, + "id": 630, "name": "data", "kind": 1024, "kindString": "Property", @@ -32768,7 +34057,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 374, + "line": 432, "character": 8 } ], @@ -32782,17 +34071,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 489, - 490, - 488 - ] + "children": [631, 632, 630] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 16 } ] @@ -32800,7 +34085,7 @@ } }, { - "id": 485, + "id": 627, "name": "password", "kind": 1024, "kindString": "Property", @@ -32811,7 +34096,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 367, + "line": 425, "character": 6 } ], @@ -32821,7 +34106,7 @@ } }, { - "id": 484, + "id": 626, "name": "phone", "kind": 1024, "kindString": "Property", @@ -32832,7 +34117,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 365, + "line": 423, "character": 6 } ], @@ -32846,17 +34131,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 486, - 485, - 484 - ] + "children": [628, 627, 626] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 363, + "line": 421, "character": 4 } ] @@ -32866,7 +34147,7 @@ } }, { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -32874,7 +34155,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -32917,7 +34198,7 @@ } }, { - "id": 377, + "id": 519, "name": "UserResponse", "kind": 4194304, "kindString": "Type alias", @@ -32925,7 +34206,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 107, + "line": 165, "character": 12 } ], @@ -32935,14 +34216,14 @@ { "type": "reflection", "declaration": { - "id": 378, + "id": 520, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 379, + "id": 521, "name": "data", "kind": 1024, "kindString": "Property", @@ -32950,21 +34231,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 109, + "line": 167, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 380, + "id": 522, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 381, + "id": 523, "name": "user", "kind": 1024, "kindString": "Property", @@ -32972,13 +34253,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 110, + "line": 168, "character": 8 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -32987,15 +34268,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 381 - ] + "children": [523] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 109, + "line": 167, "character": 12 } ] @@ -33003,7 +34282,7 @@ } }, { - "id": 382, + "id": 524, "name": "error", "kind": 1024, "kindString": "Property", @@ -33011,7 +34290,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 112, + "line": 170, "character": 6 } ], @@ -33025,16 +34304,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 379, - 382 - ] + "children": [521, 524] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 108, + "line": 166, "character": 4 } ] @@ -33043,14 +34319,14 @@ { "type": "reflection", "declaration": { - "id": 383, + "id": 525, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 384, + "id": 526, "name": "data", "kind": 1024, "kindString": "Property", @@ -33058,21 +34334,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 115, + "line": 173, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 385, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 386, + "id": 528, "name": "user", "kind": 1024, "kindString": "Property", @@ -33080,7 +34356,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 116, + "line": 174, "character": 8 } ], @@ -33094,15 +34370,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 386 - ] + "children": [528] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 115, + "line": 173, "character": 12 } ] @@ -33110,7 +34384,7 @@ } }, { - "id": 387, + "id": 529, "name": "error", "kind": 1024, "kindString": "Property", @@ -33118,13 +34392,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 118, + "line": 176, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -33133,16 +34407,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 384, - 387 - ] + "children": [526, 529] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 114, + "line": 172, "character": 4 } ] @@ -33152,7 +34423,7 @@ } }, { - "id": 543, + "id": 686, "name": "VerifyOtpParams", "kind": 4194304, "kindString": "Type alias", @@ -33160,7 +34431,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 478, + "line": 536, "character": 12 } ], @@ -33168,14 +34439,14 @@ "type": "union", "types": [ { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -33185,21 +34456,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -33218,7 +34489,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -33228,7 +34499,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -33241,7 +34512,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -33255,17 +34526,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -33276,7 +34544,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -33286,7 +34554,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -33297,7 +34565,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -33307,7 +34575,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -33318,16 +34586,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -33335,7 +34603,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -33360,31 +34628,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -33395,7 +34658,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -33405,7 +34668,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -33415,21 +34678,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -33437,12 +34700,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -33452,7 +34721,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -33465,7 +34734,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -33479,17 +34748,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -33500,7 +34766,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -33510,7 +34776,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -33521,16 +34787,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -33538,7 +34804,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -33579,18 +34845,122 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, + "character": 17 + } + ] + }, + { + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, "character": 17 } ] @@ -33599,7 +34969,78 @@ } }, { - "id": 801, + "id": 425, + "name": "lockInternals", + "kind": 32, + "kindString": "Variable", + "flags": { + "isConst": true + }, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 6, + "character": 13 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 426, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 427, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 10, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "!!(\n globalThis &&\n supportsLocalStorage() &&\n globalThis.localStorage &&\n globalThis.localStorage.getItem('supabase.gotrue-js.locks.debug') === 'true'\n )" + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [427] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 951, "name": "isAuthApiError", "kind": 64, "kindString": "Function", @@ -33613,14 +35054,14 @@ ], "signatures": [ { - "id": 802, + "id": 952, "name": "isAuthApiError", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 803, + "id": 953, "name": "error", "kind": 32768, "kindString": "Parameter", @@ -33637,7 +35078,7 @@ "asserts": false, "targetType": { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" } } @@ -33645,7 +35086,7 @@ ] }, { - "id": 798, + "id": 948, "name": "isAuthError", "kind": 64, "kindString": "Function", @@ -33659,14 +35100,14 @@ ], "signatures": [ { - "id": 799, + "id": 949, "name": "isAuthError", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 800, + "id": 950, "name": "error", "kind": 32768, "kindString": "Parameter", @@ -33683,115 +35124,218 @@ "asserts": false, "targetType": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } } ] + }, + { + "id": 954, + "name": "isAuthRetryableFetchError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 124, + "character": 16 + } + ], + "signatures": [ + { + "id": 955, + "name": "isAuthRetryableFetchError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 956, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 1087, + "name": "AuthRetryableFetchError" + } + } + } + ] + }, + { + "id": 412, + "name": "navigatorLock", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 53, + "character": 22 + } + ], + "signatures": [ + { + "id": 413, + "name": "navigatorLock", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Implements a global exclusive lock using the Navigator LockManager API. It\nis available on all browsers released after 2022-03-15 with Safari being the\nlast one to release support. If the API is not available, this function will\nthrow. Make sure you check availablility before configuring {@link\nGoTrueClient}.", + "text": "You can turn on debugging by setting the `supabase.gotrue-js.locks.debug`\nlocal storage item to `true`.\n\nInternals:\n\nSince the LockManager API does not preserve stack traces for the async\nfunction passed in the `request` method, a trick is used where acquiring the\nlock releases a previously started promise to run the operation in the `fn`\nfunction. The lock waits for that promise to finish (with or without error),\nwhile the function will finally wait for the result anyway.\n", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 414, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 415, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 416, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout. If 0 an error is thrown if\n the lock can't be acquired without waiting. If positive, the lock acquire\n will time out after so many milliseconds. An error is\n a timeout if it has `isAcquireTimeout` set to true." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 417, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to run once the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 418, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 419, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] } ], "groups": [ { "title": "Classes", "kind": 128, - "children": [ - 811, - 804, - 872, - 859, - 897, - 922, - 847, - 824, - 832, - 1, - 77 - ] + "children": [964, 957, 1037, 1024, 1012, 1062, 1087, 1000, 977, 985, 1, 78, 420] }, { "title": "Interfaces", "kind": 256, "children": [ - 397, - 454, - 411, - 610, - 769, - 724, - 388, - 464, - 472, - 425, - 418, - 448, - 400, - 422, - 552, - 544 + 539, 596, 553, 757, 916, 871, 530, 606, 614, 567, 560, 590, 542, 564, 695, 687, 703 ] }, { "title": "Type Aliases", "kind": 4194304, "children": [ - 327, - 326, - 522, - 753, - 744, - 766, - 757, - 692, - 668, - 713, - 702, - 683, - 655, - 342, - 712, - 780, - 561, - 604, - 594, - 613, - 627, - 614, - 634, - 599, - 588, - 328, - 777, - 651, - 648, - 635, - 640, - 643, - 560, - 355, - 794, - 787, - 325, - 562, - 368, - 535, - 523, - 491, - 505, - 575, - 474, - 776, - 377, - 543 + 430, 429, 664, 900, 891, 913, 904, 839, 815, 860, 849, 830, 802, 469, 456, 484, 859, + 927, 707, 751, 741, 760, 774, 761, 781, 746, 735, 440, 924, 431, 798, 795, 782, 787, + 790, 706, 497, 941, 934, 428, 708, 510, 677, 665, 633, 647, 722, 945, 616, 923, 519, 686 ] }, + { + "title": "Variables", + "kind": 32, + "children": [425] + }, { "title": "Functions", "kind": 64, - "children": [ - 801, - 798 - ] + "children": [951, 948, 954, 412] } ], "sources": [ @@ -33811,7 +35355,7 @@ "originalName": "", "children": [ { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -33820,7 +35364,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -33834,14 +35378,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -33850,24 +35394,24 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -33879,32 +35423,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -33916,7 +35445,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -33926,7 +35455,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -33936,11 +35465,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -33958,11 +35487,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -33972,7 +35501,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -33993,7 +35522,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -34010,21 +35539,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -34048,7 +35577,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -34083,7 +35612,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -34115,7 +35644,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -34135,7 +35664,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -34176,7 +35705,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -34197,7 +35726,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -34218,7 +35747,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -34241,7 +35770,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -34263,7 +35792,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -34277,25 +35806,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -34303,7 +35832,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -34316,7 +35845,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -34333,32 +35862,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -34371,7 +35900,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -34379,7 +35908,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -34397,7 +35926,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -34414,21 +35943,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -34444,7 +35973,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -34452,7 +35981,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -34478,12 +36007,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -34505,7 +36034,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -34519,7 +36048,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -34530,11 +36059,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -34548,32 +36077,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -34585,7 +36099,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -34595,7 +36109,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -34605,11 +36119,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -34955,11 +36469,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 12, - 10, - 11 - ] + "children": [12, 10, 11] } ] } @@ -35114,7 +36624,7 @@ }, { "id": 19, - "name": "schema", + "name": "schemaName", "kind": 1024, "kindString": "Property", "flags": { @@ -35219,7 +36729,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -35230,13 +36740,66 @@ "type": "reference", "id": 28, "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 28, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 30, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 31, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [31] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "name": "default" } }, { - "id": 30, + "id": 32, "name": "from", "kind": 4096, "kindString": "Call signature", @@ -35246,7 +36809,7 @@ }, "typeParameter": [ { - "id": 31, + "id": 33, "name": "ViewName", "kind": 131072, "kindString": "Type parameter", @@ -35257,7 +36820,7 @@ } }, { - "id": 32, + "id": 34, "name": "View", "kind": 131072, "kindString": "Type parameter", @@ -35270,7 +36833,7 @@ ], "parameters": [ { - "id": 33, + "id": 35, "name": "relation", "kind": 32768, "kindString": "Parameter", @@ -35280,7 +36843,7 @@ }, "type": { "type": "reference", - "id": 31, + "id": 33, "name": "ViewName", "dereferenced": {} } @@ -35288,7 +36851,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -35297,15 +36860,68 @@ }, { "type": "reference", - "id": 32, + "id": 34, "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 34, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 36, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 37, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [37] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "name": "default" } }, { - "id": 34, + "id": 38, "name": "from", "kind": 4096, "kindString": "Call signature", @@ -35315,7 +36931,7 @@ }, "parameters": [ { - "id": 35, + "id": 39, "name": "relation", "kind": 32768, "kindString": "Parameter", @@ -35331,7 +36947,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -35341,6 +36957,10 @@ { "type": "intrinsic", "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" } ], "name": "default" @@ -35349,7 +36969,7 @@ ] }, { - "id": 36, + "id": 44, "name": "rpc", "kind": 2048, "kindString": "Method", @@ -35357,13 +36977,13 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 102, + "line": 127, "character": 2 } ], "signatures": [ { - "id": 37, + "id": 45, "name": "rpc", "kind": 4096, "kindString": "Call signature", @@ -35373,7 +36993,7 @@ }, "typeParameter": [ { - "id": 38, + "id": 46, "name": "FunctionName", "kind": 131072, "kindString": "Type parameter", @@ -35384,7 +37004,7 @@ } }, { - "id": 39, + "id": 47, "name": "Function_", "kind": 131072, "kindString": "Type parameter", @@ -35397,7 +37017,7 @@ ], "parameters": [ { - "id": 40, + "id": 48, "name": "fn", "kind": 32768, "kindString": "Parameter", @@ -35407,13 +37027,13 @@ }, "type": { "type": "reference", - "id": 38, + "id": 46, "name": "FunctionName", "dereferenced": {} } }, { - "id": 41, + "id": 49, "name": "args", "kind": 32768, "kindString": "Parameter", @@ -35429,14 +37049,14 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } }, "defaultValue": "{}" }, { - "id": 42, + "id": 50, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -35448,14 +37068,14 @@ "type": { "type": "reflection", "declaration": { - "id": 43, + "id": 51, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 45, + "id": 53, "name": "count", "kind": 1024, "kindString": "Property", @@ -35468,7 +37088,7 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 113, + "line": 138, "character": 6 } ], @@ -35491,7 +37111,7 @@ } }, { - "id": 44, + "id": 52, "name": "head", "kind": 1024, "kindString": "Property", @@ -35504,7 +37124,7 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 112, + "line": 137, "character": 6 } ], @@ -35518,10 +37138,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 45, - 44 - ] + "children": [53, 52] } ] } @@ -35531,7 +37148,7 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", @@ -35548,7 +37165,7 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } }, @@ -35624,9 +37241,123 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 40, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 88, + "character": 2 + } + ], + "signatures": [ + { + "id": 41, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Select a schema to query or perform an function (rpc) call.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 42, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 43, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The schema to query\n" + }, + "type": { + "type": "reference", + "id": 42, + "name": "DynamicSchema", + "dereferenced": {} + } + } + ], + "type": { + "type": "reference", + "id": 1, + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "Database" + }, + { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } } ], "name": "default" @@ -35639,27 +37370,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 20, - 18, - 19, - 17 - ] + "children": [20, 18, 19, 17] }, { "title": "Methods", "kind": 2048, - "children": [ - 25, - 36 - ] + "children": [25, 44, 40] } ], "sources": [ @@ -35671,7 +37392,7 @@ ], "typeParameter": [ { - "id": 46, + "id": 54, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -35685,7 +37406,7 @@ } }, { - "id": 47, + "id": 55, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -35751,7 +37472,7 @@ } }, { - "id": 48, + "id": 56, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -35801,28 +37522,28 @@ ] }, { - "id": 114, + "id": 142, "name": "PostgrestFilterBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 115, + "id": 143, "name": "constructor", "kind": 512, "kindString": "Constructor", "flags": {}, "signatures": [ { - "id": 116, + "id": 144, "name": "new PostgrestFilterBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 117, + "id": 145, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -35833,7 +37554,7 @@ } }, { - "id": 118, + "id": 146, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -35856,33 +37577,44 @@ } }, { - "id": 119, + "id": 147, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 148, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "parameters": [ { - "id": 120, + "id": 149, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -35891,7 +37623,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -35905,14 +37637,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -35921,18 +37653,18 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -35943,11 +37675,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -35957,7 +37689,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -35978,7 +37710,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -35995,21 +37727,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -36033,7 +37765,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -36068,7 +37800,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -36100,7 +37832,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -36120,7 +37852,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -36161,7 +37893,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -36182,7 +37914,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -36203,7 +37935,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -36226,7 +37958,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -36248,7 +37980,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -36262,25 +37994,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -36288,7 +38020,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -36301,7 +38033,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -36318,32 +38050,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -36356,7 +38088,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -36364,7 +38096,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -36382,7 +38114,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -36399,21 +38131,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -36429,7 +38161,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -36437,7 +38169,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -36463,12 +38195,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -36490,7 +38222,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -36504,7 +38236,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -36515,11 +38247,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -36533,32 +38265,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -36570,7 +38287,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -36580,7 +38297,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -36590,11 +38307,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -36612,41 +38329,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 439, + "id": 469, "name": "default.constructor" } } ], "inheritedFrom": { "type": "reference", - "id": 438, + "id": 468, "name": "default.constructor" } }, { - "id": 411, + "id": 440, "name": "body", "kind": 1024, "kindString": "Property", @@ -36667,12 +38389,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 510, + "id": 541, "name": "default.body" } }, { - "id": 414, + "id": 443, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -36689,21 +38411,21 @@ "type": { "type": "reflection", "declaration": { - "id": 415, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 416, + "id": 445, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 417, + "id": 446, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -36727,7 +38449,7 @@ } }, { - "id": 418, + "id": 447, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -36762,12 +38484,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 513, + "id": 544, "name": "default.fetch" } }, { - "id": 409, + "id": 438, "name": "headers", "kind": 1024, "kindString": "Property", @@ -36799,12 +38521,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 508, + "id": 539, "name": "default.headers" } }, { - "id": 419, + "id": 448, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -36824,12 +38546,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 518, + "id": 549, "name": "default.isMaybeSingle" } }, { - "id": 407, + "id": 436, "name": "method", "kind": 1024, "kindString": "Property", @@ -36870,12 +38592,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 506, + "id": 537, "name": "default.method" } }, { - "id": 410, + "id": 439, "name": "schema", "kind": 1024, "kindString": "Property", @@ -36896,12 +38618,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 509, + "id": 540, "name": "default.schema" } }, { - "id": 412, + "id": 441, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -36922,12 +38644,12 @@ "defaultValue": "false", "inheritedFrom": { "type": "reference", - "id": 511, + "id": 542, "name": "default.shouldThrowOnError" } }, { - "id": 413, + "id": 442, "name": "signal", "kind": 1024, "kindString": "Property", @@ -36950,12 +38672,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 512, + "id": 543, "name": "default.signal" } }, { - "id": 408, + "id": 437, "name": "url", "kind": 1024, "kindString": "Property", @@ -36977,12 +38699,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 507, + "id": 538, "name": "default.url" } }, { - "id": 379, + "id": 408, "name": "abortSignal", "kind": 2048, "kindString": "Method", @@ -36990,13 +38712,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, + "line": 130, "character": 2 } ], "signatures": [ { - "id": 380, + "id": 409, "name": "abortSignal", "kind": 4096, "kindString": "Call signature", @@ -37006,7 +38728,7 @@ }, "parameters": [ { - "id": 381, + "id": 410, "name": "signal", "kind": 32768, "kindString": "Parameter", @@ -37024,41 +38746,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 479, + "id": 510, "name": "default.abortSignal" } } ], "inheritedFrom": { "type": "reference", - "id": 478, + "id": 509, "name": "default.abortSignal" } }, { - "id": 241, + "id": 270, "name": "containedBy", "kind": 2048, "kindString": "Method", @@ -37066,13 +38793,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 261, + "line": 277, "character": 2 } ], "signatures": [ { - "id": 242, + "id": 271, "name": "containedBy", "kind": 4096, "kindString": "Call signature", @@ -37082,7 +38809,7 @@ }, "typeParameter": [ { - "id": 243, + "id": 272, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -37095,7 +38822,7 @@ ], "parameters": [ { - "id": 244, + "id": 273, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37105,13 +38832,13 @@ }, "type": { "type": "reference", - "id": 243, + "id": 272, "name": "ColumnName", "dereferenced": {} } }, { - "id": 245, + "id": 274, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37143,18 +38870,22 @@ "name": "Record" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 243, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 272, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -37164,29 +38895,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 246, + "id": 275, "name": "containedBy", "kind": 4096, "kindString": "Call signature", @@ -37196,7 +38932,7 @@ }, "parameters": [ { - "id": 247, + "id": 276, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37210,7 +38946,7 @@ } }, { - "id": 248, + "id": 277, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37226,10 +38962,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } }, { @@ -37254,22 +38994,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -37278,7 +39023,7 @@ ] }, { - "id": 233, + "id": 262, "name": "contains", "kind": 2048, "kindString": "Method", @@ -37286,13 +39031,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 234, + "line": 250, "character": 2 } ], "signatures": [ { - "id": 234, + "id": 263, "name": "contains", "kind": 4096, "kindString": "Call signature", @@ -37302,7 +39047,7 @@ }, "typeParameter": [ { - "id": 235, + "id": 264, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -37315,7 +39060,7 @@ ], "parameters": [ { - "id": 236, + "id": 265, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37325,13 +39070,13 @@ }, "type": { "type": "reference", - "id": 235, + "id": 264, "name": "ColumnName", "dereferenced": {} } }, { - "id": 237, + "id": 266, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37363,18 +39108,22 @@ "name": "Record" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 235, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 264, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -37384,29 +39133,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 238, + "id": 267, "name": "contains", "kind": 4096, "kindString": "Call signature", @@ -37416,7 +39170,7 @@ }, "parameters": [ { - "id": 239, + "id": 268, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37430,7 +39184,7 @@ } }, { - "id": 240, + "id": 269, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37446,10 +39200,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } }, { @@ -37474,22 +39232,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -37498,7 +39261,7 @@ ] }, { - "id": 388, + "id": 417, "name": "csv", "kind": 2048, "kindString": "Method", @@ -37506,13 +39269,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, + "line": 171, "character": 2 } ], "signatures": [ { - "id": 389, + "id": 418, "name": "csv", "kind": 4096, "kindString": "Call signature", @@ -37522,7 +39285,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -37533,19 +39296,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 488, + "id": 519, "name": "default.csv" } } ], "inheritedFrom": { "type": "reference", - "id": 487, + "id": 518, "name": "default.csv" } }, { - "id": 121, + "id": 150, "name": "eq", "kind": 2048, "kindString": "Method", @@ -37553,13 +39316,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 33, + "line": 34, "character": 2 } ], "signatures": [ { - "id": 122, + "id": 151, "name": "eq", "kind": 4096, "kindString": "Call signature", @@ -37570,7 +39333,7 @@ }, "typeParameter": [ { - "id": 123, + "id": 152, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -37583,7 +39346,7 @@ ], "parameters": [ { - "id": 124, + "id": 153, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37593,13 +39356,13 @@ }, "type": { "type": "reference", - "id": 123, + "id": 152, "name": "ColumnName", "dereferenced": {} } }, { - "id": 125, + "id": 154, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37611,12 +39374,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 123, + "id": 152, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -37624,29 +39387,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 126, + "id": 155, "name": "eq", "kind": 4096, "kindString": "Call signature", @@ -37657,7 +39425,7 @@ }, "parameters": [ { - "id": 127, + "id": 156, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -37671,7 +39439,7 @@ } }, { - "id": 128, + "id": 157, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -37687,22 +39455,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -37711,7 +39484,7 @@ ] }, { - "id": 392, + "id": 421, "name": "explain", "kind": 2048, "kindString": "Method", @@ -37719,13 +39492,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, + "line": 205, "character": 2 } ], "signatures": [ { - "id": 393, + "id": 422, "name": "explain", "kind": 4096, "kindString": "Call signature", @@ -37735,7 +39508,7 @@ }, "parameters": [ { - "id": 394, + "id": 423, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -37747,14 +39520,14 @@ "type": { "type": "reflection", "declaration": { - "id": 395, + "id": 424, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 396, + "id": 425, "name": "analyze", "kind": 1024, "kindString": "Property", @@ -37767,7 +39540,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, + "line": 213, "character": 4 } ], @@ -37777,7 +39550,7 @@ } }, { - "id": 399, + "id": 428, "name": "buffers", "kind": 1024, "kindString": "Property", @@ -37790,7 +39563,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, + "line": 216, "character": 4 } ], @@ -37800,7 +39573,7 @@ } }, { - "id": 401, + "id": 430, "name": "format", "kind": 1024, "kindString": "Property", @@ -37813,7 +39586,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, + "line": 218, "character": 4 } ], @@ -37832,7 +39605,7 @@ } }, { - "id": 398, + "id": 427, "name": "settings", "kind": 1024, "kindString": "Property", @@ -37845,7 +39618,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, + "line": 215, "character": 4 } ], @@ -37855,7 +39628,7 @@ } }, { - "id": 397, + "id": 426, "name": "verbose", "kind": 1024, "kindString": "Property", @@ -37868,7 +39641,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, + "line": 214, "character": 4 } ], @@ -37878,7 +39651,7 @@ } }, { - "id": 400, + "id": 429, "name": "wal", "kind": 1024, "kindString": "Property", @@ -37891,7 +39664,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, + "line": 217, "character": 4 } ], @@ -37905,14 +39678,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 396, - 399, - 401, - 398, - 397, - 400 - ] + "children": [425, 428, 430, 427, 426, 429] } ] } @@ -37925,7 +39691,7 @@ "types": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -37936,7 +39702,7 @@ }, { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "array", @@ -37964,19 +39730,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 492, + "id": 523, "name": "default.explain" } } ], "inheritedFrom": { "type": "reference", - "id": 491, + "id": 522, "name": "default.explain" } }, { - "id": 335, + "id": 364, "name": "filter", "kind": 2048, "kindString": "Method", @@ -37984,13 +39750,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 480, + "line": 496, "character": 2 } ], "signatures": [ { - "id": 336, + "id": 365, "name": "filter", "kind": 4096, "kindString": "Call signature", @@ -38001,7 +39767,7 @@ }, "typeParameter": [ { - "id": 337, + "id": 366, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -38014,7 +39780,7 @@ ], "parameters": [ { - "id": 338, + "id": 367, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38024,13 +39790,13 @@ }, "type": { "type": "reference", - "id": 337, + "id": 366, "name": "ColumnName", "dereferenced": {} } }, { - "id": 339, + "id": 368, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -38137,7 +39903,7 @@ } }, { - "id": 340, + "id": 369, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38153,29 +39919,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 341, + "id": 370, "name": "filter", "kind": 4096, "kindString": "Call signature", @@ -38186,7 +39957,7 @@ }, "parameters": [ { - "id": 342, + "id": 371, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38200,7 +39971,7 @@ } }, { - "id": 343, + "id": 372, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -38214,7 +39985,7 @@ } }, { - "id": 344, + "id": 373, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38230,22 +40001,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -38254,7 +40030,7 @@ ] }, { - "id": 390, + "id": 419, "name": "geojson", "kind": 2048, "kindString": "Method", @@ -38262,13 +40038,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, + "line": 179, "character": 2 } ], "signatures": [ { - "id": 391, + "id": 420, "name": "geojson", "kind": 4096, "kindString": "Call signature", @@ -38278,7 +40054,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", @@ -38301,19 +40077,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 490, + "id": 521, "name": "default.geojson" } } ], "inheritedFrom": { "type": "reference", - "id": 489, + "id": 520, "name": "default.geojson" } }, { - "id": 137, + "id": 166, "name": "gt", "kind": 2048, "kindString": "Method", @@ -38321,13 +40097,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 61, + "line": 62, "character": 2 } ], "signatures": [ { - "id": 138, + "id": 167, "name": "gt", "kind": 4096, "kindString": "Call signature", @@ -38337,7 +40113,7 @@ }, "typeParameter": [ { - "id": 139, + "id": 168, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -38350,7 +40126,7 @@ ], "parameters": [ { - "id": 140, + "id": 169, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38360,13 +40136,13 @@ }, "type": { "type": "reference", - "id": 139, + "id": 168, "name": "ColumnName", "dereferenced": {} } }, { - "id": 141, + "id": 170, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38378,12 +40154,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 139, + "id": 168, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -38391,29 +40167,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 142, + "id": 171, "name": "gt", "kind": 4096, "kindString": "Call signature", @@ -38423,7 +40204,7 @@ }, "parameters": [ { - "id": 143, + "id": 172, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38437,7 +40218,7 @@ } }, { - "id": 144, + "id": 173, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38453,22 +40234,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -38477,7 +40263,7 @@ ] }, { - "id": 145, + "id": 174, "name": "gte", "kind": 2048, "kindString": "Method", @@ -38485,13 +40271,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 74, + "line": 75, "character": 2 } ], "signatures": [ { - "id": 146, + "id": 175, "name": "gte", "kind": 4096, "kindString": "Call signature", @@ -38501,7 +40287,7 @@ }, "typeParameter": [ { - "id": 147, + "id": 176, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -38514,7 +40300,7 @@ ], "parameters": [ { - "id": 148, + "id": 177, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38524,13 +40310,13 @@ }, "type": { "type": "reference", - "id": 147, + "id": 176, "name": "ColumnName", "dereferenced": {} } }, { - "id": 149, + "id": 178, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38542,12 +40328,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 147, + "id": 176, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -38555,29 +40341,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 150, + "id": 179, "name": "gte", "kind": 4096, "kindString": "Call signature", @@ -38587,7 +40378,7 @@ }, "parameters": [ { - "id": 151, + "id": 180, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38601,7 +40392,7 @@ } }, { - "id": 152, + "id": 181, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -38617,22 +40408,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -38641,7 +40437,7 @@ ] }, { - "id": 193, + "id": 222, "name": "ilike", "kind": 2048, "kindString": "Method", @@ -38649,13 +40445,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 152, + "line": 159, "character": 2 } ], "signatures": [ { - "id": 194, + "id": 223, "name": "ilike", "kind": 4096, "kindString": "Call signature", @@ -38665,7 +40461,7 @@ }, "typeParameter": [ { - "id": 195, + "id": 224, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -38678,7 +40474,7 @@ ], "parameters": [ { - "id": 196, + "id": 225, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -38688,13 +40484,13 @@ }, "type": { "type": "reference", - "id": 195, + "id": 224, "name": "ColumnName", "dereferenced": {} } }, { - "id": 197, + "id": 226, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -38710,29 +40506,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 198, + "id": 227, "name": "ilike", "kind": 4096, "kindString": "Call signature", @@ -38740,419 +40541,6 @@ "comment": { "shortText": "Match only rows where `column` matches `pattern` case-insensitively." }, - "parameters": [ - { - "id": 199, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 200, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 201, - "name": "ilikeAllOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 165, - "character": 2 - } - ], - "signatures": [ - { - "id": 202, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 203, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 204, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 203, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 205, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 206, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 207, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 208, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 209, - "name": "ilikeAnyOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 178, - "character": 2 - } - ], - "signatures": [ - { - "id": 210, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 211, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 212, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 211, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 213, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 214, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 215, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 216, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 225, - "name": "in", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 213, - "character": 2 - } - ], - "signatures": [ - { - "id": 226, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "typeParameter": [ - { - "id": 227, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], "parameters": [ { "id": 228, @@ -39163,123 +40551,49 @@ "comment": { "shortText": "The column to filter on" }, - "type": { - "type": "reference", - "id": 227, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 229, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values array to filter with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 227, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 230, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "parameters": [ - { - "id": 231, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, "type": { "type": "intrinsic", "name": "string" } }, { - "id": 232, - "name": "values", + "id": 229, + "name": "pattern", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The values array to filter with\n" + "shortText": "The pattern to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } + "type": "intrinsic", + "name": "string" } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -39288,32 +40602,31 @@ ] }, { - "id": 217, - "name": "is", + "id": 230, + "name": "ilikeAllOf", "kind": 2048, "kindString": "Method", "flags": {}, "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 191, + "line": 172, "character": 2 } ], "signatures": [ { - "id": 218, - "name": "is", + "id": 231, + "name": "ilikeAllOf", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Match only rows where `column` IS `value`.", - "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." }, "typeParameter": [ { - "id": 219, + "id": 232, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -39326,7 +40639,7 @@ ], "parameters": [ { - "id": 220, + "id": 233, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39336,13 +40649,560 @@ }, "type": { "type": "reference", - "id": 219, + "id": 232, "name": "ColumnName", "dereferenced": {} } }, { - "id": 221, + "id": 234, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 235, + "name": "ilikeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 236, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 237, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 238, + "name": "ilikeAnyOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 188, + "character": 2 + } + ], + "signatures": [ + { + "id": 239, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "typeParameter": [ + { + "id": 240, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 241, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 240, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 242, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 243, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 244, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 245, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 254, + "name": "in", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 226, + "character": 2 + } + ], + "signatures": [ + { + "id": 255, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "typeParameter": [ + { + "id": 256, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 257, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 256, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 258, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 256, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 259, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "parameters": [ + { + "id": 260, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 261, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 246, + "name": "is", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 204, + "character": 2 + } + ], + "signatures": [ + { + "id": 247, + "name": "is", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` IS `value`.", + "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + }, + "typeParameter": [ + { + "id": 248, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 249, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 248, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 250, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -39360,12 +41220,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -39382,12 +41242,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -39404,12 +41264,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -39425,29 +41285,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 222, + "id": 251, "name": "is", "kind": 4096, "kindString": "Call signature", @@ -39458,7 +41323,7 @@ }, "parameters": [ { - "id": 223, + "id": 252, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39472,7 +41337,7 @@ } }, { - "id": 224, + "id": 253, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -39497,22 +41362,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -39521,7 +41391,7 @@ ] }, { - "id": 169, + "id": 198, "name": "like", "kind": 2048, "kindString": "Method", @@ -39529,13 +41399,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 113, + "line": 114, "character": 2 } ], "signatures": [ { - "id": 170, + "id": 199, "name": "like", "kind": 4096, "kindString": "Call signature", @@ -39545,7 +41415,7 @@ }, "typeParameter": [ { - "id": 171, + "id": 200, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -39558,7 +41428,7 @@ ], "parameters": [ { - "id": 172, + "id": 201, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39568,13 +41438,13 @@ }, "type": { "type": "reference", - "id": 171, + "id": 200, "name": "ColumnName", "dereferenced": {} } }, { - "id": 173, + "id": 202, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -39590,29 +41460,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 174, + "id": 203, "name": "like", "kind": 4096, "kindString": "Call signature", @@ -39622,7 +41497,7 @@ }, "parameters": [ { - "id": 175, + "id": 204, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39636,7 +41511,7 @@ } }, { - "id": 176, + "id": 205, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -39652,22 +41527,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -39676,7 +41556,7 @@ ] }, { - "id": 177, + "id": 206, "name": "likeAllOf", "kind": 2048, "kindString": "Method", @@ -39684,13 +41564,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 126, + "line": 127, "character": 2 } ], "signatures": [ { - "id": 178, + "id": 207, "name": "likeAllOf", "kind": 4096, "kindString": "Call signature", @@ -39700,7 +41580,7 @@ }, "typeParameter": [ { - "id": 179, + "id": 208, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -39713,7 +41593,7 @@ ], "parameters": [ { - "id": 180, + "id": 209, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39723,13 +41603,13 @@ }, "type": { "type": "reference", - "id": 179, + "id": 208, "name": "ColumnName", "dereferenced": {} } }, { - "id": 181, + "id": 210, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -39738,39 +41618,48 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 182, + "id": 211, "name": "likeAllOf", "kind": 4096, "kindString": "Call signature", @@ -39780,7 +41669,7 @@ }, "parameters": [ { - "id": 183, + "id": 212, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39794,7 +41683,7 @@ } }, { - "id": 184, + "id": 213, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -39803,32 +41692,41 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -39837,7 +41735,7 @@ ] }, { - "id": 185, + "id": 214, "name": "likeAnyOf", "kind": 2048, "kindString": "Method", @@ -39845,13 +41743,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 139, + "line": 143, "character": 2 } ], "signatures": [ { - "id": 186, + "id": 215, "name": "likeAnyOf", "kind": 4096, "kindString": "Call signature", @@ -39861,7 +41759,7 @@ }, "typeParameter": [ { - "id": 187, + "id": 216, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -39874,7 +41772,7 @@ ], "parameters": [ { - "id": 188, + "id": 217, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39884,13 +41782,13 @@ }, "type": { "type": "reference", - "id": 187, + "id": 216, "name": "ColumnName", "dereferenced": {} } }, { - "id": 189, + "id": 218, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -39899,39 +41797,48 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 190, + "id": 219, "name": "likeAnyOf", "kind": 4096, "kindString": "Call signature", @@ -39941,7 +41848,7 @@ }, "parameters": [ { - "id": 191, + "id": 220, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -39955,7 +41862,7 @@ } }, { - "id": 192, + "id": 221, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -39964,32 +41871,41 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -39998,7 +41914,7 @@ ] }, { - "id": 366, + "id": 395, "name": "limit", "kind": 2048, "kindString": "Method", @@ -40006,13 +41922,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 2 } ], "signatures": [ { - "id": 367, + "id": 396, "name": "limit", "kind": 4096, "kindString": "Call signature", @@ -40022,7 +41938,7 @@ }, "parameters": [ { - "id": 368, + "id": 397, "name": "count", "kind": 32768, "kindString": "Parameter", @@ -40036,7 +41952,7 @@ } }, { - "id": 369, + "id": 398, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -40048,14 +41964,14 @@ "type": { "type": "reflection", "declaration": { - "id": 370, + "id": 399, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 371, + "id": 400, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -40068,7 +41984,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 43 } ], @@ -40082,9 +41998,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 371 - ] + "children": [400] } ] } @@ -40094,41 +42008,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 466, + "id": 497, "name": "default.limit" } } ], "inheritedFrom": { "type": "reference", - "id": 465, + "id": 496, "name": "default.limit" } }, { - "id": 153, + "id": 182, "name": "lt", "kind": 2048, "kindString": "Method", @@ -40136,13 +42055,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 87, + "line": 88, "character": 2 } ], "signatures": [ { - "id": 154, + "id": 183, "name": "lt", "kind": 4096, "kindString": "Call signature", @@ -40152,7 +42071,7 @@ }, "typeParameter": [ { - "id": 155, + "id": 184, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -40165,7 +42084,7 @@ ], "parameters": [ { - "id": 156, + "id": 185, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40175,13 +42094,13 @@ }, "type": { "type": "reference", - "id": 155, + "id": 184, "name": "ColumnName", "dereferenced": {} } }, { - "id": 157, + "id": 186, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40193,12 +42112,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 155, + "id": 184, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -40206,29 +42125,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 158, + "id": 187, "name": "lt", "kind": 4096, "kindString": "Call signature", @@ -40238,7 +42162,7 @@ }, "parameters": [ { - "id": 159, + "id": 188, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40252,7 +42176,7 @@ } }, { - "id": 160, + "id": 189, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40268,22 +42192,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -40292,7 +42221,7 @@ ] }, { - "id": 161, + "id": 190, "name": "lte", "kind": 2048, "kindString": "Method", @@ -40300,13 +42229,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 100, + "line": 101, "character": 2 } ], "signatures": [ { - "id": 162, + "id": 191, "name": "lte", "kind": 4096, "kindString": "Call signature", @@ -40316,7 +42245,7 @@ }, "typeParameter": [ { - "id": 163, + "id": 192, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -40329,7 +42258,7 @@ ], "parameters": [ { - "id": 164, + "id": 193, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40339,13 +42268,13 @@ }, "type": { "type": "reference", - "id": 163, + "id": 192, "name": "ColumnName", "dereferenced": {} } }, { - "id": 165, + "id": 194, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40357,12 +42286,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 163, + "id": 192, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -40370,29 +42299,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 166, + "id": 195, "name": "lte", "kind": 4096, "kindString": "Call signature", @@ -40402,7 +42336,7 @@ }, "parameters": [ { - "id": 167, + "id": 196, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40416,7 +42350,7 @@ } }, { - "id": 168, + "id": 197, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40432,22 +42366,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -40456,7 +42395,7 @@ ] }, { - "id": 313, + "id": 342, "name": "match", "kind": 2048, "kindString": "Method", @@ -40464,13 +42403,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 421, + "line": 437, "character": 2 } ], "signatures": [ { - "id": 314, + "id": 343, "name": "match", "kind": 4096, "kindString": "Call signature", @@ -40480,7 +42419,7 @@ }, "typeParameter": [ { - "id": 315, + "id": 344, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -40493,7 +42432,7 @@ ], "parameters": [ { - "id": 316, + "id": 345, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -40506,19 +42445,19 @@ "typeArguments": [ { "type": "reference", - "id": 315, + "id": 344, "name": "ColumnName" }, { "type": "indexedAccess", "indexType": { "type": "reference", - "id": 315, + "id": 344, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -40531,29 +42470,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 317, + "id": 346, "name": "match", "kind": 4096, "kindString": "Call signature", @@ -40563,7 +42507,7 @@ }, "parameters": [ { - "id": 318, + "id": 347, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -40591,22 +42535,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -40615,7 +42564,7 @@ ] }, { - "id": 385, + "id": 414, "name": "maybeSingle", "kind": 2048, "kindString": "Method", @@ -40623,13 +42572,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, + "line": 154, "character": 2 } ], "signatures": [ { - "id": 386, + "id": 415, "name": "maybeSingle", "kind": 4096, "kindString": "Call signature", @@ -40640,7 +42589,7 @@ }, "typeParameter": [ { - "id": 387, + "id": 416, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -40649,7 +42598,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 119, + "id": 147, "name": "Result" }, "extendsType": { @@ -40672,7 +42621,7 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "union", @@ -40683,7 +42632,7 @@ }, { "type": "reference", - "id": 387, + "id": 416, "name": "ResultOne" } ] @@ -40693,19 +42642,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 485, + "id": 516, "name": "default.maybeSingle" } } ], "inheritedFrom": { "type": "reference", - "id": 484, + "id": 515, "name": "default.maybeSingle" } }, { - "id": 129, + "id": 158, "name": "neq", "kind": 2048, "kindString": "Method", @@ -40713,13 +42662,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 48, + "line": 49, "character": 2 } ], "signatures": [ { - "id": 130, + "id": 159, "name": "neq", "kind": 4096, "kindString": "Call signature", @@ -40729,7 +42678,7 @@ }, "typeParameter": [ { - "id": 131, + "id": 160, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -40742,7 +42691,7 @@ ], "parameters": [ { - "id": 132, + "id": 161, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40752,13 +42701,13 @@ }, "type": { "type": "reference", - "id": 131, + "id": 160, "name": "ColumnName", "dereferenced": {} } }, { - "id": 133, + "id": 162, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40770,12 +42719,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 131, + "id": 160, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -40783,29 +42732,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 134, + "id": 163, "name": "neq", "kind": 4096, "kindString": "Call signature", @@ -40815,7 +42769,7 @@ }, "parameters": [ { - "id": 135, + "id": 164, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40829,7 +42783,7 @@ } }, { - "id": 136, + "id": 165, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40845,22 +42799,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -40869,7 +42828,7 @@ ] }, { - "id": 319, + "id": 348, "name": "not", "kind": 2048, "kindString": "Method", @@ -40877,13 +42836,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 437, + "line": 453, "character": 2 } ], "signatures": [ { - "id": 320, + "id": 349, "name": "not", "kind": 4096, "kindString": "Call signature", @@ -40894,7 +42853,7 @@ }, "typeParameter": [ { - "id": 321, + "id": 350, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -40907,7 +42866,7 @@ ], "parameters": [ { - "id": 322, + "id": 351, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -40917,13 +42876,13 @@ }, "type": { "type": "reference", - "id": 321, + "id": 350, "name": "ColumnName", "dereferenced": {} } }, { - "id": 323, + "id": 352, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -40937,7 +42896,7 @@ } }, { - "id": 324, + "id": 353, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -40949,12 +42908,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 321, + "id": 350, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -40962,29 +42921,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 325, + "id": 354, "name": "not", "kind": 4096, "kindString": "Call signature", @@ -40995,7 +42959,7 @@ }, "parameters": [ { - "id": 326, + "id": 355, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41009,7 +42973,7 @@ } }, { - "id": 327, + "id": 356, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -41023,7 +42987,7 @@ } }, { - "id": 328, + "id": 357, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -41039,22 +43003,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -41063,7 +43032,7 @@ ] }, { - "id": 329, + "id": 358, "name": "or", "kind": 2048, "kindString": "Method", @@ -41071,13 +43040,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, + "line": 490, "character": 2 } ], "signatures": [ { - "id": 330, + "id": 359, "name": "or", "kind": 4096, "kindString": "Call signature", @@ -41088,7 +43057,7 @@ }, "parameters": [ { - "id": 331, + "id": 360, "name": "filters", "kind": 32768, "kindString": "Parameter", @@ -41102,7 +43071,7 @@ } }, { - "id": 332, + "id": 361, "name": "foreignTable", "kind": 32768, "kindString": "Parameter", @@ -41114,14 +43083,14 @@ "type": { "type": "reflection", "declaration": { - "id": 333, + "id": 362, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 334, + "id": 363, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -41131,7 +43100,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, + "line": 490, "character": 42 } ], @@ -41145,9 +43114,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 334 - ] + "children": [363] } ] } @@ -41157,22 +43124,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -41181,7 +43153,7 @@ ] }, { - "id": 350, + "id": 379, "name": "order", "kind": 2048, "kindString": "Method", @@ -41189,13 +43161,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, + "line": 45, "character": 2 } ], "signatures": [ { - "id": 351, + "id": 380, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -41206,7 +43178,7 @@ }, "typeParameter": [ { - "id": 352, + "id": 381, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -41219,7 +43191,7 @@ ], "parameters": [ { - "id": 353, + "id": 382, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41229,13 +43201,13 @@ }, "type": { "type": "reference", - "id": 352, + "id": 381, "name": "ColumnName", "dereferenced": {} } }, { - "id": 354, + "id": 383, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -41248,14 +43220,14 @@ "type": { "type": "reflection", "declaration": { - "id": 355, + "id": 384, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 356, + "id": 385, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -41268,7 +43240,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 16 } ], @@ -41278,7 +43250,7 @@ } }, { - "id": 358, + "id": 387, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -41291,7 +43263,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 59 } ], @@ -41301,7 +43273,7 @@ } }, { - "id": 357, + "id": 386, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -41314,7 +43286,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 37 } ], @@ -41328,11 +43300,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 356, - 358, - 357 - ] + "children": [385, 387, 386] } ] } @@ -41341,34 +43309,39 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 450, + "id": 481, "name": "default.order" } }, { - "id": 359, + "id": 388, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -41379,7 +43352,7 @@ }, "parameters": [ { - "id": 360, + "id": 389, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41393,7 +43366,7 @@ } }, { - "id": 361, + "id": 390, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -41406,14 +43379,14 @@ "type": { "type": "reflection", "declaration": { - "id": 362, + "id": 391, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 363, + "id": 392, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -41426,7 +43399,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 16 } ], @@ -41436,18 +43409,20 @@ } }, { - "id": 365, + "id": 394, "name": "foreignTable", "kind": 1024, "kindString": "Property", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Set this to order a foreign table by foreign\ncolumns\n" }, "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 59 } ], @@ -41457,7 +43432,7 @@ } }, { - "id": 364, + "id": 393, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -41470,7 +43445,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 37 } ], @@ -41484,11 +43459,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 365, - 364 - ] + "children": [392, 394, 393] } ] } @@ -41497,41 +43468,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 458, + "id": 489, "name": "default.order" } } ], "inheritedFrom": { "type": "reference", - "id": 449, + "id": 480, "name": "default.order" } }, { - "id": 289, + "id": 318, "name": "overlaps", "kind": 2048, "kindString": "Method", @@ -41539,13 +43515,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 360, + "line": 376, "character": 2 } ], "signatures": [ { - "id": 290, + "id": 319, "name": "overlaps", "kind": 4096, "kindString": "Call signature", @@ -41555,7 +43531,7 @@ }, "typeParameter": [ { - "id": 291, + "id": 320, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -41568,7 +43544,7 @@ ], "parameters": [ { - "id": 292, + "id": 321, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41578,13 +43554,13 @@ }, "type": { "type": "reference", - "id": 291, + "id": 320, "name": "ColumnName", "dereferenced": {} } }, { - "id": 293, + "id": 322, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -41600,18 +43576,22 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 291, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 320, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -41621,29 +43601,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 294, + "id": 323, "name": "overlaps", "kind": 4096, "kindString": "Call signature", @@ -41653,7 +43638,7 @@ }, "parameters": [ { - "id": 295, + "id": 324, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41667,7 +43652,7 @@ } }, { - "id": 296, + "id": 325, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -41683,10 +43668,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } } ] @@ -41695,22 +43684,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -41719,7 +43713,7 @@ ] }, { - "id": 372, + "id": 401, "name": "range", "kind": 2048, "kindString": "Method", @@ -41727,23 +43721,23 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 2 } ], "signatures": [ { - "id": 373, + "id": 402, "name": "range", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." }, "parameters": [ { - "id": 374, + "id": 403, "name": "from", "kind": 32768, "kindString": "Parameter", @@ -41757,7 +43751,7 @@ } }, { - "id": 375, + "id": 404, "name": "to", "kind": 32768, "kindString": "Parameter", @@ -41771,7 +43765,7 @@ } }, { - "id": 376, + "id": 405, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -41783,14 +43777,14 @@ "type": { "type": "reflection", "declaration": { - "id": 377, + "id": 406, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 378, + "id": 407, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -41803,7 +43797,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 54 } ], @@ -41817,9 +43811,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 378 - ] + "children": [407] } ] } @@ -41829,41 +43821,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 472, + "id": 503, "name": "default.range" } } ], "inheritedFrom": { "type": "reference", - "id": 471, + "id": 502, "name": "default.range" } }, { - "id": 281, + "id": 310, "name": "rangeAdjacent", "kind": 2048, "kindString": "Method", @@ -41871,13 +43868,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 345, + "line": 361, "character": 2 } ], "signatures": [ { - "id": 282, + "id": 311, "name": "rangeAdjacent", "kind": 4096, "kindString": "Call signature", @@ -41887,7 +43884,7 @@ }, "typeParameter": [ { - "id": 283, + "id": 312, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -41900,7 +43897,7 @@ ], "parameters": [ { - "id": 284, + "id": 313, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -41910,11 +43907,243 @@ }, "type": { "type": "reference", - "id": 283, + "id": 312, "name": "ColumnName", "dereferenced": {} } }, + { + "id": 314, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 315, + "name": "rangeAdjacent", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." + }, + "parameters": [ + { + "id": 316, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 317, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 278, + "name": "rangeGt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 303, + "character": 2 + } + ], + "signatures": [ + { + "id": 279, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "typeParameter": [ + { + "id": 280, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 281, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 280, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 282, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 283, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "parameters": [ + { + "id": 284, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, { "id": 285, "name": "range", @@ -41932,84 +44161,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 286, - "name": "rangeAdjacent", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." - }, - "parameters": [ - { - "id": 287, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 288, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" }, { "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -42018,162 +44190,7 @@ ] }, { - "id": 249, - "name": "rangeGt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 287, - "character": 2 - } - ], - "signatures": [ - { - "id": 250, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "typeParameter": [ - { - "id": 251, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 252, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 251, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 253, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 254, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "parameters": [ - { - "id": 255, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 256, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 257, + "id": 286, "name": "rangeGte", "kind": 2048, "kindString": "Method", @@ -42181,13 +44198,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 301, + "line": 317, "character": 2 } ], "signatures": [ { - "id": 258, + "id": 287, "name": "rangeGte", "kind": 4096, "kindString": "Call signature", @@ -42197,7 +44214,7 @@ }, "typeParameter": [ { - "id": 259, + "id": 288, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -42210,7 +44227,7 @@ ], "parameters": [ { - "id": 260, + "id": 289, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42220,13 +44237,13 @@ }, "type": { "type": "reference", - "id": 259, + "id": 288, "name": "ColumnName", "dereferenced": {} } }, { - "id": 261, + "id": 290, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42242,29 +44259,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 262, + "id": 291, "name": "rangeGte", "kind": 4096, "kindString": "Call signature", @@ -42274,7 +44296,7 @@ }, "parameters": [ { - "id": 263, + "id": 292, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42288,7 +44310,7 @@ } }, { - "id": 264, + "id": 293, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42304,22 +44326,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -42328,7 +44355,7 @@ ] }, { - "id": 265, + "id": 294, "name": "rangeLt", "kind": 2048, "kindString": "Method", @@ -42336,13 +44363,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 316, + "line": 332, "character": 2 } ], "signatures": [ { - "id": 266, + "id": 295, "name": "rangeLt", "kind": 4096, "kindString": "Call signature", @@ -42352,7 +44379,7 @@ }, "typeParameter": [ { - "id": 267, + "id": 296, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -42365,7 +44392,7 @@ ], "parameters": [ { - "id": 268, + "id": 297, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42375,13 +44402,13 @@ }, "type": { "type": "reference", - "id": 267, + "id": 296, "name": "ColumnName", "dereferenced": {} } }, { - "id": 269, + "id": 298, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42397,29 +44424,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 270, + "id": 299, "name": "rangeLt", "kind": 4096, "kindString": "Call signature", @@ -42429,7 +44461,7 @@ }, "parameters": [ { - "id": 271, + "id": 300, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42443,7 +44475,7 @@ } }, { - "id": 272, + "id": 301, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42459,22 +44491,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -42483,7 +44520,7 @@ ] }, { - "id": 273, + "id": 302, "name": "rangeLte", "kind": 2048, "kindString": "Method", @@ -42491,13 +44528,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 330, + "line": 346, "character": 2 } ], "signatures": [ { - "id": 274, + "id": 303, "name": "rangeLte", "kind": 4096, "kindString": "Call signature", @@ -42507,7 +44544,7 @@ }, "typeParameter": [ { - "id": 275, + "id": 304, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -42520,7 +44557,7 @@ ], "parameters": [ { - "id": 276, + "id": 305, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42530,13 +44567,13 @@ }, "type": { "type": "reference", - "id": 275, + "id": 304, "name": "ColumnName", "dereferenced": {} } }, { - "id": 277, + "id": 306, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42552,29 +44589,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 278, + "id": 307, "name": "rangeLte", "kind": 4096, "kindString": "Call signature", @@ -42584,7 +44626,7 @@ }, "parameters": [ { - "id": 279, + "id": 308, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -42598,7 +44640,7 @@ } }, { - "id": 280, + "id": 309, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -42614,22 +44656,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -42638,7 +44685,7 @@ ] }, { - "id": 404, + "id": 433, "name": "returns", "kind": 2048, "kindString": "Method", @@ -42646,13 +44693,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, + "line": 257, "character": 2 } ], "signatures": [ { - "id": 405, + "id": 434, "name": "returns", "kind": 4096, "kindString": "Call signature", @@ -42662,7 +44709,7 @@ }, "typeParameter": [ { - "id": 406, + "id": 435, "name": "NewResult", "kind": 131072, "kindString": "Type parameter", @@ -42674,41 +44721,46 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 406, + "id": 435, "name": "NewResult" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 504, + "id": 535, "name": "default.returns" } } ], "inheritedFrom": { "type": "reference", - "id": 503, + "id": 534, "name": "default.returns" } }, { - "id": 402, + "id": 431, "name": "rollback", "kind": 2048, "kindString": "Method", @@ -42716,13 +44768,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, + "line": 243, "character": 2 } ], "signatures": [ { - "id": 403, + "id": 432, "name": "rollback", "kind": 4096, "kindString": "Call signature", @@ -42733,41 +44785,46 @@ }, "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 502, + "id": 533, "name": "default.rollback" } } ], "inheritedFrom": { "type": "reference", - "id": 501, + "id": 532, "name": "default.rollback" } }, { - "id": 345, + "id": 374, "name": "select", "kind": 2048, "kindString": "Method", @@ -42775,13 +44832,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, + "line": 20, "character": 2 } ], "signatures": [ { - "id": 346, + "id": 375, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -42792,7 +44849,7 @@ }, "typeParameter": [ { - "id": 347, + "id": 376, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -42807,7 +44864,7 @@ } }, { - "id": 348, + "id": 377, "name": "NewResultOne", "kind": 131072, "kindString": "Type parameter", @@ -42817,17 +44874,22 @@ "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 347, + "id": 148, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, "name": "Query" } ], @@ -42837,7 +44899,7 @@ ], "parameters": [ { - "id": 349, + "id": 378, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -42849,7 +44911,7 @@ }, "type": { "type": "reference", - "id": 347, + "id": 376, "name": "Query", "dereferenced": {} } @@ -42857,44 +44919,49 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "array", "elementType": { "type": "reference", - "id": 348, + "id": 377, "name": "NewResultOne" } + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 445, + "id": 476, "name": "default.select" } } ], "inheritedFrom": { "type": "reference", - "id": 444, + "id": 475, "name": "default.select" } }, { - "id": 382, + "id": 411, "name": "single", "kind": 2048, "kindString": "Method", @@ -42902,13 +44969,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, + "line": 141, "character": 2 } ], "signatures": [ { - "id": 383, + "id": 412, "name": "single", "kind": 4096, "kindString": "Call signature", @@ -42919,7 +44986,7 @@ }, "typeParameter": [ { - "id": 384, + "id": 413, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -42928,7 +44995,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 119, + "id": 147, "name": "Result" }, "extendsType": { @@ -42951,11 +45018,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 384, + "id": 413, "name": "ResultOne" } ], @@ -42963,19 +45030,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 482, + "id": 513, "name": "default.single" } } ], "inheritedFrom": { "type": "reference", - "id": 481, + "id": 512, "name": "default.single" } }, { - "id": 297, + "id": 326, "name": "textSearch", "kind": 2048, "kindString": "Method", @@ -42983,13 +45050,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 383, + "line": 399, "character": 2 } ], "signatures": [ { - "id": 298, + "id": 327, "name": "textSearch", "kind": 4096, "kindString": "Call signature", @@ -42999,7 +45066,7 @@ }, "typeParameter": [ { - "id": 299, + "id": 328, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -43012,7 +45079,7 @@ ], "parameters": [ { - "id": 300, + "id": 329, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -43022,13 +45089,13 @@ }, "type": { "type": "reference", - "id": 299, + "id": 328, "name": "ColumnName", "dereferenced": {} } }, { - "id": 301, + "id": 330, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -43042,7 +45109,7 @@ } }, { - "id": 302, + "id": 331, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -43055,14 +45122,14 @@ "type": { "type": "reflection", "declaration": { - "id": 303, + "id": 332, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 304, + "id": 333, "name": "config", "kind": 1024, "kindString": "Property", @@ -43075,7 +45142,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, + "line": 402, "character": 16 } ], @@ -43085,7 +45152,7 @@ } }, { - "id": 305, + "id": 334, "name": "type", "kind": 1024, "kindString": "Property", @@ -43098,7 +45165,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, + "line": 402, "character": 33 } ], @@ -43125,10 +45192,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 304, - 305 - ] + "children": [333, 334] } ] } @@ -43137,29 +45201,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 306, + "id": 335, "name": "textSearch", "kind": 4096, "kindString": "Call signature", @@ -43169,7 +45238,7 @@ }, "parameters": [ { - "id": 307, + "id": 336, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -43183,7 +45252,7 @@ } }, { - "id": 308, + "id": 337, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -43197,7 +45266,7 @@ } }, { - "id": 309, + "id": 338, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -43210,14 +45279,14 @@ "type": { "type": "reflection", "declaration": { - "id": 310, + "id": 339, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 311, + "id": 340, "name": "config", "kind": 1024, "kindString": "Property", @@ -43230,7 +45299,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, + "line": 407, "character": 16 } ], @@ -43240,7 +45309,7 @@ } }, { - "id": 312, + "id": 341, "name": "type", "kind": 1024, "kindString": "Property", @@ -43253,7 +45322,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, + "line": 407, "character": 33 } ], @@ -43280,10 +45349,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 311, - 312 - ] + "children": [340, 341] } ] } @@ -43292,22 +45358,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -43316,7 +45387,7 @@ ] }, { - "id": 422, + "id": 451, "name": "then", "kind": 2048, "kindString": "Method", @@ -43330,25 +45401,25 @@ ], "signatures": [ { - "id": 423, + "id": 452, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 424, + "id": 453, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], @@ -43356,7 +45427,7 @@ } }, { - "id": 425, + "id": 454, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -43369,7 +45440,7 @@ ], "parameters": [ { - "id": 426, + "id": 455, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -43386,32 +45457,32 @@ { "type": "reflection", "declaration": { - "id": 427, + "id": 456, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 428, + "id": 457, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 429, + "id": 458, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], @@ -43424,7 +45495,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -43432,7 +45503,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -43450,7 +45521,7 @@ } }, { - "id": 430, + "id": 459, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -43467,21 +45538,21 @@ { "type": "reflection", "declaration": { - "id": 431, + "id": 460, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 432, + "id": 461, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 433, + "id": 462, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -43497,7 +45568,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -43505,7 +45576,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -43531,12 +45602,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -43548,19 +45619,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 522, + "id": 553, "name": "default.then" } } ], "inheritedFrom": { "type": "reference", - "id": 521, + "id": 552, "name": "default.then" } }, { - "id": 420, + "id": 449, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -43574,7 +45645,7 @@ ], "signatures": [ { - "id": 421, + "id": 450, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -43585,36 +45656,41 @@ }, "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 520, + "id": 551, "name": "default.throwOnError" } } ], "inheritedFrom": { "type": "reference", - "id": 519, + "id": 550, "name": "default.throwOnError" } } @@ -43623,70 +45699,20 @@ { "title": "Constructors", "kind": 512, - "children": [ - 115 - ] + "children": [143] }, { "title": "Properties", "kind": 1024, - "children": [ - 411, - 414, - 409, - 419, - 407, - 410, - 412, - 413, - 408 - ] + "children": [440, 443, 438, 448, 436, 439, 441, 442, 437] }, { "title": "Methods", "kind": 2048, "children": [ - 379, - 241, - 233, - 388, - 121, - 392, - 335, - 390, - 137, - 145, - 193, - 201, - 209, - 225, - 217, - 169, - 177, - 185, - 366, - 153, - 161, - 313, - 385, - 129, - 319, - 329, - 350, - 289, - 372, - 281, - 249, - 257, - 265, - 273, - 404, - 402, - 345, - 382, - 297, - 422, - 420 + 408, 270, 262, 417, 150, 421, 364, 419, 166, 174, 222, 230, 238, 254, 246, 198, 206, + 214, 395, 182, 190, 342, 414, 158, 348, 358, 379, 318, 401, 310, 278, 286, 294, 302, + 433, 431, 374, 411, 326, 451, 449 ] } ], @@ -43699,7 +45725,7 @@ ], "typeParameter": [ { - "id": 434, + "id": 463, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -43710,7 +45736,7 @@ } }, { - "id": 435, + "id": 464, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -43733,32 +45759,48 @@ } }, { - "id": 436, + "id": 465, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 466, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "extendedTypes": [ { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -43766,14 +45808,14 @@ ] }, { - "id": 49, + "id": 57, "name": "PostgrestQueryBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 50, + "id": 58, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -43781,20 +45823,20 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 16, + "line": 17, "character": 2 } ], "signatures": [ { - "id": 51, + "id": 59, "name": "new PostgrestQueryBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 52, + "id": 60, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -43805,7 +45847,7 @@ } }, { - "id": 53, + "id": 61, "name": "Relation", "kind": 131072, "kindString": "Type parameter", @@ -43823,11 +45865,71 @@ } ] } + }, + { + "id": 64, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 62, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 63, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [63] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } } ], "parameters": [ { - "id": 54, + "id": 65, "name": "url", "kind": 32768, "kindString": "Parameter", @@ -43840,7 +45942,7 @@ } }, { - "id": 55, + "id": 66, "name": "__namedParameters", "kind": 32768, "kindString": "Parameter", @@ -43848,14 +45950,14 @@ "type": { "type": "reflection", "declaration": { - "id": 56, + "id": 67, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 59, + "id": 70, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -43865,28 +45967,28 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 25, + "line": 26, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 60, + "id": 71, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 61, + "id": 72, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 62, + "id": 73, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -43910,7 +46012,7 @@ } }, { - "id": 63, + "id": 74, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -43945,7 +46047,7 @@ } }, { - "id": 57, + "id": 68, "name": "headers", "kind": 1024, "kindString": "Property", @@ -43955,7 +46057,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 23, + "line": 24, "character": 6 } ], @@ -43977,7 +46079,7 @@ } }, { - "id": 58, + "id": 69, "name": "schema", "kind": 1024, "kindString": "Property", @@ -43987,7 +46089,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 24, + "line": 25, "character": 6 } ], @@ -44001,11 +46103,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 59, - 57, - 58 - ] + "children": [70, 68, 69] } ] } @@ -44014,17 +46112,22 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -44033,7 +46136,7 @@ ] }, { - "id": 68, + "id": 79, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -44043,28 +46146,28 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 14, + "line": 15, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 69, + "id": 80, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 70, + "id": 81, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 71, + "id": 82, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -44088,7 +46191,7 @@ } }, { - "id": 72, + "id": 83, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -44123,7 +46226,7 @@ } }, { - "id": 65, + "id": 76, "name": "headers", "kind": 1024, "kindString": "Property", @@ -44131,7 +46234,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 11, + "line": 12, "character": 2 } ], @@ -44153,33 +46256,13 @@ } }, { - "id": 66, + "id": 77, "name": "schema", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 12, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 67, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", @@ -44187,6 +46270,26 @@ "character": 2 } ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 78, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 14, + "character": 2 + } + ], "type": { "type": "reference", "qualifiedName": "AbortSignal", @@ -44195,7 +46298,7 @@ } }, { - "id": 64, + "id": 75, "name": "url", "kind": 1024, "kindString": "Property", @@ -44203,7 +46306,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 10, + "line": 11, "character": 2 } ], @@ -44215,7 +46318,7 @@ } }, { - "id": 107, + "id": 132, "name": "delete", "kind": 2048, "kindString": "Method", @@ -44223,13 +46326,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 319, + "line": 356, "character": 2 } ], "signatures": [ { - "id": 108, + "id": 133, "name": "delete", "kind": 4096, "kindString": "Call signature", @@ -44240,7 +46343,7 @@ }, "parameters": [ { - "id": 109, + "id": 134, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -44252,14 +46355,14 @@ "type": { "type": "reflection", "declaration": { - "id": 110, + "id": 135, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 111, + "id": 136, "name": "count", "kind": 1024, "kindString": "Property", @@ -44272,7 +46375,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 322, + "line": 359, "character": 4 } ], @@ -44299,9 +46402,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 111 - ] + "children": [136] } ] } @@ -44311,11 +46412,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -44326,13 +46427,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -44341,7 +46447,7 @@ ] }, { - "id": 82, + "id": 93, "name": "insert", "kind": 2048, "kindString": "Method", @@ -44349,13 +46455,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 120, + "line": 100, "character": 2 } ], "signatures": [ { - "id": 83, + "id": 94, "name": "insert", "kind": 4096, "kindString": "Call signature", @@ -44366,7 +46472,7 @@ }, "typeParameter": [ { - "id": 84, + "id": 95, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -44391,7 +46497,7 @@ ], "parameters": [ { - "id": 85, + "id": 96, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -44400,45 +46506,34 @@ "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" }, "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 84, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 84, - "name": "Row" - } - } - ] + "type": "reference", + "id": 95, + "name": "Row", + "dereferenced": {} } }, { - "id": 86, + "id": 97, "name": "options", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Named parameters\n" }, - "originalName": "__namedParameters", "type": { "type": "reflection", "declaration": { - "id": 87, + "id": 98, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 88, + "id": 99, "name": "count", "kind": 1024, "kindString": "Property", @@ -44451,7 +46546,163 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 126, + "line": 103, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [99] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 100, + "name": "insert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an INSERT into the table or view.", + "text": "By default, inserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 101, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 102, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 101, + "name": "Row" + } + } + }, + { + "id": 103, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 104, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 105, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count inserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 109, "character": 6 } ], @@ -44474,7 +46725,7 @@ } }, { - "id": 89, + "id": 106, "name": "defaultToNull", "kind": 1024, "kindString": "Property", @@ -44482,12 +46733,12 @@ "isOptional": true }, "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column.\n" + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. Only applies for bulk\ninserts.\n" }, "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 127, + "line": 110, "character": 6 } ], @@ -44501,24 +46752,20 @@ { "title": "Properties", "kind": 1024, - "children": [ - 88, - 89 - ] + "children": [105, 106] } ] } - }, - "defaultValue": "{}" + } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -44529,13 +46776,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -44544,7 +46796,7 @@ ] }, { - "id": 73, + "id": 84, "name": "select", "kind": 2048, "kindString": "Method", @@ -44552,13 +46804,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 55, + "line": 56, "character": 2 } ], "signatures": [ { - "id": 74, + "id": 85, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -44568,7 +46820,7 @@ }, "typeParameter": [ { - "id": 75, + "id": 86, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -44583,7 +46835,7 @@ } }, { - "id": 76, + "id": 87, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -44593,7 +46845,7 @@ "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -44604,13 +46856,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "reference", - "id": 75, + "id": 64, + "name": "Relationships" + }, + { + "type": "reference", + "id": 86, "name": "Query" } ], @@ -44620,7 +46877,7 @@ ], "parameters": [ { - "id": 77, + "id": 88, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -44632,13 +46889,13 @@ }, "type": { "type": "reference", - "id": 75, + "id": 86, "name": "Query", "dereferenced": {} } }, { - "id": 78, + "id": 89, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -44650,14 +46907,14 @@ "type": { "type": "reflection", "declaration": { - "id": 79, + "id": 90, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 81, + "id": 92, "name": "count", "kind": 1024, "kindString": "Property", @@ -44670,7 +46927,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 62, + "line": 66, "character": 6 } ], @@ -44693,7 +46950,7 @@ } }, { - "id": 80, + "id": 91, "name": "head", "kind": 1024, "kindString": "Property", @@ -44706,7 +46963,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 61, + "line": 65, "character": 6 } ], @@ -44720,10 +46977,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 81, - 80 - ] + "children": [92, 91] } ] } @@ -44733,11 +46987,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -44748,7 +47002,7 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, @@ -44756,9 +47010,14 @@ "type": "array", "elementType": { "type": "reference", - "id": 76, + "id": 87, "name": "ResultOne" } + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -44767,7 +47026,7 @@ ] }, { - "id": 100, + "id": 125, "name": "update", "kind": 2048, "kindString": "Method", @@ -44775,13 +47034,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 271, + "line": 308, "character": 2 } ], "signatures": [ { - "id": 101, + "id": 126, "name": "update", "kind": 4096, "kindString": "Call signature", @@ -44792,7 +47051,7 @@ }, "typeParameter": [ { - "id": 102, + "id": 127, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -44817,7 +47076,7 @@ ], "parameters": [ { - "id": 103, + "id": 128, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -44827,13 +47086,13 @@ }, "type": { "type": "reference", - "id": 102, + "id": 127, "name": "Row", "dereferenced": {} } }, { - "id": 104, + "id": 129, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -44845,14 +47104,14 @@ "type": { "type": "reflection", "declaration": { - "id": 105, + "id": 130, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 106, + "id": 131, "name": "count", "kind": 1024, "kindString": "Property", @@ -44865,7 +47124,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 276, + "line": 313, "character": 6 } ], @@ -44892,9 +47151,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 106 - ] + "children": [131] } ] } @@ -44904,11 +47161,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -44919,13 +47176,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -44934,7 +47196,7 @@ ] }, { - "id": 90, + "id": 107, "name": "upsert", "kind": 2048, "kindString": "Method", @@ -44942,13 +47204,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 201, + "line": 183, "character": 2 } ], "signatures": [ { - "id": 91, + "id": 108, "name": "upsert", "kind": 4096, "kindString": "Call signature", @@ -44959,7 +47221,7 @@ }, "typeParameter": [ { - "id": 92, + "id": 109, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -44984,7 +47246,7 @@ ], "parameters": [ { - "id": 93, + "id": 110, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -44993,45 +47255,34 @@ "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" }, "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 92, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 92, - "name": "Row" - } - } - ] + "type": "reference", + "id": 109, + "name": "Row", + "dereferenced": {} } }, { - "id": 94, + "id": 111, "name": "options", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Named parameters\n" }, - "originalName": "__namedParameters", "type": { "type": "reflection", "declaration": { - "id": 95, + "id": 112, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 98, + "id": 115, "name": "count", "kind": 1024, "kindString": "Property", @@ -45044,7 +47295,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 211, + "line": 188, "character": 6 } ], @@ -45067,30 +47318,7 @@ } }, { - "id": 99, - "name": "defaultToNull", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 212, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 97, + "id": 114, "name": "ignoreDuplicates", "kind": 1024, "kindString": "Property", @@ -45103,7 +47331,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 210, + "line": 187, "character": 6 } ], @@ -45113,7 +47341,7 @@ } }, { - "id": 96, + "id": 113, "name": "onConflict", "kind": 1024, "kindString": "Property", @@ -45126,7 +47354,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 209, + "line": 186, "character": 6 } ], @@ -45140,26 +47368,20 @@ { "title": "Properties", "kind": 1024, - "children": [ - 98, - 99, - 97, - 96 - ] + "children": [115, 114, 113] } ] } - }, - "defaultValue": "{}" + } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -45170,13 +47392,243 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 116, + "name": "upsert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an UPSERT on the table or view. Depending on the column(s) passed\nto `onConflict`, `.upsert()` allows you to perform the equivalent of\n`.insert()` if a row with the corresponding `onConflict` columns doesn't\nexist, or if it does exist, perform an alternative action depending on\n`ignoreDuplicates`.", + "text": "By default, upserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 117, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 118, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 117, + "name": "Row" + } + } + }, + { + "id": 119, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 120, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 123, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count upserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 196, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 124, + "name": "defaultToNull", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`. This also only applies when doing bulk upserts.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 197, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 122, + "name": "ignoreDuplicates", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, duplicate rows are ignored. If\n`false`, duplicate rows are merged with existing rows.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 195, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 121, + "name": "onConflict", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Comma-separated UNIQUE column(s) to specify how\nduplicate rows are determined. Two rows are duplicates if all the\n`onConflict` columns are equal.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 194, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [123, 124, 122, 121] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -45189,31 +47641,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 50 - ] + "children": [58] }, { "title": "Properties", "kind": 1024, - "children": [ - 68, - 65, - 66, - 67, - 64 - ] + "children": [79, 76, 77, 78, 75] }, { "title": "Methods", "kind": 2048, - "children": [ - 107, - 82, - 73, - 100, - 90 - ] + "children": [132, 93, 84, 125, 107] } ], "sources": [ @@ -45225,7 +47663,7 @@ ], "typeParameter": [ { - "id": 112, + "id": 137, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -45236,7 +47674,7 @@ } }, { - "id": 113, + "id": 138, "name": "Relation", "kind": 131072, "kindString": "Type parameter", @@ -45254,32 +47692,99 @@ } ] } + }, + { + "id": 141, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 139, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 140, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "inferred", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [140] + } + ], + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 35 + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } } ] }, { - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 438, + "id": 468, "name": "constructor", "kind": 512, "kindString": "Constructor", "flags": {}, "signatures": [ { - "id": 439, + "id": 469, "name": "new PostgrestTransformBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 440, + "id": 470, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -45290,7 +47795,7 @@ } }, { - "id": 441, + "id": 471, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -45313,33 +47818,44 @@ } }, { - "id": 442, + "id": 472, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 473, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "parameters": [ { - "id": 443, + "id": 474, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -45348,7 +47864,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -45362,14 +47878,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -45378,18 +47894,18 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -45400,11 +47916,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -45414,7 +47930,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -45435,7 +47951,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -45452,21 +47968,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -45490,7 +48006,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -45525,7 +48041,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -45557,7 +48073,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -45577,7 +48093,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -45618,7 +48134,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -45639,7 +48155,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -45660,7 +48176,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -45683,7 +48199,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -45705,7 +48221,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -45719,25 +48235,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -45745,7 +48261,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -45758,7 +48274,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -45775,32 +48291,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -45813,7 +48329,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -45821,7 +48337,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -45839,7 +48355,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -45856,21 +48372,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -45886,7 +48402,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -45894,7 +48410,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -45920,12 +48436,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -45947,7 +48463,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -45961,7 +48477,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -45972,11 +48488,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -45990,32 +48506,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -46027,7 +48528,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -46037,7 +48538,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -46047,11 +48548,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -46069,41 +48570,46 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 538, + "id": 570, "name": "default.constructor" } } ], "inheritedFrom": { "type": "reference", - "id": 537, + "id": 569, "name": "default.constructor" } }, { - "id": 510, + "id": 541, "name": "body", "kind": 1024, "kindString": "Property", @@ -46124,12 +48630,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 545, + "id": 577, "name": "default.body" } }, { - "id": 513, + "id": 544, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -46146,21 +48652,21 @@ "type": { "type": "reflection", "declaration": { - "id": 514, + "id": 545, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 515, + "id": 546, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 516, + "id": 547, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -46184,7 +48690,7 @@ } }, { - "id": 517, + "id": 548, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -46219,12 +48725,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 548, + "id": 580, "name": "default.fetch" } }, { - "id": 508, + "id": 539, "name": "headers", "kind": 1024, "kindString": "Property", @@ -46256,12 +48762,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 543, + "id": 575, "name": "default.headers" } }, { - "id": 518, + "id": 549, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -46281,12 +48787,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 553, + "id": 585, "name": "default.isMaybeSingle" } }, { - "id": 506, + "id": 537, "name": "method", "kind": 1024, "kindString": "Property", @@ -46327,12 +48833,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 541, + "id": 573, "name": "default.method" } }, { - "id": 509, + "id": 540, "name": "schema", "kind": 1024, "kindString": "Property", @@ -46353,12 +48859,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 544, + "id": 576, "name": "default.schema" } }, { - "id": 511, + "id": 542, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -46379,12 +48885,12 @@ "defaultValue": "false", "inheritedFrom": { "type": "reference", - "id": 546, + "id": 578, "name": "default.shouldThrowOnError" } }, { - "id": 512, + "id": 543, "name": "signal", "kind": 1024, "kindString": "Property", @@ -46407,12 +48913,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 547, + "id": 579, "name": "default.signal" } }, { - "id": 507, + "id": 538, "name": "url", "kind": 1024, "kindString": "Property", @@ -46434,12 +48940,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 542, + "id": 574, "name": "default.url" } }, { - "id": 478, + "id": 509, "name": "abortSignal", "kind": 2048, "kindString": "Method", @@ -46447,13 +48953,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, + "line": 130, "character": 2 } ], "signatures": [ { - "id": 479, + "id": 510, "name": "abortSignal", "kind": 4096, "kindString": "Call signature", @@ -46463,7 +48969,7 @@ }, "parameters": [ { - "id": 480, + "id": 511, "name": "signal", "kind": 32768, "kindString": "Parameter", @@ -46481,22 +48987,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -46505,7 +49016,7 @@ ] }, { - "id": 487, + "id": 518, "name": "csv", "kind": 2048, "kindString": "Method", @@ -46513,13 +49024,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, + "line": 171, "character": 2 } ], "signatures": [ { - "id": 488, + "id": 519, "name": "csv", "kind": 4096, "kindString": "Call signature", @@ -46529,7 +49040,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -46542,7 +49053,7 @@ ] }, { - "id": 491, + "id": 522, "name": "explain", "kind": 2048, "kindString": "Method", @@ -46550,13 +49061,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, + "line": 205, "character": 2 } ], "signatures": [ { - "id": 492, + "id": 523, "name": "explain", "kind": 4096, "kindString": "Call signature", @@ -46566,7 +49077,7 @@ }, "parameters": [ { - "id": 493, + "id": 524, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -46578,14 +49089,14 @@ "type": { "type": "reflection", "declaration": { - "id": 494, + "id": 525, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 495, + "id": 526, "name": "analyze", "kind": 1024, "kindString": "Property", @@ -46598,7 +49109,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, + "line": 213, "character": 4 } ], @@ -46608,7 +49119,7 @@ } }, { - "id": 498, + "id": 529, "name": "buffers", "kind": 1024, "kindString": "Property", @@ -46621,7 +49132,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, + "line": 216, "character": 4 } ], @@ -46631,7 +49142,7 @@ } }, { - "id": 500, + "id": 531, "name": "format", "kind": 1024, "kindString": "Property", @@ -46644,7 +49155,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, + "line": 218, "character": 4 } ], @@ -46663,7 +49174,7 @@ } }, { - "id": 497, + "id": 528, "name": "settings", "kind": 1024, "kindString": "Property", @@ -46676,7 +49187,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, + "line": 215, "character": 4 } ], @@ -46686,7 +49197,7 @@ } }, { - "id": 496, + "id": 527, "name": "verbose", "kind": 1024, "kindString": "Property", @@ -46699,7 +49210,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, + "line": 214, "character": 4 } ], @@ -46709,7 +49220,7 @@ } }, { - "id": 499, + "id": 530, "name": "wal", "kind": 1024, "kindString": "Property", @@ -46722,7 +49233,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, + "line": 217, "character": 4 } ], @@ -46736,14 +49247,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 495, - 498, - 500, - 497, - 496, - 499 - ] + "children": [526, 529, 531, 528, 527, 530] } ] } @@ -46756,7 +49260,7 @@ "types": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -46767,7 +49271,7 @@ }, { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "array", @@ -46797,7 +49301,7 @@ ] }, { - "id": 489, + "id": 520, "name": "geojson", "kind": 2048, "kindString": "Method", @@ -46805,13 +49309,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, + "line": 179, "character": 2 } ], "signatures": [ { - "id": 490, + "id": 521, "name": "geojson", "kind": 4096, "kindString": "Call signature", @@ -46821,7 +49325,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", @@ -46846,7 +49350,7 @@ ] }, { - "id": 465, + "id": 496, "name": "limit", "kind": 2048, "kindString": "Method", @@ -46854,13 +49358,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 2 } ], "signatures": [ { - "id": 466, + "id": 497, "name": "limit", "kind": 4096, "kindString": "Call signature", @@ -46870,7 +49374,7 @@ }, "parameters": [ { - "id": 467, + "id": 498, "name": "count", "kind": 32768, "kindString": "Parameter", @@ -46884,7 +49388,7 @@ } }, { - "id": 468, + "id": 499, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -46896,14 +49400,14 @@ "type": { "type": "reflection", "declaration": { - "id": 469, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 470, + "id": 501, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -46916,7 +49420,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 43 } ], @@ -46930,9 +49434,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 470 - ] + "children": [501] } ] } @@ -46942,22 +49444,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -46966,7 +49473,7 @@ ] }, { - "id": 484, + "id": 515, "name": "maybeSingle", "kind": 2048, "kindString": "Method", @@ -46974,13 +49481,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, + "line": 154, "character": 2 } ], "signatures": [ { - "id": 485, + "id": 516, "name": "maybeSingle", "kind": 4096, "kindString": "Call signature", @@ -46991,7 +49498,7 @@ }, "typeParameter": [ { - "id": 486, + "id": 517, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -47000,7 +49507,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 442, + "id": 472, "name": "Result" }, "extendsType": { @@ -47023,7 +49530,7 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "union", @@ -47034,7 +49541,7 @@ }, { "type": "reference", - "id": 387, + "id": 416, "name": "ResultOne" } ] @@ -47046,7 +49553,7 @@ ] }, { - "id": 449, + "id": 480, "name": "order", "kind": 2048, "kindString": "Method", @@ -47054,13 +49561,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, + "line": 45, "character": 2 } ], "signatures": [ { - "id": 450, + "id": 481, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -47071,7 +49578,7 @@ }, "typeParameter": [ { - "id": 451, + "id": 482, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -47084,7 +49591,7 @@ ], "parameters": [ { - "id": 452, + "id": 483, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -47094,13 +49601,13 @@ }, "type": { "type": "reference", - "id": 352, + "id": 381, "name": "ColumnName", "dereferenced": {} } }, { - "id": 453, + "id": 484, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -47113,14 +49620,14 @@ "type": { "type": "reflection", "declaration": { - "id": 454, + "id": 485, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 455, + "id": 486, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -47133,7 +49640,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 16 } ], @@ -47143,7 +49650,7 @@ } }, { - "id": 457, + "id": 488, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -47156,7 +49663,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 59 } ], @@ -47166,7 +49673,7 @@ } }, { - "id": 456, + "id": 487, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -47179,7 +49686,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 37 } ], @@ -47193,11 +49700,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 455, - 457, - 456 - ] + "children": [486, 488, 487] } ] } @@ -47206,29 +49709,34 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" } }, { - "id": 458, + "id": 489, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -47239,7 +49747,7 @@ }, "parameters": [ { - "id": 459, + "id": 490, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -47253,7 +49761,7 @@ } }, { - "id": 460, + "id": 491, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -47266,14 +49774,14 @@ "type": { "type": "reflection", "declaration": { - "id": 461, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 462, + "id": 493, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -47286,7 +49794,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 16 } ], @@ -47296,18 +49804,20 @@ } }, { - "id": 464, + "id": 495, "name": "foreignTable", "kind": 1024, "kindString": "Property", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Set this to order a foreign table by foreign\ncolumns\n" }, "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 59 } ], @@ -47317,7 +49827,7 @@ } }, { - "id": 463, + "id": 494, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -47330,7 +49840,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 37 } ], @@ -47344,11 +49854,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 462, - 464, - 463 - ] + "children": [493, 495, 494] } ] } @@ -47357,22 +49863,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -47381,7 +49892,7 @@ ] }, { - "id": 471, + "id": 502, "name": "range", "kind": 2048, "kindString": "Method", @@ -47389,23 +49900,23 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 2 } ], "signatures": [ { - "id": 472, + "id": 503, "name": "range", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." }, "parameters": [ { - "id": 473, + "id": 504, "name": "from", "kind": 32768, "kindString": "Parameter", @@ -47419,7 +49930,7 @@ } }, { - "id": 474, + "id": 505, "name": "to", "kind": 32768, "kindString": "Parameter", @@ -47433,7 +49944,7 @@ } }, { - "id": 475, + "id": 506, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -47445,14 +49956,14 @@ "type": { "type": "reflection", "declaration": { - "id": 476, + "id": 507, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 477, + "id": 508, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -47465,7 +49976,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 54 } ], @@ -47479,9 +49990,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 477 - ] + "children": [508] } ] } @@ -47491,22 +50000,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -47515,7 +50029,7 @@ ] }, { - "id": 503, + "id": 534, "name": "returns", "kind": 2048, "kindString": "Method", @@ -47523,13 +50037,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, + "line": 257, "character": 2 } ], "signatures": [ { - "id": 504, + "id": 535, "name": "returns", "kind": 4096, "kindString": "Call signature", @@ -47539,7 +50053,7 @@ }, "typeParameter": [ { - "id": 505, + "id": 536, "name": "NewResult", "kind": 131072, "kindString": "Type parameter", @@ -47551,22 +50065,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 406, + "id": 435, "name": "NewResult" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -47575,7 +50094,7 @@ ] }, { - "id": 501, + "id": 532, "name": "rollback", "kind": 2048, "kindString": "Method", @@ -47583,13 +50102,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, + "line": 243, "character": 2 } ], "signatures": [ { - "id": 502, + "id": 533, "name": "rollback", "kind": 4096, "kindString": "Call signature", @@ -47600,22 +50119,27 @@ }, "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -47624,7 +50148,7 @@ ] }, { - "id": 444, + "id": 475, "name": "select", "kind": 2048, "kindString": "Method", @@ -47632,13 +50156,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, + "line": 20, "character": 2 } ], "signatures": [ { - "id": 445, + "id": 476, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -47649,7 +50173,7 @@ }, "typeParameter": [ { - "id": 446, + "id": 477, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -47664,7 +50188,7 @@ } }, { - "id": 447, + "id": 478, "name": "NewResultOne", "kind": 131072, "kindString": "Type parameter", @@ -47674,17 +50198,22 @@ "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 347, + "id": 473, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, "name": "Query" } ], @@ -47694,7 +50223,7 @@ ], "parameters": [ { - "id": 448, + "id": 479, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -47706,7 +50235,7 @@ }, "type": { "type": "reference", - "id": 347, + "id": 376, "name": "Query", "dereferenced": {} } @@ -47714,25 +50243,30 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "array", "elementType": { "type": "reference", - "id": 348, + "id": 377, "name": "NewResultOne" } + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -47741,7 +50275,7 @@ ] }, { - "id": 481, + "id": 512, "name": "single", "kind": 2048, "kindString": "Method", @@ -47749,13 +50283,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, + "line": 141, "character": 2 } ], "signatures": [ { - "id": 482, + "id": 513, "name": "single", "kind": 4096, "kindString": "Call signature", @@ -47766,7 +50300,7 @@ }, "typeParameter": [ { - "id": 483, + "id": 514, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -47775,7 +50309,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 442, + "id": 472, "name": "Result" }, "extendsType": { @@ -47798,11 +50332,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 384, + "id": 413, "name": "ResultOne" } ], @@ -47812,7 +50346,7 @@ ] }, { - "id": 521, + "id": 552, "name": "then", "kind": 2048, "kindString": "Method", @@ -47826,25 +50360,25 @@ ], "signatures": [ { - "id": 522, + "id": 553, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 523, + "id": 554, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -47852,7 +50386,7 @@ } }, { - "id": 524, + "id": 555, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -47865,7 +50399,7 @@ ], "parameters": [ { - "id": 525, + "id": 556, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -47882,32 +50416,32 @@ { "type": "reflection", "declaration": { - "id": 526, + "id": 557, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 527, + "id": 558, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 559, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -47920,7 +50454,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -47928,7 +50462,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -47946,7 +50480,7 @@ } }, { - "id": 529, + "id": 560, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -47963,21 +50497,21 @@ { "type": "reflection", "declaration": { - "id": 530, + "id": 561, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 531, + "id": 562, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 532, + "id": 563, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -47993,7 +50527,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -48001,7 +50535,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -48027,12 +50561,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -48044,19 +50578,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 557, + "id": 589, "name": "default.then" } } ], "inheritedFrom": { "type": "reference", - "id": 556, + "id": 588, "name": "default.then" } }, { - "id": 519, + "id": 550, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -48070,7 +50604,7 @@ ], "signatures": [ { - "id": 520, + "id": 551, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -48081,36 +50615,41 @@ }, "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 555, + "id": 587, "name": "default.throwOnError" } } ], "inheritedFrom": { "type": "reference", - "id": 554, + "id": 586, "name": "default.throwOnError" } } @@ -48119,44 +50658,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 438 - ] + "children": [468] }, { "title": "Properties", "kind": 1024, - "children": [ - 510, - 513, - 508, - 518, - 506, - 509, - 511, - 512, - 507 - ] + "children": [541, 544, 539, 549, 537, 540, 542, 543, 538] }, { "title": "Methods", "kind": 2048, - "children": [ - 478, - 487, - 491, - 489, - 465, - 484, - 449, - 471, - 503, - 501, - 444, - 481, - 521, - 519 - ] + "children": [509, 518, 522, 520, 496, 515, 480, 502, 534, 532, 475, 512, 552, 550] } ], "sources": [ @@ -48168,7 +50680,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 564, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -48179,7 +50691,7 @@ } }, { - "id": 534, + "id": 565, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -48202,21 +50714,32 @@ } }, { - "id": 535, + "id": 566, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 567, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "extendedTypes": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -48226,20 +50749,20 @@ "extendedBy": [ { "type": "reference", - "id": 114, + "id": 142, "name": "PostgrestFilterBuilder" } ] }, { - "id": 571, + "id": 603, "name": "PostgrestResponseFailure", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 574, + "id": 606, "name": "count", "kind": 1024, "kindString": "Property", @@ -48257,7 +50780,7 @@ } }, { - "id": 573, + "id": 605, "name": "data", "kind": 1024, "kindString": "Property", @@ -48275,7 +50798,7 @@ } }, { - "id": 572, + "id": 604, "name": "error", "kind": 1024, "kindString": "Property", @@ -48289,10 +50812,10 @@ ], "type": { "type": "reference", - "id": 588, + "id": 620, "name": "PostgrestError", "dereferenced": { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -48311,14 +50834,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -48336,7 +50859,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -48354,7 +50877,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -48372,7 +50895,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -48394,12 +50917,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -48415,7 +50933,7 @@ } }, { - "id": 575, + "id": 607, "name": "status", "kind": 1024, "kindString": "Property", @@ -48437,7 +50955,7 @@ } }, { - "id": 576, + "id": 608, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -48463,13 +50981,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574, - 573, - 572, - 575, - 576 - ] + "children": [606, 605, 604, 607, 608] } ], "sources": [ @@ -48487,14 +50999,14 @@ ] }, { - "id": 577, + "id": 609, "name": "PostgrestResponseSuccess", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 580, + "id": 612, "name": "count", "kind": 1024, "kindString": "Property", @@ -48521,7 +51033,7 @@ } }, { - "id": 579, + "id": 611, "name": "data", "kind": 1024, "kindString": "Property", @@ -48535,13 +51047,13 @@ ], "type": { "type": "reference", - "id": 583, + "id": 615, "name": "T", "dereferenced": {} } }, { - "id": 578, + "id": 610, "name": "error", "kind": 1024, "kindString": "Property", @@ -48559,7 +51071,7 @@ } }, { - "id": 581, + "id": 613, "name": "status", "kind": 1024, "kindString": "Property", @@ -48581,7 +51093,7 @@ } }, { - "id": 582, + "id": 614, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -48607,13 +51119,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 580, - 579, - 578, - 581, - 582 - ] + "children": [612, 611, 610, 613, 614] } ], "sources": [ @@ -48625,7 +51131,7 @@ ], "typeParameter": [ { - "id": 583, + "id": 615, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -48640,7 +51146,7 @@ ] }, { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -48659,14 +51165,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -48684,7 +51190,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -48702,7 +51208,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -48720,7 +51226,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -48742,12 +51248,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -48761,7 +51262,7 @@ } }, { - "id": 586, + "id": 618, "name": "PostgrestMaybeSingleResponse", "kind": 4194304, "kindString": "Type alias", @@ -48775,7 +51276,7 @@ ], "typeParameter": [ { - "id": 587, + "id": 619, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -48784,14 +51285,14 @@ ], "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "union", "types": [ { "type": "reference", - "id": 587, + "id": 619, "name": "T" }, { @@ -48805,7 +51306,7 @@ } }, { - "id": 569, + "id": 601, "name": "PostgrestResponse", "kind": 4194304, "kindString": "Type alias", @@ -48819,7 +51320,7 @@ ], "typeParameter": [ { - "id": 570, + "id": 602, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -48828,13 +51329,13 @@ ], "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "array", "elementType": { "type": "reference", - "id": 570, + "id": 602, "name": "T" } } @@ -48843,7 +51344,7 @@ } }, { - "id": 584, + "id": 616, "name": "PostgrestSingleResponse", "kind": 4194304, "kindString": "Type alias", @@ -48857,7 +51358,7 @@ ], "typeParameter": [ { - "id": 585, + "id": 617, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -48868,14 +51369,14 @@ "type": "union", "types": [ { - "id": 577, + "id": 609, "name": "PostgrestResponseSuccess", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 580, + "id": 612, "name": "count", "kind": 1024, "kindString": "Property", @@ -48902,7 +51403,7 @@ } }, { - "id": 579, + "id": 611, "name": "data", "kind": 1024, "kindString": "Property", @@ -48916,13 +51417,13 @@ ], "type": { "type": "reference", - "id": 583, + "id": 615, "name": "T", "dereferenced": {} } }, { - "id": 578, + "id": 610, "name": "error", "kind": 1024, "kindString": "Property", @@ -48940,7 +51441,7 @@ } }, { - "id": 581, + "id": 613, "name": "status", "kind": 1024, "kindString": "Property", @@ -48962,7 +51463,7 @@ } }, { - "id": 582, + "id": 614, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -48988,13 +51489,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 580, - 579, - 578, - 581, - 582 - ] + "children": [612, 611, 610, 613, 614] } ], "sources": [ @@ -49006,7 +51501,7 @@ ], "typeParameter": [ { - "id": 583, + "id": 615, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -49021,14 +51516,14 @@ ] }, { - "id": 571, + "id": 603, "name": "PostgrestResponseFailure", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 574, + "id": 606, "name": "count", "kind": 1024, "kindString": "Property", @@ -49046,7 +51541,7 @@ } }, { - "id": 573, + "id": 605, "name": "data", "kind": 1024, "kindString": "Property", @@ -49064,7 +51559,7 @@ } }, { - "id": 572, + "id": 604, "name": "error", "kind": 1024, "kindString": "Property", @@ -49078,10 +51573,10 @@ ], "type": { "type": "reference", - "id": 588, + "id": 620, "name": "PostgrestError", "dereferenced": { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -49100,14 +51595,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -49125,7 +51620,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -49143,7 +51638,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -49161,7 +51656,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -49183,12 +51678,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -49204,7 +51694,7 @@ } }, { - "id": 575, + "id": 607, "name": "status", "kind": 1024, "kindString": "Property", @@ -49226,7 +51716,7 @@ } }, { - "id": 576, + "id": 608, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -49252,13 +51742,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574, - 573, - 572, - 575, - 576 - ] + "children": [606, 605, 604, 607, 608] } ], "sources": [ @@ -49283,31 +51767,17 @@ { "title": "Classes", "kind": 128, - "children": [ - 536, - 1, - 114, - 49, - 437 - ] + "children": [568, 1, 142, 57, 467] }, { "title": "Interfaces", "kind": 256, - "children": [ - 571, - 577 - ] + "children": [603, 609] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 588, - 586, - 569, - 584 - ] + "children": [620, 618, 601, 616] } ], "sources": [ @@ -49327,14 +51797,14 @@ "originalName": "", "children": [ { - "id": 535, + "id": 536, "name": "REALTIME_LISTEN_TYPES", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 536, + "id": 537, "name": "BROADCAST", "kind": 16, "kindString": "Enumeration Member", @@ -49353,7 +51823,7 @@ "defaultValue": "\"broadcast\"" }, { - "id": 538, + "id": 539, "name": "POSTGRES_CHANGES", "kind": 16, "kindString": "Enumeration Member", @@ -49375,7 +51845,7 @@ "defaultValue": "\"postgres_changes\"" }, { - "id": 537, + "id": 538, "name": "PRESENCE", "kind": 16, "kindString": "Enumeration Member", @@ -49398,11 +51868,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 536, - 538, - 537 - ] + "children": [537, 539, 538] } ], "sources": [ @@ -49414,14 +51880,14 @@ ] }, { - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 540, + "id": 541, "name": "ALL", "kind": 16, "kindString": "Enumeration Member", @@ -49440,7 +51906,7 @@ "defaultValue": "\"*\"" }, { - "id": 543, + "id": 544, "name": "DELETE", "kind": 16, "kindString": "Enumeration Member", @@ -49459,7 +51925,7 @@ "defaultValue": "\"DELETE\"" }, { - "id": 541, + "id": 542, "name": "INSERT", "kind": 16, "kindString": "Enumeration Member", @@ -49478,7 +51944,7 @@ "defaultValue": "\"INSERT\"" }, { - "id": 542, + "id": 543, "name": "UPDATE", "kind": 16, "kindString": "Enumeration Member", @@ -49501,12 +51967,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 540, - 543, - 541, - 542 - ] + "children": [541, 544, 542, 543] } ], "sources": [ @@ -49518,14 +51979,14 @@ ] }, { - "id": 544, + "id": 545, "name": "REALTIME_PRESENCE_LISTEN_EVENTS", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 546, + "id": 547, "name": "JOIN", "kind": 16, "kindString": "Enumeration Member", @@ -49544,7 +52005,7 @@ "defaultValue": "\"join\"" }, { - "id": 547, + "id": 548, "name": "LEAVE", "kind": 16, "kindString": "Enumeration Member", @@ -49563,7 +52024,7 @@ "defaultValue": "\"leave\"" }, { - "id": 545, + "id": 546, "name": "SYNC", "kind": 16, "kindString": "Enumeration Member", @@ -49586,11 +52047,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 546, - 547, - 545 - ] + "children": [547, 548, 546] } ], "sources": [ @@ -49602,14 +52059,14 @@ ] }, { - "id": 548, + "id": 549, "name": "REALTIME_SUBSCRIBE_STATES", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 552, + "id": 553, "name": "CHANNEL_ERROR", "kind": 16, "kindString": "Enumeration Member", @@ -49628,7 +52085,7 @@ "defaultValue": "\"CHANNEL_ERROR\"" }, { - "id": 551, + "id": 552, "name": "CLOSED", "kind": 16, "kindString": "Enumeration Member", @@ -49647,7 +52104,7 @@ "defaultValue": "\"CLOSED\"" }, { - "id": 549, + "id": 550, "name": "SUBSCRIBED", "kind": 16, "kindString": "Enumeration Member", @@ -49666,7 +52123,7 @@ "defaultValue": "\"SUBSCRIBED\"" }, { - "id": 550, + "id": 551, "name": "TIMED_OUT", "kind": 16, "kindString": "Enumeration Member", @@ -49689,12 +52146,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 552, - 551, - 549, - 550 - ] + "children": [553, 552, 550, 551] } ], "sources": [ @@ -49873,10 +52325,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -49941,9 +52390,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -49961,10 +52408,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -49982,9 +52426,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -50026,7 +52468,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -50209,6 +52651,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -50357,15 +52836,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } ], @@ -50399,7 +52870,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -50427,7 +52898,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -50450,7 +52921,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -50480,7 +52951,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -50500,7 +52971,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -50520,7 +52991,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -50539,7 +53010,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -50560,7 +53031,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -50608,7 +53079,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -50627,7 +53098,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -50657,7 +53128,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -50676,7 +53147,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -50699,7 +53170,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -50747,7 +53218,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -50775,7 +53246,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -50795,7 +53266,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -50813,7 +53284,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -50832,7 +53303,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -50856,7 +53327,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -50875,7 +53346,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -50897,7 +53368,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -50920,7 +53391,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -50943,7 +53414,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -50966,7 +53437,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -50985,12 +53456,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -51006,7 +53472,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -51025,7 +53491,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -51044,7 +53510,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -51193,10 +53659,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -51261,9 +53724,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -51281,10 +53742,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -51302,9 +53760,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -51338,7 +53794,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -51368,7 +53824,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -51398,7 +53854,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -51462,7 +53918,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -51496,7 +53952,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -51526,7 +53982,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -51594,7 +54050,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -51618,10 +54074,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -51629,25 +54085,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -51659,99 +54189,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -51786,7 +54236,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -51807,7 +54257,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -51828,7 +54278,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -51870,40 +54320,19 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 + 80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -51922,7 +54351,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -51942,7 +54371,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -51993,60 +54422,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, + 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -52229,12 +54624,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -52417,10 +54807,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -52485,9 +54872,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -52505,10 +54890,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -52526,9 +54908,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -52619,40 +54999,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -52786,17 +55143,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -52829,40 +55181,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -52940,7 +55269,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -52955,7 +55284,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -52969,7 +55298,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -52977,7 +55306,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -52990,14 +55319,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -53017,7 +55346,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -53036,7 +55365,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -53049,14 +55378,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -53073,7 +55402,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -53092,20 +55421,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -53186,7 +55507,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -53369,6 +55690,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -53517,15 +55875,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } ], @@ -53559,7 +55909,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -53587,7 +55937,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -53610,7 +55960,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -53640,7 +55990,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -53660,7 +56010,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -53680,7 +56030,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -53699,7 +56049,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -53720,7 +56070,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -53768,7 +56118,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -53787,7 +56137,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -53817,7 +56167,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -53836,7 +56186,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -53859,7 +56209,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -53907,7 +56257,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -53935,7 +56285,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -53955,7 +56305,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -53973,7 +56323,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -53992,7 +56342,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -54016,7 +56366,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -54035,7 +56385,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -54057,7 +56407,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -54080,7 +56430,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -54103,7 +56453,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -54126,7 +56476,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -54145,12 +56495,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -54166,7 +56511,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -54185,7 +56530,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -54204,7 +56549,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -54353,10 +56698,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -54421,9 +56763,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -54441,10 +56781,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -54462,9 +56799,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -54498,7 +56833,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -54528,7 +56863,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -54558,7 +56893,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -54622,7 +56957,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -54656,7 +56991,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -54686,7 +57021,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -54754,7 +57089,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -54778,10 +57113,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -54789,25 +57124,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -54819,99 +57228,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -54946,7 +57275,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -54967,7 +57296,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -54988,7 +57317,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -55030,40 +57359,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -55082,7 +57388,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -55102,7 +57408,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -55153,60 +57459,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, 354, + 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -55336,9 +57608,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -55479,9 +57749,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -55517,7 +57785,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -55643,9 +57911,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -55681,7 +57947,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -55777,7 +58043,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -55786,7 +58052,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -55800,7 +58066,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -55812,7 +58078,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -55824,14 +58090,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -55848,13 +58114,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -55877,7 +58143,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -55898,7 +58164,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -55925,12 +58191,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -55975,7 +58236,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -56071,7 +58332,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -56080,7 +58341,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -56094,7 +58355,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -56106,7 +58367,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -56118,14 +58379,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -56142,13 +58403,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -56171,7 +58432,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -56192,7 +58453,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -56219,12 +58480,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -56269,7 +58525,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -56365,7 +58621,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -56374,7 +58630,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -56388,7 +58644,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -56400,7 +58656,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -56412,14 +58668,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -56436,13 +58692,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -56465,7 +58721,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -56486,7 +58742,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -56513,12 +58769,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -56563,7 +58814,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -56659,7 +58910,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -56668,7 +58919,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -56682,7 +58933,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -56694,7 +58945,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -56706,14 +58957,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -56730,13 +58981,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -56759,7 +59010,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -56780,7 +59031,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -56807,12 +59058,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -56857,7 +59103,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -56950,9 +59196,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -57039,10 +59283,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -57164,7 +59405,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -57236,9 +59477,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -57785,40 +60024,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -57845,7 +60061,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -58028,6 +60244,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -58175,17 +60428,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] } ], "sources": [ @@ -58218,7 +60461,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -58246,7 +60489,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -58269,7 +60512,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -58299,7 +60542,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -58319,7 +60562,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -58339,7 +60582,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -58358,7 +60601,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -58379,7 +60622,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -58427,7 +60670,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -58446,7 +60689,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -58476,7 +60719,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -58495,7 +60738,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -58518,7 +60761,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -58566,7 +60809,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -58594,7 +60837,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -58614,7 +60857,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -58632,7 +60875,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -58651,7 +60894,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -58675,7 +60918,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -58694,7 +60937,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -58716,7 +60959,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -58739,7 +60982,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -58762,7 +61005,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -58785,7 +61028,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -58804,12 +61047,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -58825,7 +61063,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -58844,7 +61082,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -58863,7 +61101,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -59012,10 +61250,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -59080,9 +61315,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -59100,10 +61333,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -59121,9 +61351,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -59157,7 +61385,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -59187,7 +61415,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -59217,7 +61445,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -59281,7 +61509,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -59315,7 +61543,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -59345,7 +61573,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -59413,7 +61641,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -59437,10 +61665,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -59448,25 +61676,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -59478,99 +61780,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -59605,7 +61827,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -59626,7 +61848,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -59647,7 +61869,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -59843,10 +62065,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -59911,9 +62130,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -59931,10 +62148,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -59952,9 +62166,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -59991,52 +62203,22 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, + 365, 351, 340, 348, 354, 350, 349, 356, 357, 358, + 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } @@ -60044,7 +62226,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -60227,12 +62409,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -60415,10 +62592,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -60483,9 +62657,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -60503,10 +62675,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -60524,9 +62693,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -60727,17 +62894,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -60824,7 +62986,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -60839,7 +63001,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -60853,7 +63015,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -60861,7 +63023,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -60874,14 +63036,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -60901,7 +63063,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -60920,7 +63082,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -60933,14 +63095,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -60957,7 +63119,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -60976,20 +63138,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -61065,60 +63219,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, + 340, 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -61248,9 +63370,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -61391,9 +63511,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -61429,7 +63547,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -61555,9 +63673,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -61593,7 +63709,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -61689,7 +63805,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -61698,7 +63814,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -61712,7 +63828,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -61724,7 +63840,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -61736,14 +63852,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -61760,13 +63876,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -61789,7 +63905,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -61810,7 +63926,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -61837,12 +63953,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -61887,7 +63998,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -61983,7 +64094,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -61992,7 +64103,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -62006,7 +64117,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -62018,7 +64129,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -62030,14 +64141,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -62054,13 +64165,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -62083,7 +64194,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -62104,7 +64215,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -62131,12 +64242,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -62181,7 +64287,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -62277,7 +64383,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -62286,7 +64392,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -62300,7 +64406,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -62312,7 +64418,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -62324,14 +64430,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -62348,13 +64454,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -62377,7 +64483,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -62398,7 +64504,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -62425,12 +64531,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -62475,7 +64576,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -62571,7 +64672,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -62580,7 +64681,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -62594,7 +64695,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -62606,7 +64707,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -62618,14 +64719,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -62642,13 +64743,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -62671,7 +64772,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -62692,7 +64793,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -62719,12 +64820,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -62769,7 +64865,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -62862,9 +64958,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -62951,10 +65045,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -63076,7 +65167,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -63148,9 +65239,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -63697,40 +65786,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -63749,7 +65815,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -63769,7 +65835,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -63820,60 +65886,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, 354, 350, 349, + 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -64090,10 +66122,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -64158,9 +66187,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -64178,10 +66205,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -64199,9 +66223,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -64243,7 +66265,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -64426,6 +66448,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -64574,15 +66633,8 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, + 453, 448, 443, 442 ] } ], @@ -64616,7 +66668,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -64644,7 +66696,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -64667,7 +66719,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -64697,7 +66749,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -64717,7 +66769,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -64737,7 +66789,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -64756,7 +66808,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -64777,7 +66829,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -64825,7 +66877,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -64844,7 +66896,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -64874,7 +66926,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -64893,7 +66945,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -64916,7 +66968,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -64964,7 +67016,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -64992,7 +67044,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -65012,7 +67064,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -65030,7 +67082,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -65049,7 +67101,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -65073,7 +67125,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -65092,7 +67144,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -65114,7 +67166,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -65137,7 +67189,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -65160,7 +67212,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -65183,7 +67235,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -65202,12 +67254,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -65223,7 +67270,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -65242,7 +67289,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -65261,7 +67308,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -65411,8 +67458,7 @@ "title": "Properties", "kind": 1024, "children": [ - 323, - 322 + 323, 322 ] } ], @@ -65478,9 +67524,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -65498,10 +67542,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -65519,9 +67560,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -65555,7 +67594,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -65585,7 +67624,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -65615,7 +67654,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -65679,7 +67718,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -65713,7 +67752,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -65743,7 +67782,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -65811,7 +67850,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -65835,10 +67874,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -65846,25 +67885,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -65876,80 +67989,6 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ @@ -65957,18 +67996,14 @@ "title": "Properties", "kind": 1024, "children": [ - 460, - 463, - 461, - 462, - 459 + 461, 464, 462, 463, 460 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -66003,7 +68038,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -66024,7 +68059,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -66045,7 +68080,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -66082,7 +68117,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -66102,7 +68137,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -66153,52 +68188,22 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, + 365, 351, 340, 348, 354, 350, 349, 356, 357, 358, + 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } @@ -66206,7 +68211,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -66389,12 +68394,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -66577,10 +68577,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -66645,9 +68642,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -66665,10 +68660,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -66686,9 +68678,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -66732,20 +68722,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -66826,7 +68808,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -67009,6 +68991,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -67157,15 +69176,8 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, + 443, 442 ] } ], @@ -67199,7 +69211,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -67227,7 +69239,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -67250,7 +69262,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -67280,7 +69292,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -67300,7 +69312,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -67320,7 +69332,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -67339,7 +69351,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -67360,7 +69372,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -67408,7 +69420,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -67427,7 +69439,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -67457,7 +69469,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -67476,7 +69488,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -67499,7 +69511,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -67547,7 +69559,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -67575,7 +69587,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -67595,7 +69607,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -67613,7 +69625,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -67632,7 +69644,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -67656,7 +69668,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -67675,7 +69687,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -67697,7 +69709,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -67720,7 +69732,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -67743,7 +69755,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -67766,7 +69778,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -67785,12 +69797,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -67806,7 +69813,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -67825,7 +69832,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -67844,7 +69851,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -67993,10 +70000,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -68061,9 +70065,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -68081,10 +70083,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -68102,9 +70101,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -68138,7 +70135,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -68168,7 +70165,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -68198,7 +70195,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -68262,7 +70259,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -68296,7 +70293,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -68326,7 +70323,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -68394,7 +70391,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -68418,10 +70415,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -68429,25 +70426,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -68459,99 +70530,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -68586,7 +70577,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -68607,7 +70598,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -68628,7 +70619,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -68665,7 +70656,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -68685,7 +70676,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -68736,60 +70727,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, + 340, 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -68919,9 +70878,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -69062,9 +71019,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -69100,7 +71055,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -69226,9 +71181,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -69264,7 +71217,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -69360,7 +71313,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -69369,7 +71322,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -69383,7 +71336,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -69395,7 +71348,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -69407,14 +71360,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -69431,13 +71384,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -69460,7 +71413,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -69481,7 +71434,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -69508,12 +71461,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -69558,7 +71506,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -69654,7 +71602,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -69663,7 +71611,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -69677,7 +71625,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -69689,7 +71637,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -69701,14 +71649,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -69725,13 +71673,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -69754,7 +71702,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -69775,7 +71723,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -69802,12 +71750,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -69852,7 +71795,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -69948,7 +71891,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -69957,7 +71900,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -69971,7 +71914,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -69983,7 +71926,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -69995,14 +71938,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -70019,13 +71962,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -70048,7 +71991,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -70069,7 +72012,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -70096,12 +72039,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -70146,7 +72084,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -70242,7 +72180,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -70251,7 +72189,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -70265,7 +72203,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -70277,7 +72215,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -70289,14 +72227,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -70313,13 +72251,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -70342,7 +72280,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -70363,7 +72301,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -70390,12 +72328,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -70440,7 +72373,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -70533,9 +72466,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -70622,10 +72553,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -70747,7 +72675,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -70819,9 +72747,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -71368,40 +73294,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -71535,17 +73438,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -71732,10 +73630,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -71800,9 +73695,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -71820,10 +73713,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -71841,9 +73731,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -71885,7 +73773,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -72068,6 +73956,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -72216,15 +74141,8 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, + 443, 442 ] } ], @@ -72258,7 +74176,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -72286,7 +74204,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -72309,7 +74227,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -72339,7 +74257,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -72359,7 +74277,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -72379,7 +74297,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -72398,7 +74316,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -72419,7 +74337,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -72467,7 +74385,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -72486,7 +74404,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -72516,7 +74434,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -72535,7 +74453,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -72558,7 +74476,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -72606,7 +74524,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -72634,7 +74552,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -72654,7 +74572,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -72672,7 +74590,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -72691,7 +74609,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -72715,7 +74633,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -72734,7 +74652,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -72756,7 +74674,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -72779,7 +74697,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -72802,7 +74720,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -72825,7 +74743,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -72844,12 +74762,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -72865,7 +74778,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -72884,7 +74797,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -72903,7 +74816,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -73052,10 +74965,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -73120,9 +75030,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -73140,10 +75048,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -73161,9 +75066,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -73197,7 +75100,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -73227,7 +75130,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -73257,7 +75160,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -73321,7 +75224,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -73355,7 +75258,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -73385,7 +75288,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -73453,7 +75356,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -73477,10 +75380,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -73488,25 +75391,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -73518,99 +75495,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -73645,7 +75542,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -73666,7 +75563,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -73687,7 +75584,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -73724,7 +75621,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -73744,7 +75641,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -73795,60 +75692,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, + 340, 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -74031,12 +75896,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -74219,10 +76079,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -74287,9 +76144,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -74307,10 +76162,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -74328,9 +76180,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -74374,20 +76224,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -74468,7 +76310,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -74651,6 +76493,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -74799,15 +76678,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } ], @@ -74841,7 +76712,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -74869,7 +76740,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -74892,7 +76763,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -74922,7 +76793,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -74942,7 +76813,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -74962,7 +76833,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -74981,7 +76852,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -75002,7 +76873,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -75050,7 +76921,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -75069,7 +76940,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -75099,7 +76970,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -75118,7 +76989,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -75141,7 +77012,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -75189,7 +77060,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -75217,7 +77088,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -75237,7 +77108,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -75255,7 +77126,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -75274,7 +77145,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -75298,7 +77169,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -75317,7 +77188,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -75339,7 +77210,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -75362,7 +77233,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -75385,7 +77256,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -75408,7 +77279,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -75427,12 +77298,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -75448,7 +77314,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -75467,7 +77333,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -75486,7 +77352,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -75635,10 +77501,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -75703,9 +77566,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -75723,10 +77584,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -75744,9 +77602,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -75780,7 +77636,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -75810,7 +77666,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -75840,7 +77696,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -75904,7 +77760,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -75938,7 +77794,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -75968,7 +77824,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -76036,7 +77892,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -76060,10 +77916,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -76071,25 +77927,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -76101,99 +78031,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -76228,7 +78078,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -76249,7 +78099,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -76270,7 +78120,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -76307,7 +78157,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -76327,7 +78177,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -76378,60 +78228,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, + 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -76561,9 +78377,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -76704,9 +78518,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -76742,7 +78554,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -76868,9 +78680,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -76906,7 +78716,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -77002,7 +78812,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -77011,7 +78821,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -77025,7 +78835,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -77037,7 +78847,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -77049,14 +78859,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -77073,13 +78883,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -77102,7 +78912,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -77123,7 +78933,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -77150,12 +78960,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -77200,7 +79005,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -77296,7 +79101,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -77305,7 +79110,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -77319,7 +79124,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -77331,7 +79136,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -77343,14 +79148,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -77367,13 +79172,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -77396,7 +79201,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -77417,7 +79222,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -77444,12 +79249,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -77494,7 +79294,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -77590,7 +79390,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -77599,7 +79399,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -77613,7 +79413,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -77625,7 +79425,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -77637,14 +79437,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -77661,13 +79461,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -77690,7 +79490,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -77711,7 +79511,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -77738,12 +79538,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -77788,7 +79583,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -77884,7 +79679,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -77893,7 +79688,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -77907,7 +79702,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -77919,7 +79714,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -77931,14 +79726,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -77955,13 +79750,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -77984,7 +79779,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -78005,7 +79800,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -78032,12 +79827,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -78082,7 +79872,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -78175,9 +79965,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -78264,10 +80052,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -78389,7 +80174,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -78461,9 +80246,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -79010,40 +80793,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -79121,7 +80881,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -79136,7 +80896,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -79150,7 +80910,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -79158,7 +80918,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -79171,14 +80931,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -79198,7 +80958,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -79217,7 +80977,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -79230,14 +80990,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -79254,7 +81014,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -79273,20 +81033,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -79413,10 +81165,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -79481,9 +81230,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -79501,10 +81248,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -79522,9 +81266,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -79710,6 +81452,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -79857,17 +81636,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] } ], "sources": [ @@ -79881,7 +81650,7 @@ } }, { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -79889,25 +81658,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -79919,99 +81762,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -80019,7 +81782,7 @@ } }, { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -80033,7 +81796,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80045,7 +81808,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -80057,14 +81820,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -80081,13 +81844,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -80110,7 +81873,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -80131,7 +81894,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -80158,12 +81921,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -80177,7 +81935,7 @@ } }, { - "id": 471, + "id": 472, "name": "RealtimePostgresChangesPayload", "kind": 4194304, "kindString": "Type alias", @@ -80191,7 +81949,7 @@ ], "typeParameter": [ { - "id": 475, + "id": 476, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80199,7 +81957,7 @@ "type": { "type": "reflection", "declaration": { - "id": 472, + "id": 473, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80212,14 +81970,14 @@ } ], "indexSignature": { - "id": 473, + "id": 474, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 474, + "id": 475, "name": "key", "kind": 32768, "flags": {}, @@ -80242,7 +82000,7 @@ "type": "union", "types": [ { - "id": 476, + "id": 477, "name": "RealtimePostgresInsertPayload", "kind": 4194304, "kindString": "Type alias", @@ -80256,7 +82014,7 @@ ], "typeParameter": [ { - "id": 485, + "id": 486, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80264,7 +82022,7 @@ "type": { "type": "reflection", "declaration": { - "id": 482, + "id": 483, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80277,14 +82035,14 @@ } ], "indexSignature": { - "id": 483, + "id": 484, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 484, + "id": 485, "name": "key", "kind": 32768, "flags": {}, @@ -80313,14 +82071,14 @@ { "type": "reflection", "declaration": { - "id": 477, + "id": 478, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 478, + "id": 479, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -80339,7 +82097,7 @@ [ { "type": "reference", - "id": 541, + "id": 542, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" }, "" @@ -80348,7 +82106,7 @@ } }, { - "id": 479, + "id": 480, "name": "new", "kind": 1024, "kindString": "Property", @@ -80362,12 +82120,12 @@ ], "type": { "type": "reference", - "id": 485, + "id": 486, "name": "T" } }, { - "id": 480, + "id": 481, "name": "old", "kind": 1024, "kindString": "Property", @@ -80382,7 +82140,7 @@ "type": { "type": "reflection", "declaration": { - "id": 481, + "id": 482, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80402,11 +82160,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 478, - 479, - 480 - ] + "children": [479, 480, 481] } ], "sources": [ @@ -80422,7 +82176,7 @@ } }, { - "id": 486, + "id": 487, "name": "RealtimePostgresUpdatePayload", "kind": 4194304, "kindString": "Type alias", @@ -80436,7 +82190,7 @@ ], "typeParameter": [ { - "id": 494, + "id": 495, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80444,7 +82198,7 @@ "type": { "type": "reflection", "declaration": { - "id": 491, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80457,14 +82211,14 @@ } ], "indexSignature": { - "id": 492, + "id": 493, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 493, + "id": 494, "name": "key", "kind": 32768, "flags": {}, @@ -80493,14 +82247,14 @@ { "type": "reflection", "declaration": { - "id": 487, + "id": 488, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 488, + "id": 489, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -80519,7 +82273,7 @@ [ { "type": "reference", - "id": 542, + "id": 543, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" }, "" @@ -80528,7 +82282,7 @@ } }, { - "id": 489, + "id": 490, "name": "new", "kind": 1024, "kindString": "Property", @@ -80542,12 +82296,12 @@ ], "type": { "type": "reference", - "id": 494, + "id": 495, "name": "T" } }, { - "id": 490, + "id": 491, "name": "old", "kind": 1024, "kindString": "Property", @@ -80564,7 +82318,7 @@ "typeArguments": [ { "type": "reference", - "id": 494, + "id": 495, "name": "T" } ], @@ -80578,11 +82332,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 488, - 489, - 490 - ] + "children": [489, 490, 491] } ], "sources": [ @@ -80598,7 +82348,7 @@ } }, { - "id": 495, + "id": 496, "name": "RealtimePostgresDeletePayload", "kind": 4194304, "kindString": "Type alias", @@ -80612,7 +82362,7 @@ ], "typeParameter": [ { - "id": 504, + "id": 505, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80620,7 +82370,7 @@ "type": { "type": "reflection", "declaration": { - "id": 501, + "id": 502, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80633,14 +82383,14 @@ } ], "indexSignature": { - "id": 502, + "id": 503, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 503, + "id": 504, "name": "key", "kind": 32768, "flags": {}, @@ -80669,14 +82419,14 @@ { "type": "reflection", "declaration": { - "id": 496, + "id": 497, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 498, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -80695,7 +82445,7 @@ [ { "type": "reference", - "id": 543, + "id": 544, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" }, "" @@ -80704,7 +82454,7 @@ } }, { - "id": 498, + "id": 499, "name": "new", "kind": 1024, "kindString": "Property", @@ -80719,7 +82469,7 @@ "type": { "type": "reflection", "declaration": { - "id": 499, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80735,7 +82485,7 @@ } }, { - "id": 500, + "id": 501, "name": "old", "kind": 1024, "kindString": "Property", @@ -80752,7 +82502,7 @@ "typeArguments": [ { "type": "reference", - "id": 504, + "id": 505, "name": "T" } ], @@ -80766,11 +82516,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497, - 498, - 500 - ] + "children": [498, 499, 501] } ], "sources": [ @@ -80789,7 +82535,7 @@ } }, { - "id": 495, + "id": 496, "name": "RealtimePostgresDeletePayload", "kind": 4194304, "kindString": "Type alias", @@ -80803,7 +82549,7 @@ ], "typeParameter": [ { - "id": 504, + "id": 505, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80811,7 +82557,7 @@ "type": { "type": "reflection", "declaration": { - "id": 501, + "id": 502, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80824,14 +82570,14 @@ } ], "indexSignature": { - "id": 502, + "id": 503, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 503, + "id": 504, "name": "key", "kind": 32768, "flags": {}, @@ -80860,14 +82606,14 @@ { "type": "reflection", "declaration": { - "id": 496, + "id": 497, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 498, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -80886,7 +82632,7 @@ [ { "type": "reference", - "id": 543, + "id": 544, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" }, "" @@ -80895,7 +82641,7 @@ } }, { - "id": 498, + "id": 499, "name": "new", "kind": 1024, "kindString": "Property", @@ -80910,7 +82656,7 @@ "type": { "type": "reflection", "declaration": { - "id": 499, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -80926,7 +82672,7 @@ } }, { - "id": 500, + "id": 501, "name": "old", "kind": 1024, "kindString": "Property", @@ -80943,7 +82689,7 @@ "typeArguments": [ { "type": "reference", - "id": 504, + "id": 505, "name": "T" } ], @@ -80957,11 +82703,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497, - 498, - 500 - ] + "children": [498, 499, 501] } ], "sources": [ @@ -80977,7 +82719,7 @@ } }, { - "id": 476, + "id": 477, "name": "RealtimePostgresInsertPayload", "kind": 4194304, "kindString": "Type alias", @@ -80991,7 +82733,7 @@ ], "typeParameter": [ { - "id": 485, + "id": 486, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -80999,7 +82741,7 @@ "type": { "type": "reflection", "declaration": { - "id": 482, + "id": 483, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81012,14 +82754,14 @@ } ], "indexSignature": { - "id": 483, + "id": 484, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 484, + "id": 485, "name": "key", "kind": 32768, "flags": {}, @@ -81048,14 +82790,14 @@ { "type": "reflection", "declaration": { - "id": 477, + "id": 478, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 478, + "id": 479, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -81074,7 +82816,7 @@ [ { "type": "reference", - "id": 541, + "id": 542, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" }, "" @@ -81083,7 +82825,7 @@ } }, { - "id": 479, + "id": 480, "name": "new", "kind": 1024, "kindString": "Property", @@ -81097,12 +82839,12 @@ ], "type": { "type": "reference", - "id": 485, + "id": 486, "name": "T" } }, { - "id": 480, + "id": 481, "name": "old", "kind": 1024, "kindString": "Property", @@ -81117,7 +82859,7 @@ "type": { "type": "reflection", "declaration": { - "id": 481, + "id": 482, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81137,11 +82879,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 478, - 479, - 480 - ] + "children": [479, 480, 481] } ], "sources": [ @@ -81157,7 +82895,7 @@ } }, { - "id": 486, + "id": 487, "name": "RealtimePostgresUpdatePayload", "kind": 4194304, "kindString": "Type alias", @@ -81171,7 +82909,7 @@ ], "typeParameter": [ { - "id": 494, + "id": 495, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -81179,7 +82917,7 @@ "type": { "type": "reflection", "declaration": { - "id": 491, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81192,14 +82930,14 @@ } ], "indexSignature": { - "id": 492, + "id": 493, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 493, + "id": 494, "name": "key", "kind": 32768, "flags": {}, @@ -81228,14 +82966,14 @@ { "type": "reflection", "declaration": { - "id": 487, + "id": 488, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 488, + "id": 489, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -81254,7 +82992,7 @@ [ { "type": "reference", - "id": 542, + "id": 543, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" }, "" @@ -81263,7 +83001,7 @@ } }, { - "id": 489, + "id": 490, "name": "new", "kind": 1024, "kindString": "Property", @@ -81277,12 +83015,12 @@ ], "type": { "type": "reference", - "id": 494, + "id": 495, "name": "T" } }, { - "id": 490, + "id": 491, "name": "old", "kind": 1024, "kindString": "Property", @@ -81299,7 +83037,7 @@ "typeArguments": [ { "type": "reference", - "id": 494, + "id": 495, "name": "T" } ], @@ -81313,11 +83051,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 488, - 489, - 490 - ] + "children": [489, 490, 491] } ], "sources": [ @@ -81333,7 +83067,7 @@ } }, { - "id": 505, + "id": 506, "name": "RealtimePresenceJoinPayload", "kind": 4194304, "kindString": "Type alias", @@ -81347,7 +83081,7 @@ ], "typeParameter": [ { - "id": 514, + "id": 515, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -81355,7 +83089,7 @@ "type": { "type": "reflection", "declaration": { - "id": 511, + "id": 512, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81368,14 +83102,14 @@ } ], "indexSignature": { - "id": 512, + "id": 513, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 513, + "id": 514, "name": "key", "kind": 32768, "flags": {}, @@ -81397,14 +83131,14 @@ "type": { "type": "reflection", "declaration": { - "id": 506, + "id": 507, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 509, + "id": 510, "name": "currentPresences", "kind": 1024, "kindString": "Property", @@ -81423,7 +83157,7 @@ "typeArguments": [ { "type": "reference", - "id": 514, + "id": 515, "name": "T" } ], @@ -81432,7 +83166,7 @@ } }, { - "id": 507, + "id": 508, "name": "event", "kind": 1024, "kindString": "Property", @@ -81451,7 +83185,7 @@ [ { "type": "reference", - "id": 546, + "id": 547, "name": "REALTIME_PRESENCE_LISTEN_EVENTS.JOIN" }, "" @@ -81460,7 +83194,7 @@ } }, { - "id": 508, + "id": 509, "name": "key", "kind": 1024, "kindString": "Property", @@ -81478,7 +83212,7 @@ } }, { - "id": 510, + "id": 511, "name": "newPresences", "kind": 1024, "kindString": "Property", @@ -81497,7 +83231,7 @@ "typeArguments": [ { "type": "reference", - "id": 514, + "id": 515, "name": "T" } ], @@ -81510,12 +83244,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 509, - 507, - 508, - 510 - ] + "children": [510, 508, 509, 511] } ], "sources": [ @@ -81529,7 +83258,7 @@ } }, { - "id": 515, + "id": 516, "name": "RealtimePresenceLeavePayload", "kind": 4194304, "kindString": "Type alias", @@ -81543,7 +83272,7 @@ ], "typeParameter": [ { - "id": 524, + "id": 525, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -81551,7 +83280,7 @@ "type": { "type": "reflection", "declaration": { - "id": 521, + "id": 522, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81564,14 +83293,14 @@ } ], "indexSignature": { - "id": 522, + "id": 523, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 523, + "id": 524, "name": "key", "kind": 32768, "flags": {}, @@ -81593,14 +83322,14 @@ "type": { "type": "reflection", "declaration": { - "id": 516, + "id": 517, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 519, + "id": 520, "name": "currentPresences", "kind": 1024, "kindString": "Property", @@ -81619,7 +83348,7 @@ "typeArguments": [ { "type": "reference", - "id": 524, + "id": 525, "name": "T" } ], @@ -81628,7 +83357,7 @@ } }, { - "id": 517, + "id": 518, "name": "event", "kind": 1024, "kindString": "Property", @@ -81647,7 +83376,7 @@ [ { "type": "reference", - "id": 547, + "id": 548, "name": "REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE" }, "" @@ -81656,7 +83385,7 @@ } }, { - "id": 518, + "id": 519, "name": "key", "kind": 1024, "kindString": "Property", @@ -81674,7 +83403,7 @@ } }, { - "id": 520, + "id": 521, "name": "leftPresences", "kind": 1024, "kindString": "Property", @@ -81693,7 +83422,7 @@ "typeArguments": [ { "type": "reference", - "id": 524, + "id": 525, "name": "T" } ], @@ -81706,12 +83435,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 519, - 517, - 518, - 520 - ] + "children": [520, 518, 519, 521] } ], "sources": [ @@ -81725,7 +83449,7 @@ } }, { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -81739,7 +83463,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -81747,7 +83471,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81760,14 +83484,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -81787,7 +83511,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81806,7 +83530,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -81819,14 +83543,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -81843,7 +83567,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -81855,7 +83579,7 @@ } }, { - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse", "kind": 4194304, "kindString": "Type alias", @@ -81863,7 +83587,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 37, + "line": 38, "character": 12 } ], @@ -81890,40 +83614,17 @@ { "title": "Enumerations", "kind": 8, - "children": [ - 535, - 539, - 544, - 548 - ] + "children": [536, 540, 545, 549] }, { "title": "Classes", "kind": 128, - "children": [ - 64, - 328, - 1 - ] + "children": [64, 328, 1] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 316, - 327, - 440, - 457, - 464, - 471, - 495, - 476, - 486, - 505, - 515, - 525, - 534 - ] + "children": [316, 327, 440, 458, 465, 472, 496, 477, 487, 506, 516, 526, 535] } ], "sources": [ @@ -82126,11 +83827,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 452, - 451, - 453 - ] + "children": [452, 451, 453] } ] } @@ -82143,23 +83840,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 443 - ] + "children": [443] }, { "title": "Properties", "kind": 1024, - "children": [ - 447 - ] + "children": [447] }, { "title": "Methods", "kind": 2048, - "children": [ - 448 - ] + "children": [448] } ], "sources": [ @@ -82499,11 +84190,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 347, - 346, - 345 - ] + "children": [347, 346, 345] } ] } @@ -82580,10 +84267,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 349, - 350 - ] + "children": [349, 350] } ] } @@ -82639,10 +84323,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 352, - 353 - ] + "children": [352, 353] } ] } @@ -82766,9 +84447,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 387 - ] + "children": [387] } ] } @@ -82797,10 +84476,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 385, - 388 - ] + "children": [385, 388] } ] } @@ -82856,10 +84532,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 390, - 391 - ] + "children": [390, 391] } ] } @@ -82983,9 +84656,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 376 - ] + "children": [376] } ] } @@ -83014,10 +84685,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 374, - 377 - ] + "children": [374, 377] } ] } @@ -83073,10 +84741,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 379, - 380 - ] + "children": [379, 380] } ] } @@ -83244,10 +84909,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 335, - 336 - ] + "children": [335, 336] } ] } @@ -83303,10 +84965,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 338, - 339 - ] + "children": [338, 339] } ] } @@ -83414,10 +85073,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326, - 327 - ] + "children": [326, 327] } ] } @@ -83473,10 +85129,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 329, - 330 - ] + "children": [329, 330] } ] } @@ -83651,11 +85304,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 360, - 359 - ] + "children": [361, 360, 359] } ] } @@ -83722,9 +85371,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 365 - ] + "children": [365] } ] } @@ -83753,10 +85400,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 366 - ] + "children": [363, 366] } ] } @@ -83812,10 +85456,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 368, - 369 - ] + "children": [368, 369] } ] } @@ -83845,22 +85486,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 298 - ] + "children": [298] }, { "title": "Methods", "kind": 2048, - "children": [ - 340, - 381, - 370, - 310, - 331, - 323, - 354 - ] + "children": [340, 381, 370, 310, 331, 323, 354] } ], "sources": [ @@ -83939,9 +85570,7 @@ { "title": "Constructors", "kind": 512, - "children": [ - 438 - ] + "children": [438] } ], "sources": [ @@ -84064,16 +85693,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 456 - ] + "children": [456] }, { "title": "Properties", "kind": 1024, - "children": [ - 460 - ] + "children": [460] } ], "sources": [ @@ -84254,16 +85879,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 397, - 398, - 396, - 393, - 394, - 395, - 400, - 399 - ] + "children": [397, 398, 396, 393, 394, 395, 400, 399] } ], "sources": [ @@ -84311,9 +85927,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 425 - ] + "children": [425] } ], "sources": [ @@ -84529,16 +86143,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 397, - 398, - 396, - 393, - 394, - 395, - 400, - 399 - ] + "children": [397, 398, 396, 393, 394, 395, 400, 399] } ], "sources": [ @@ -84694,17 +86299,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 403, - 410, - 407, - 405, - 408, - 409, - 402, - 404, - 406 - ] + "children": [403, 410, 407, 405, 408, 409, 402, 404, 406] } ], "sources": [ @@ -84819,12 +86414,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -84865,9 +86455,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 427 - ] + "children": [427] } ], "sources": [ @@ -85028,10 +86616,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -85049,12 +86634,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 420, - 421, - 423, - 422 - ] + "children": [420, 421, 423, 422] } ], "sources": [ @@ -85117,10 +86697,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -85272,13 +86849,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -85340,33 +86911,17 @@ { "title": "Classes", "kind": 128, - "children": [ - 442, - 297, - 437, - 455 - ] + "children": [442, 297, 437, 455] }, { "title": "Interfaces", "kind": 256, - "children": [ - 392, - 424, - 401, - 414, - 426, - 419, - 411, - 428 - ] + "children": [392, 424, 401, 414, 426, 419, 411, 428] }, { "title": "Functions", "kind": 64, - "children": [ - 434 - ] + "children": [434] } ], "sources": [ @@ -85696,11 +87251,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 49, - 48 - ] + "children": [50, 49, 48] } ] } @@ -85777,10 +87328,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 52, - 53 - ] + "children": [52, 53] } ] } @@ -85836,10 +87384,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 55, - 56 - ] + "children": [55, 56] } ] } @@ -85953,9 +87498,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90 - ] + "children": [90] } ] } @@ -85984,10 +87527,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 88, - 91 - ] + "children": [88, 91] } ] } @@ -86043,10 +87583,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 93, - 94 - ] + "children": [93, 94] } ] } @@ -86160,9 +87697,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 79 - ] + "children": [79] } ] } @@ -86191,10 +87726,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 80 - ] + "children": [77, 80] } ] } @@ -86250,10 +87782,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 82, - 83 - ] + "children": [82, 83] } ] } @@ -86364,10 +87893,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [38, 39] } ] } @@ -86423,10 +87949,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 41, - 42 - ] + "children": [41, 42] } ] } @@ -86524,10 +88047,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 29, - 30 - ] + "children": [29, 30] } ] } @@ -86583,10 +88103,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 32, - 33 - ] + "children": [32, 33] } ] } @@ -86751,11 +88268,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 64, - 63, - 62 - ] + "children": [64, 63, 62] } ] } @@ -86822,9 +88335,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68 - ] + "children": [68] } ] } @@ -86853,10 +88364,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 69 - ] + "children": [66, 69] } ] } @@ -86912,10 +88420,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 71, - 72 - ] + "children": [71, 72] } ] } @@ -86935,21 +88440,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 4 - ] + "children": [4] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 84, - 73, - 34, - 26, - 57 - ] + "children": [43, 84, 73, 34, 26, 57] } ], "sources": [ @@ -86972,9 +88468,7 @@ { "title": "Classes", "kind": 128, - "children": [ - 3 - ] + "children": [3] } ], "sources": [ @@ -87279,9 +88773,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 207 - ] + "children": [207] } ] } @@ -87310,10 +88802,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 205, - 208 - ] + "children": [205, 208] } ] } @@ -87369,10 +88858,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 210, - 211 - ] + "children": [210, 211] } ] } @@ -87522,11 +89008,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 170, - 168, - 169 - ] + "children": [170, 168, 169] } ] } @@ -87555,10 +89037,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 166, - 171 - ] + "children": [166, 171] } ] } @@ -87614,10 +89093,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 173, - 174 - ] + "children": [173, 174] } ] } @@ -87896,13 +89372,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -87920,10 +89390,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 218, - 219 - ] + "children": [218, 219] } ] } @@ -87990,9 +89457,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223 - ] + "children": [223] } ] } @@ -88021,10 +89486,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 221, - 224 - ] + "children": [221, 224] } ] } @@ -88080,10 +89542,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 226, - 227 - ] + "children": [226, 227] } ] } @@ -88205,9 +89664,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 234 - ] + "children": [234] } ] } @@ -88330,11 +89787,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 238, - 239, - 240 - ] + "children": [238, 239, 240] } ] } @@ -88364,10 +89817,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 236, - 241 - ] + "children": [236, 241] } ] } @@ -88423,10 +89873,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 243, - 244 - ] + "children": [243, 244] } ] } @@ -88659,13 +90106,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -88683,9 +90124,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 250 - ] + "children": [250] } ] } @@ -88750,10 +90189,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 252, - 253 - ] + "children": [252, 253] } ] } @@ -88809,10 +90245,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 255, - 256 - ] + "children": [255, 256] } ] } @@ -89077,13 +90510,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -89101,10 +90528,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 262, - 263 - ] + "children": [262, 263] } ] } @@ -89165,9 +90589,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 267 - ] + "children": [267] } ] } @@ -89178,9 +90600,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 265 - ] + "children": [265] } ] } @@ -89390,10 +90810,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -89411,12 +90828,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 420, - 421, - 423, - 422 - ] + "children": [420, 421, 423, 422] } ], "sources": [ @@ -89478,9 +90890,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 425 - ] + "children": [425] } ], "sources": [ @@ -89554,10 +90964,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 283, - 284 - ] + "children": [283, 284] } ] } @@ -89613,10 +91020,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 286, - 287 - ] + "children": [286, 287] } ] } @@ -89744,9 +91148,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 195 - ] + "children": [195] } ] } @@ -89775,10 +91177,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 193, - 196 - ] + "children": [193, 196] } ] } @@ -89834,10 +91233,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 198, - 199 - ] + "children": [198, 199] } ] } @@ -89954,10 +91350,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 272, - 273 - ] + "children": [272, 273] } ] } @@ -90013,10 +91406,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 275, - 276 - ] + "children": [275, 276] } ] } @@ -90266,12 +91656,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -90345,9 +91730,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 183 - ] + "children": [183] } ] } @@ -90376,10 +91759,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 181, - 184 - ] + "children": [181, 184] } ] } @@ -90435,10 +91815,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 186, - 187 - ] + "children": [186, 187] } ] } @@ -90621,12 +91998,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -90700,9 +92072,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 143 - ] + "children": [143] } ] } @@ -90731,10 +92101,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 141, - 144 - ] + "children": [141, 144] } ] } @@ -90790,10 +92157,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 146, - 147 - ] + "children": [146, 147] } ] } @@ -90990,12 +92354,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -91070,9 +92429,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 157 - ] + "children": [157] } ] } @@ -91103,10 +92460,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 155, - 158 - ] + "children": [155, 158] } ] } @@ -91155,10 +92509,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 160, - 161 - ] + "children": [160, 161] } ] } @@ -91178,27 +92529,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 97 - ] + "children": [97] }, { "title": "Methods", "kind": 2048, - "children": [ - 200, - 162, - 212, - 228, - 245, - 257, - 277, - 188, - 268, - 175, - 135, - 148 - ] + "children": [200, 162, 212, 228, 245, 257, 277, 188, 268, 175, 135, 148] } ], "sources": [ @@ -91214,9 +92550,7 @@ { "title": "Classes", "kind": 128, - "children": [ - 96 - ] + "children": [96] } ], "sources": [ @@ -91232,11 +92566,7 @@ { "title": "Modules", "kind": 2, - "children": [ - 1, - 2, - 95 - ] + "children": [1, 2, 95] } ] }, @@ -91429,10 +92759,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 8, - 7 - ] + "children": [8, 7] } ] } @@ -91866,11 +93193,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 35, - 30, - 34 - ] + "children": [35, 30, 34] } ], "sources": [ @@ -91961,26 +93284,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 15, - 14, - 13 - ] + "children": [15, 14, 13] }, { "title": "Methods", "kind": 2048, - "children": [ - 23, - 20 - ] + "children": [23, 20] } ], "sources": [ @@ -92095,16 +93409,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 37 - ] + "children": [37] }, { "title": "Properties", "kind": 1024, - "children": [ - 42 - ] + "children": [42] } ], "sources": [ @@ -92226,16 +93536,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 44 - ] + "children": [44] }, { "title": "Properties", "kind": 1024, - "children": [ - 47 - ] + "children": [47] } ], "sources": [ @@ -92339,16 +93645,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 49 - ] + "children": [49] }, { "title": "Properties", "kind": 1024, - "children": [ - 52 - ] + "children": [52] } ], "sources": [ @@ -92452,16 +93754,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 54 - ] + "children": [54] }, { "title": "Properties", "kind": 1024, - "children": [ - 57 - ] + "children": [57] } ], "sources": [ @@ -92691,11 +93989,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 35, - 30, - 34 - ] + "children": [35, 30, 34] } ], "sources": [ @@ -92732,10 +94026,7 @@ ], "type": { "type": "union", - "types": [ - null, - null - ] + "types": [null, null] } } ], @@ -92743,21 +94034,12 @@ { "title": "Classes", "kind": 128, - "children": [ - 1, - 36, - 43, - 48, - 53 - ] + "children": [1, 36, 43, 48, 53] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 28, - 58 - ] + "children": [28, 58] } ], "sources": [ diff --git a/spec/enrichments/tsdoc_v2/functions.json b/spec/enrichments/tsdoc_v2/functions.json index bee062bb846..419e9def96f 100644 --- a/spec/enrichments/tsdoc_v2/functions.json +++ b/spec/enrichments/tsdoc_v2/functions.json @@ -1,1312 +1,1271 @@ { - "id": 0, - "name": "@supabase/functions-js", - "kind": 1, - "kindString": "Project", - "flags": {}, - "originalName": "", - "children": [ - { - "id": 1, - "name": "FunctionsClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 2, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 16, - "character": 2 - } - ], - "signatures": [ - { - "id": 3, - "name": "new FunctionsClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 4, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 5, - "name": "__namedParameters", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 6, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 8, - "name": "customFetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 23, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 9, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 10, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 11, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 12, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 7, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 22, - "character": 6 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 8, - 7 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 1, - "name": "FunctionsClient" - } - } - ] - }, - { - "id": 15, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 14, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 16, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 17, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 18, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 19, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 14, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 13, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 13, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 12, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 23, - "name": "invoke", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 44, - "character": 8 - } - ], - "signatures": [ - { - "id": 24, - "name": "invoke", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Invokes a function" - }, - "typeParameter": [ - { - "id": 25, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - } - ], - "parameters": [ - { - "id": 26, - "name": "functionName", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The name of the Function to invoke." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 27, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Options for invoking the Function.\n" - }, - "type": { - "type": "reference", - "id": 28, - "name": "FunctionInvokeOptions" - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 58, - "typeArguments": [ - { - "type": "reference", - "id": 25, - "name": "T" - } - ], - "name": "FunctionsResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 20, - "name": "setAuth", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 35, - "character": 2 - } - ], - "signatures": [ - { - "id": 21, - "name": "setAuth", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Updates the authorization header" - }, - "parameters": [ - { - "id": 22, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "the new jwt token sent in the authorisation header\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 2 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 15, - 14, - 13 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 23, - 20 - ] - } - ], - "sources": [ - { - "fileName": "src/FunctionsClient.ts", - "line": 11, - "character": 13 - } - ] - }, - { - "id": 36, - "name": "FunctionsError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 37, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 19, - "character": 2 - } - ], - "signatures": [ - { - "id": 38, - "name": "new FunctionsError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 39, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 40, - "name": "name", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "'FunctionsError'" - }, - { - "id": 41, - "name": "context", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "id": 36, - "name": "FunctionsError" - }, - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - }, - { - "id": 42, - "name": "context", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 37 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 42 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 17, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "qualifiedName": "Error", - "package": "typescript", - "name": "Error" - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 43, - "name": "FunctionsFetchError" - }, - { - "type": "reference", - "id": 48, - "name": "FunctionsHttpError" - }, - { - "type": "reference", - "id": 53, - "name": "FunctionsRelayError" - } - ] - }, - { - "id": 43, - "name": "FunctionsFetchError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 44, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 27, - "character": 2 - } - ], - "signatures": [ - { - "id": 45, - "name": "new FunctionsFetchError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 46, - "name": "context", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "id": 43, - "name": "FunctionsFetchError" - }, - "overwrites": { - "type": "reference", - "id": 38, - "name": "FunctionsError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 37, - "name": "FunctionsError.constructor" - } - }, - { - "id": 47, - "name": "context", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - }, - "inheritedFrom": { - "type": "reference", - "id": 42, - "name": "FunctionsError.context" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 44 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 47 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 26, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 36, - "name": "FunctionsError" - } - ] - }, - { - "id": 48, - "name": "FunctionsHttpError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 49, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 39, - "character": 2 - } - ], - "signatures": [ - { - "id": 50, - "name": "new FunctionsHttpError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 51, - "name": "context", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "id": 48, - "name": "FunctionsHttpError" - }, - "overwrites": { - "type": "reference", - "id": 38, - "name": "FunctionsError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 37, - "name": "FunctionsError.constructor" - } - }, - { - "id": 52, - "name": "context", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - }, - "inheritedFrom": { - "type": "reference", - "id": 42, - "name": "FunctionsError.context" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 49 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 52 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 38, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 36, - "name": "FunctionsError" - } - ] - }, - { - "id": 53, - "name": "FunctionsRelayError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 54, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 33, - "character": 2 - } - ], - "signatures": [ - { - "id": 55, - "name": "new FunctionsRelayError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 56, - "name": "context", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "id": 53, - "name": "FunctionsRelayError" - }, - "overwrites": { - "type": "reference", - "id": 38, - "name": "FunctionsError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 37, - "name": "FunctionsError.constructor" - } - }, - { - "id": 57, - "name": "context", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - }, - "inheritedFrom": { - "type": "reference", - "id": 42, - "name": "FunctionsError.context" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 54 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 57 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 32, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 36, - "name": "FunctionsError" - } - ] - }, - { - "id": 28, - "name": "FunctionInvokeOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 44, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 29, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 35, - "name": "body", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The body of the request." - }, - "sources": [ - { - "fileName": "src/types.ts", - "line": 56, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "File", - "package": "typescript", - "name": "File" - }, - { - "type": "reference", - "qualifiedName": "Blob", - "package": "typescript", - "name": "Blob" - }, - { - "type": "reference", - "qualifiedName": "ArrayBuffer", - "package": "typescript", - "name": "ArrayBuffer" - }, - { - "type": "reference", - "qualifiedName": "FormData", - "package": "typescript", - "name": "FormData" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Uint8Array", - "package": "typescript", - "name": "Uint8Array" - } - ], - "qualifiedName": "ReadableStream", - "package": "typescript", - "name": "ReadableStream" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "any" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 30, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Object representing the headers to send with the request." - }, - "sources": [ - { - "fileName": "src/types.ts", - "line": 48, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 31, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 48, - "character": 12 - } - ], - "indexSignature": { - "id": 32, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 33, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 34, - "name": "method", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The HTTP verb of the request" - }, - "sources": [ - { - "fileName": "src/types.ts", - "line": 52, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "POST" - }, - { - "type": "literal", - "value": "GET" - }, - { - "type": "literal", - "value": "PUT" - }, - { - "type": "literal", - "value": "PATCH" - }, - { - "type": "literal", - "value": "DELETE" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 35, - 30, - 34 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 44, - "character": 36 - } - ] - } - } - }, - { - "id": 58, - "name": "FunctionsResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 15, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 59, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 59, - "name": "T" - } - ], - "name": "FunctionsResponseSuccess" - }, - { - "type": "reference", - "name": "FunctionsResponseFailure" - } - ] - } - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 1, - 36, - 43, - 48, - 53 - ] - }, - { - "title": "Type Aliases", - "kind": 4194304, - "children": [ - 28, - 58 - ] - } - ], - "sources": [ - { - "fileName": "src/index.ts", - "line": 1, - "character": 0 - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/functions-js", + "kind": 1, + "kindString": "Project", + "flags": {}, + "originalName": "", + "children": [ + { + "id": 1, + "name": "FunctionsClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 2, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 16, + "character": 2 + } + ], + "signatures": [ + { + "id": 3, + "name": "new FunctionsClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 4, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5, + "name": "__namedParameters", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 6, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 8, + "name": "customFetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 23, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 10, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 11, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 12, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 7, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 22, + "character": 6 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [8, 7] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 1, + "name": "FunctionsClient" + } + } + ] + }, + { + "id": 15, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 14, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 16, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 17, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 18, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 19, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 14, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 13, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 13, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 12, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 23, + "name": "invoke", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 44, + "character": 8 + } + ], + "signatures": [ + { + "id": 24, + "name": "invoke", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Invokes a function" + }, + "typeParameter": [ + { + "id": 25, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "parameters": [ + { + "id": 26, + "name": "functionName", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the Function to invoke." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 27, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Options for invoking the Function.\n" + }, + "type": { + "type": "reference", + "id": 28, + "name": "FunctionInvokeOptions" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 58, + "typeArguments": [ + { + "type": "reference", + "id": 25, + "name": "T" + } + ], + "name": "FunctionsResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 20, + "name": "setAuth", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 35, + "character": 2 + } + ], + "signatures": [ + { + "id": 21, + "name": "setAuth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Updates the authorization header" + }, + "parameters": [ + { + "id": 22, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "the new jwt token sent in the authorisation header\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [2] + }, + { + "title": "Properties", + "kind": 1024, + "children": [15, 14, 13] + }, + { + "title": "Methods", + "kind": 2048, + "children": [23, 20] + } + ], + "sources": [ + { + "fileName": "src/FunctionsClient.ts", + "line": 11, + "character": 13 + } + ] + }, + { + "id": 36, + "name": "FunctionsError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 37, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 19, + "character": 2 + } + ], + "signatures": [ + { + "id": 38, + "name": "new FunctionsError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 39, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 40, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "'FunctionsError'" + }, + { + "id": 41, + "name": "context", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "id": 36, + "name": "FunctionsError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + }, + { + "id": 42, + "name": "context", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [37] + }, + { + "title": "Properties", + "kind": 1024, + "children": [42] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 17, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 43, + "name": "FunctionsFetchError" + }, + { + "type": "reference", + "id": 48, + "name": "FunctionsHttpError" + }, + { + "type": "reference", + "id": 53, + "name": "FunctionsRelayError" + } + ] + }, + { + "id": 43, + "name": "FunctionsFetchError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 44, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 27, + "character": 2 + } + ], + "signatures": [ + { + "id": 45, + "name": "new FunctionsFetchError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 46, + "name": "context", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "id": 43, + "name": "FunctionsFetchError" + }, + "overwrites": { + "type": "reference", + "id": 38, + "name": "FunctionsError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 37, + "name": "FunctionsError.constructor" + } + }, + { + "id": 47, + "name": "context", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + }, + "inheritedFrom": { + "type": "reference", + "id": 42, + "name": "FunctionsError.context" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [44] + }, + { + "title": "Properties", + "kind": 1024, + "children": [47] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 26, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 36, + "name": "FunctionsError" + } + ] + }, + { + "id": 48, + "name": "FunctionsHttpError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 49, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 39, + "character": 2 + } + ], + "signatures": [ + { + "id": 50, + "name": "new FunctionsHttpError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 51, + "name": "context", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "id": 48, + "name": "FunctionsHttpError" + }, + "overwrites": { + "type": "reference", + "id": 38, + "name": "FunctionsError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 37, + "name": "FunctionsError.constructor" + } + }, + { + "id": 52, + "name": "context", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + }, + "inheritedFrom": { + "type": "reference", + "id": 42, + "name": "FunctionsError.context" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [49] + }, + { + "title": "Properties", + "kind": 1024, + "children": [52] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 38, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 36, + "name": "FunctionsError" + } + ] + }, + { + "id": 53, + "name": "FunctionsRelayError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 54, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 33, + "character": 2 + } + ], + "signatures": [ + { + "id": 55, + "name": "new FunctionsRelayError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 56, + "name": "context", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "id": 53, + "name": "FunctionsRelayError" + }, + "overwrites": { + "type": "reference", + "id": 38, + "name": "FunctionsError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 37, + "name": "FunctionsError.constructor" + } + }, + { + "id": 57, + "name": "context", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + }, + "inheritedFrom": { + "type": "reference", + "id": 42, + "name": "FunctionsError.context" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [54] + }, + { + "title": "Properties", + "kind": 1024, + "children": [57] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 32, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 36, + "name": "FunctionsError" + } + ] + }, + { + "id": 28, + "name": "FunctionInvokeOptions", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 44, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 29, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 35, + "name": "body", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The body of the request." + }, + "sources": [ + { + "fileName": "src/types.ts", + "line": 56, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "File", + "package": "typescript", + "name": "File" + }, + { + "type": "reference", + "qualifiedName": "Blob", + "package": "typescript", + "name": "Blob" + }, + { + "type": "reference", + "qualifiedName": "ArrayBuffer", + "package": "typescript", + "name": "ArrayBuffer" + }, + { + "type": "reference", + "qualifiedName": "FormData", + "package": "typescript", + "name": "FormData" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Uint8Array", + "package": "typescript", + "name": "Uint8Array" + } + ], + "qualifiedName": "ReadableStream", + "package": "typescript", + "name": "ReadableStream" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 30, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Object representing the headers to send with the request." + }, + "sources": [ + { + "fileName": "src/types.ts", + "line": 48, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 31, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 48, + "character": 12 + } + ], + "indexSignature": { + "id": 32, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 33, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 34, + "name": "method", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The HTTP verb of the request" + }, + "sources": [ + { + "fileName": "src/types.ts", + "line": 52, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "POST" + }, + { + "type": "literal", + "value": "GET" + }, + { + "type": "literal", + "value": "PUT" + }, + { + "type": "literal", + "value": "PATCH" + }, + { + "type": "literal", + "value": "DELETE" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [35, 30, 34] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 44, + "character": 36 + } + ] + } + } + }, + { + "id": 58, + "name": "FunctionsResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 15, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 59, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 59, + "name": "T" + } + ], + "name": "FunctionsResponseSuccess" + }, + { + "type": "reference", + "name": "FunctionsResponseFailure" + } + ] + } + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [1, 36, 43, 48, 53] + }, + { + "title": "Type Aliases", + "kind": 4194304, + "children": [28, 58] + } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/functions_dereferenced.json b/spec/enrichments/tsdoc_v2/functions_dereferenced.json index 09487d9edca..f648d5f02df 100644 --- a/spec/enrichments/tsdoc_v2/functions_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/functions_dereferenced.json @@ -187,10 +187,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 8, - 7 - ] + "children": [8, 7] } ] } @@ -624,11 +621,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 35, - 30, - 34 - ] + "children": [35, 30, 34] } ], "sources": [ @@ -719,26 +712,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 15, - 14, - 13 - ] + "children": [15, 14, 13] }, { "title": "Methods", "kind": 2048, - "children": [ - 23, - 20 - ] + "children": [23, 20] } ], "sources": [ @@ -853,16 +837,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 37 - ] + "children": [37] }, { "title": "Properties", "kind": 1024, - "children": [ - 42 - ] + "children": [42] } ], "sources": [ @@ -984,16 +964,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 44 - ] + "children": [44] }, { "title": "Properties", "kind": 1024, - "children": [ - 47 - ] + "children": [47] } ], "sources": [ @@ -1097,16 +1073,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 49 - ] + "children": [49] }, { "title": "Properties", "kind": 1024, - "children": [ - 52 - ] + "children": [52] } ], "sources": [ @@ -1210,16 +1182,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 54 - ] + "children": [54] }, { "title": "Properties", "kind": 1024, - "children": [ - 57 - ] + "children": [57] } ], "sources": [ @@ -1449,11 +1417,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 35, - 30, - 34 - ] + "children": [35, 30, 34] } ], "sources": [ @@ -1490,10 +1454,7 @@ ], "type": { "type": "union", - "types": [ - null, - null - ] + "types": [null, null] } } ], @@ -1501,21 +1462,12 @@ { "title": "Classes", "kind": 128, - "children": [ - 1, - 36, - 43, - 48, - 53 - ] + "children": [1, 36, 43, 48, 53] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 28, - 58 - ] + "children": [28, 58] } ], "sources": [ @@ -1525,4 +1477,4 @@ "character": 0 } ] -} \ No newline at end of file +} diff --git a/spec/enrichments/tsdoc_v2/gotrue.json b/spec/enrichments/tsdoc_v2/gotrue.json index b5b1728dc19..1662d2507f8 100644 --- a/spec/enrichments/tsdoc_v2/gotrue.json +++ b/spec/enrichments/tsdoc_v2/gotrue.json @@ -1,16514 +1,17501 @@ { - "id": 0, - "name": "@supabase/gotrue-js", - "kind": 1, - "kindString": "Project", - "flags": {}, - "originalName": "", - "children": [ - { - "id": 811, - "name": "AuthApiError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 812, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 19, - "character": 2 - } - ], - "signatures": [ - { - "id": 813, - "name": "new AuthApiError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 814, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 815, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "reference", - "id": 811, - "name": "AuthApiError" - }, - "overwrites": { - "type": "reference", - "id": 806, - "name": "AuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 805, - "name": "AuthError.constructor" - } - }, - { - "id": 816, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 17, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "overwrites": { - "type": "reference", - "id": 809, - "name": "AuthError.status" - } - }, - { - "id": 817, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 25, - "character": 2 - } - ], - "signatures": [ - { - "id": 818, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 819, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 821, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 28, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 820, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 27, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 822, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 29, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 821, - 820, - 822 - ] - } - ] - } - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 812 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 816 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 817 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 16, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 804, - "name": "AuthError" - } - ] - }, - { - "id": 804, - "name": "AuthError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 805, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 5, - "character": 2 - } - ], - "signatures": [ - { - "id": 806, - "name": "new AuthError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 807, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 808, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - }, - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - }, - { - "id": 809, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 2, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 805 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 809 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 1, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "qualifiedName": "Error", - "package": "typescript", - "name": "Error" - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 811, - "name": "AuthApiError" - }, - { - "type": "reference", - "id": 824, - "name": "AuthUnknownError" - }, - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 872, - "name": "AuthImplicitGrantRedirectError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 873, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 80, - "character": 2 - } - ], - "signatures": [ - { - "id": 874, - "name": "new AuthImplicitGrantRedirectError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 875, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 876, - "name": "details", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 877, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 879, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 80, - "character": 57 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 878, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 80, - "character": 42 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 879, - 878 - ] - } - ] - } - } - ] - }, - "defaultValue": "null" - } - ], - "type": { - "type": "reference", - "id": 872, - "name": "AuthImplicitGrantRedirectError" - }, - "overwrites": { - "type": "reference", - "id": 834, - "name": "CustomAuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 833, - "name": "CustomAuthError.constructor" - } - }, - { - "id": 880, - "name": "details", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 79, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 881, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 883, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 79, - "character": 28 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 882, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 79, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 883, - 882 - ] - } - ] - } - } - ] - }, - "defaultValue": "null" - }, - { - "id": 894, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 838, - "name": "CustomAuthError.name" - } - }, - { - "id": 895, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "id": 839, - "name": "CustomAuthError.status" - } - }, - { - "id": 884, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 85, - "character": 2 - } - ], - "signatures": [ - { - "id": 885, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 886, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 890, - "name": "details", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 90, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 891, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 893, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 79, - "character": 28 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 892, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 79, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 893, - 892 - ] - } - ] - } - } - ] - }, - "defaultValue": "..." - }, - { - "id": 888, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 88, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 887, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 87, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 889, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 89, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 890, - 888, - 887, - 889 - ] - } - ] - } - }, - "overwrites": { - "type": "reference", - "id": 841, - "name": "CustomAuthError.toJSON" - } - } - ], - "overwrites": { - "type": "reference", - "id": 840, - "name": "CustomAuthError.toJSON" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 873 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 880, - 894, - 895 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 884 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 78, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 859, - "name": "AuthInvalidCredentialsError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 860, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 73, - "character": 2 - } - ], - "signatures": [ - { - "id": 861, - "name": "new AuthInvalidCredentialsError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 862, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 859, - "name": "AuthInvalidCredentialsError" - }, - "overwrites": { - "type": "reference", - "id": 834, - "name": "CustomAuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 833, - "name": "CustomAuthError.constructor" - } - }, - { - "id": 863, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 838, - "name": "CustomAuthError.name" - } - }, - { - "id": 864, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "id": 839, - "name": "CustomAuthError.status" - } - }, - { - "id": 865, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 57, - "character": 2 - } - ], - "signatures": [ - { - "id": 866, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 867, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 869, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 60, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 868, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 59, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 870, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 61, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 869, - 868, - 870 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "id": 841, - "name": "CustomAuthError.toJSON" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 840, - "name": "CustomAuthError.toJSON" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 860 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 863, - 864 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 865 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 72, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 897, - "name": "AuthPKCEGrantCodeExchangeError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 898, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 97, - "character": 2 - } - ], - "signatures": [ - { - "id": 899, - "name": "new AuthPKCEGrantCodeExchangeError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 900, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 901, - "name": "details", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 902, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 904, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 97, - "character": 57 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 903, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 97, - "character": 42 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 904, - 903 - ] - } - ] - } - } - ] - }, - "defaultValue": "null" - } - ], - "type": { - "type": "reference", - "id": 897, - "name": "AuthPKCEGrantCodeExchangeError" - }, - "overwrites": { - "type": "reference", - "id": 834, - "name": "CustomAuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 833, - "name": "CustomAuthError.constructor" - } - }, - { - "id": 905, - "name": "details", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 96, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 906, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 908, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 96, - "character": 28 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 907, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 96, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 908, - 907 - ] - } - ] - } - } - ] - }, - "defaultValue": "null" - }, - { - "id": 919, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 838, - "name": "CustomAuthError.name" - } - }, - { - "id": 920, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "id": 839, - "name": "CustomAuthError.status" - } - }, - { - "id": 909, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 102, - "character": 2 - } - ], - "signatures": [ - { - "id": 910, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 911, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 915, - "name": "details", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 107, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 916, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 918, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 96, - "character": 28 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 917, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 96, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 918, - 917 - ] - } - ] - } - } - ] - }, - "defaultValue": "..." - }, - { - "id": 913, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 105, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 912, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 104, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 914, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 106, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 915, - 913, - 912, - 914 - ] - } - ] - } - }, - "overwrites": { - "type": "reference", - "id": 841, - "name": "CustomAuthError.toJSON" - } - } - ], - "overwrites": { - "type": "reference", - "id": 840, - "name": "CustomAuthError.toJSON" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 898 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 905, - 919, - 920 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 909 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 95, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 922, - "name": "AuthRetryableFetchError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 923, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 113, - "character": 2 - } - ], - "signatures": [ - { - "id": 924, - "name": "new AuthRetryableFetchError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 925, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 926, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "reference", - "id": 922, - "name": "AuthRetryableFetchError" - }, - "overwrites": { - "type": "reference", - "id": 834, - "name": "CustomAuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 833, - "name": "CustomAuthError.constructor" - } - }, - { - "id": 927, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 838, - "name": "CustomAuthError.name" - } - }, - { - "id": 928, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "id": 839, - "name": "CustomAuthError.status" - } - }, - { - "id": 929, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 57, - "character": 2 - } - ], - "signatures": [ - { - "id": 930, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 931, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 933, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 60, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 932, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 59, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 934, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 61, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 933, - 932, - 934 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "id": 841, - "name": "CustomAuthError.toJSON" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 840, - "name": "CustomAuthError.toJSON" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 923 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 927, - 928 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 929 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 112, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 847, - "name": "AuthSessionMissingError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 848, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 67, - "character": 2 - } - ], - "signatures": [ - { - "id": 849, - "name": "new AuthSessionMissingError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "type": { - "type": "reference", - "id": 847, - "name": "AuthSessionMissingError" - }, - "overwrites": { - "type": "reference", - "id": 834, - "name": "CustomAuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 833, - "name": "CustomAuthError.constructor" - } - }, - { - "id": 850, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 838, - "name": "CustomAuthError.name" - } - }, - { - "id": 851, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "id": 839, - "name": "CustomAuthError.status" - } - }, - { - "id": 852, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 57, - "character": 2 - } - ], - "signatures": [ - { - "id": 853, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 854, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 856, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 60, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 855, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 59, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 857, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 61, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 856, - 855, - 857 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "id": 841, - "name": "CustomAuthError.toJSON" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 840, - "name": "CustomAuthError.toJSON" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 848 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 850, - 851 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 852 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 66, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - } - ] - }, - { - "id": 824, - "name": "AuthUnknownError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 825, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 41, - "character": 2 - } - ], - "signatures": [ - { - "id": 826, - "name": "new AuthUnknownError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 827, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 828, - "name": "originalError", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 824, - "name": "AuthUnknownError" - }, - "overwrites": { - "type": "reference", - "id": 806, - "name": "AuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 805, - "name": "AuthError.constructor" - } - }, - { - "id": 829, - "name": "originalError", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 39, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 830, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 2, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "id": 809, - "name": "AuthError.status" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 825 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 829, - 830 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 38, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 804, - "name": "AuthError" - } - ] - }, - { - "id": 832, - "name": "CustomAuthError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 833, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 51, - "character": 2 - } - ], - "signatures": [ - { - "id": 834, - "name": "new CustomAuthError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 835, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 836, - "name": "name", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 837, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "reference", - "id": 832, - "name": "CustomAuthError" - }, - "overwrites": { - "type": "reference", - "id": 806, - "name": "AuthError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 805, - "name": "AuthError.constructor" - } - }, - { - "id": 838, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "AuthError.name" - } - }, - { - "id": 839, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "overwrites": { - "type": "reference", - "id": 809, - "name": "AuthError.status" - } - }, - { - "id": 840, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 57, - "character": 2 - } - ], - "signatures": [ - { - "id": 841, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 842, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 844, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 60, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 843, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 59, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 845, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 61, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 844, - 843, - 845 - ] - } - ] - } - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 833 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 838, - 839 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 840 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 48, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 804, - "name": "AuthError" - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 847, - "name": "AuthSessionMissingError" - }, - { - "type": "reference", - "id": 859, - "name": "AuthInvalidCredentialsError" - }, - { - "type": "reference", - "id": 872, - "name": "AuthImplicitGrantRedirectError" - }, - { - "type": "reference", - "id": 897, - "name": "AuthPKCEGrantCodeExchangeError" - }, - { - "type": "reference", - "id": 922, - "name": "AuthRetryableFetchError" - } - ] - }, - { - "id": 1, - "name": "GoTrueAdminApi", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 2, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 35, - "character": 2 - } - ], - "signatures": [ - { - "id": 3, - "name": "new GoTrueAdminApi", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 4, - "name": "__namedParameters", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 5, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 11, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 44, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 12, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 13, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 14, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 15, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 7, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 41, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 8, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 9, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 10, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 6, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 40, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 11, - 7, - 6 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 1, - "name": "default" - } - } - ] - }, - { - "id": 16, - "name": "mfa", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Contains all MFA administration methods." - }, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 27, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 769, - "name": "GoTrueAdminMFAApi" - } - }, - { - "id": 43, - "name": "createUser", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 148, - "character": 8 - } - ], - "signatures": [ - { - "id": 44, - "name": "createUser", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a new user.\nThis function should only be called on a server. Never expose your `service_role` key in the browser." - }, - "parameters": [ - { - "id": 45, - "name": "attributes", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 454, - "name": "AdminUserAttributes" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 67, - "name": "deleteUser", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 264, - "character": 8 - } - ], - "signatures": [ - { - "id": 68, - "name": "deleteUser", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Delete a user. Requires a `service_role` key." - }, - "parameters": [ - { - "id": 69, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The user id you want to remove." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 70, - "name": "shouldSoftDelete", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "If true, then the user will be soft-deleted from the auth schema.\nDefaults to false for backward compatibility.\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 40, - "name": "generateLink", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 114, - "character": 8 - } - ], - "signatures": [ - { - "id": 41, - "name": "generateLink", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Generates email links and OTPs to be sent via a custom email provider." - }, - "parameters": [ - { - "id": 42, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 613, - "name": "GenerateLinkParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 614, - "name": "GenerateLinkResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 60, - "name": "getUserById", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 217, - "character": 8 - } - ], - "signatures": [ - { - "id": 61, - "name": "getUserById", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get user by id." - }, - "parameters": [ - { - "id": 62, - "name": "uid", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The user's unique identifier\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 33, - "name": "inviteUserByEmail", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 81, - "character": 8 - } - ], - "signatures": [ - { - "id": 34, - "name": "inviteUserByEmail", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Sends an invite link to an email address." - }, - "parameters": [ - { - "id": 35, - "name": "email", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The email address of the user." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 36, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Additional options to be included when inviting.\n" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 37, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 38, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store additional metadata about the user. This maps to the `auth.users.user_metadata` column." - }, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 85, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 39, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The URL which will be appended to the email link sent to the user's email address. Once clicked the user will end up on this URL." - }, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 88, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 38, - 39 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 46, - "name": "listUsers", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 170, - "character": 8 - } - ], - "signatures": [ - { - "id": 47, - "name": "listUsers", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of users.", - "text": "This function should only be called on a server. Never expose your `service_role` key in the browser." - }, - "parameters": [ - { - "id": 48, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "An object which supports `page` and `perPage` as numbers, to alter the paginated results.\n" - }, - "type": { - "type": "reference", - "id": 794, - "name": "PageParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 49, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 50, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 173, - "character": 8 - } - ], - "type": { - "type": "intersection", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 51, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 53, - "name": "aud", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 173, - "character": 31 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 52, - "name": "users", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 173, - "character": 16 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 425, - "name": "User" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 53, - 52 - ] - } - ] - } - }, - { - "type": "reference", - "id": 787, - "name": "Pagination" - } - ] - } - }, - { - "id": 54, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 173, - "character": 59 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 50, - 54 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 55, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 56, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 174, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 57, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 58, - "name": "users", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 174, - "character": 16 - } - ], - "type": { - "type": "tuple" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 58 - ] - } - ] - } - } - }, - { - "id": 59, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 174, - "character": 29 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 56, - 59 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 27, - "name": "signOut", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 8 - } - ], - "signatures": [ - { - "id": 28, - "name": "signOut", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Removes a logged-in session." - }, - "parameters": [ - { - "id": 29, - "name": "jwt", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A valid, logged-in JWT.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reflection", - "declaration": { - "id": 30, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 31, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 40 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 32, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 52 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 804, - "name": "AuthError" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 31, - 32 - ] - } - ] - } - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 63, - "name": "updateUserById", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 239, - "character": 8 - } - ], - "signatures": [ - { - "id": 64, - "name": "updateUserById", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Updates the user data." - }, - "parameters": [ - { - "id": 65, - "name": "uid", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 66, - "name": "attributes", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The data you want to update.\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" - }, - "type": { - "type": "reference", - "id": 454, - "name": "AdminUserAttributes" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 2 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 16 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 43, - 67, - 40, - 60, - 33, - 46, - 27, - 63 - ] - } - ], - "sources": [ - { - "fileName": "src/GoTrueAdminApi.ts", - "line": 25, - "character": 21 - } - ] - }, - { - "id": 77, - "name": "GoTrueClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 78, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 145, - "character": 2 - } - ], - "signatures": [ - { - "id": 79, - "name": "new GoTrueClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "comment": { - "shortText": "Create a new client for use in the browser." - }, - "parameters": [ - { - "id": 80, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 328, - "name": "GoTrueClientOptions" - } - } - ], - "type": { - "type": "reference", - "id": 77, - "name": "default" - } - } - ] - }, - { - "id": 81, - "name": "admin", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Namespace for the GoTrue admin methods.\nThese methods should only be used in a trusted server-side environment." - }, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 98, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 1, - "name": "default" - } - }, - { - "id": 82, - "name": "mfa", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Namespace for the MFA methods." - }, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 102, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 724, - "name": "GoTrueMFAApi" - } - }, - { - "id": 121, - "name": "exchangeCodeForSession", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 411, - "character": 8 - } - ], - "signatures": [ - { - "id": 122, - "name": "exchangeCodeForSession", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Log in an existing user by exchanging an Auth Code issued during the PKCE flow." - }, - "parameters": [ - { - "id": 123, - "name": "authCode", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 141, - "name": "getSession", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 693, - "character": 8 - } - ], - "signatures": [ - { - "id": 142, - "name": "getSession", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns the session, refreshing it if necessary.\nThe session returned can be null if the session is not detected which can happen in the event a user is not signed-in or has logged out." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 143, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 144, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 695, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 145, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 146, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 696, - "character": 10 - } - ], - "type": { - "type": "reference", - "id": 388, - "name": "Session" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 146 - ] - } - ] - } - } - }, - { - "id": 147, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 698, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 144, - 147 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 148, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 149, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 701, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 150, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 151, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 702, - "character": 10 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 151 - ] - } - ] - } - } - }, - { - "id": 152, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 704, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 149, - 152 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 153, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 154, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 707, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 155, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 156, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 708, - "character": 10 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 156 - ] - } - ] - } - } - }, - { - "id": 157, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 710, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 154, - 157 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 158, - "name": "getUser", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 756, - "character": 8 - } - ], - "signatures": [ - { - "id": 159, - "name": "getUser", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Gets the current user details if there is an existing session." - }, - "parameters": [ - { - "id": 160, - "name": "jwt", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Takes in an optional access token jwt. If no jwt is provided, getUser() will attempt to get the jwt from the current session.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 108, - "name": "initialize", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 197, - "character": 2 - } - ], - "signatures": [ - { - "id": 109, - "name": "initialize", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Initializes the client session either from the url or from storage.\nThis method is automatically called when instantiating the client, but should also be called\nmanually when checking for an error from an auth redirect (oauth, magiclink, password recovery, etc)." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 777, - "name": "InitializeResult" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 208, - "name": "onAuthStateChange", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1071, - "character": 2 - } - ], - "signatures": [ - { - "id": 209, - "name": "onAuthStateChange", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Receive a notification every time an auth event happens." - }, - "parameters": [ - { - "id": 210, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A callback function to be invoked when an auth event happens.\n" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 211, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 212, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 213, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 327, - "name": "AuthChangeEvent" - } - }, - { - "id": 214, - "name": "session", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 388, - "name": "Session" - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 215, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 216, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1072, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 217, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 218, - "name": "subscription", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1072, - "character": 12 - } - ], - "type": { - "type": "reference", - "id": 464, - "name": "Subscription" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 218 - ] - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 216 - ] - } - ] - } - } - } - ] - }, - { - "id": 136, - "name": "reauthenticate", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 626, - "character": 8 - } - ], - "signatures": [ - { - "id": 137, - "name": "reauthenticate", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Sends a reauthentication OTP to the user's email or phone number.\nRequires the user to be signed-in." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 180, - "name": "refreshSession", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 902, - "character": 8 - } - ], - "signatures": [ - { - "id": 181, - "name": "refreshSession", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns a new session, regardless of expiry status.\nTakes in an optional current session. If not passed in, then refreshSession() will attempt to retrieve it from getSession().\nIf the current session's refresh token is invalid, an error will be thrown." - }, - "parameters": [ - { - "id": 182, - "name": "currentSession", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The current session. If passed in, it must contain a refresh token.\n" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 183, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 184, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 902, - "character": 42 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 184 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 138, - "name": "resend", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 651, - "character": 8 - } - ], - "signatures": [ - { - "id": 139, - "name": "resend", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Resends an existing signup confirmation email, email change email, SMS OTP or phone change OTP." - }, - "parameters": [ - { - "id": 140, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 562, - "name": "ResendParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 222, - "name": "resetPasswordForEmail", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1111, - "character": 8 - } - ], - "signatures": [ - { - "id": 223, - "name": "resetPasswordForEmail", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Sends a password reset request to an email address." - }, - "parameters": [ - { - "id": 224, - "name": "email", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The email address of the user." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 225, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 226, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 228, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site.\n" - }, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1115, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 227, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The URL to send the user to after they click the password reset link." - }, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1114, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 228, - 227 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 229, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 230, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1119, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 231, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {} - } - } - }, - { - "id": 232, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1120, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 230, - 232 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 233, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 234, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1122, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 235, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1122, - "character": 20 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 234, - 235 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 174, - "name": "setSession", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 838, - "character": 8 - } - ], - "signatures": [ - { - "id": 175, - "name": "setSession", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session.\nIf the refresh token or access token in the current session is invalid, an error will be thrown." - }, - "parameters": [ - { - "id": 176, - "name": "currentSession", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The current session that minimally contains an access token and refresh token.\n" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 177, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 178, - "name": "access_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 839, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 179, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 840, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 178, - 179 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 124, - "name": "signInWithIdToken", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 441, - "character": 8 - } - ], - "signatures": [ - { - "id": 125, - "name": "signInWithIdToken", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Allows signing in with an ID token issued by certain supported providers.\nThe ID token is verified for validity and a new session is established.", - "tags": [ - { - "tag": "experimental", - "text": "\n" - } - ] - }, - "parameters": [ - { - "id": 126, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 535, - "name": "SignInWithIdTokenCredentials" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 118, - "name": "signInWithOAuth", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 397, - "character": 8 - } - ], - "signatures": [ - { - "id": 119, - "name": "signInWithOAuth", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Log in an existing user via a third-party provider." - }, - "parameters": [ - { - "id": 120, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 523, - "name": "SignInWithOAuthCredentials" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 355, - "name": "OAuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 127, - "name": "signInWithOtp", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 489, - "character": 8 - } - ], - "signatures": [ - { - "id": 128, - "name": "signInWithOtp", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Log in a user using magiclink or a one-time password (OTP).", - "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\n" - }, - "parameters": [ - { - "id": 129, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 505, - "name": "SignInWithPasswordlessCredentials" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 115, - "name": "signInWithPassword", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 347, - "character": 8 - } - ], - "signatures": [ - { - "id": 116, - "name": "signInWithPassword", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Log in an existing user with an email and password or phone and password.", - "text": "Be aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or that the\nemail/phone and password combination is wrong or that the account can only\nbe accessed via social login.\n" - }, - "parameters": [ - { - "id": 117, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 491, - "name": "SignInWithPasswordCredentials" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 133, - "name": "signInWithSSO", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 597, - "character": 8 - } - ], - "signatures": [ - { - "id": 134, - "name": "signInWithSSO", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attempts a single-sign on using an enterprise Identity Provider. A\nsuccessful SSO attempt will redirect the current page to the identity\nprovider authorization page. The redirect URL is implementation and SSO\nprotocol specific.", - "text": "You can use it by providing a SSO domain. Typically you can extract this\ndomain by asking users for their email address. If this domain is\nregistered on the Auth instance the redirect will use that organization's\ncurrently active SSO Identity Provider for the login.\n\nIf you have built an organization-specific login page, you can use the\norganization's SSO Identity Provider UUID directly instead.\n" - }, - "parameters": [ - { - "id": 135, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 575, - "name": "SignInWithSSO" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 368, - "name": "SSOResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 204, - "name": "signOut", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1045, - "character": 8 - } - ], - "signatures": [ - { - "id": 205, - "name": "signOut", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Inside a browser context, `signOut()` will remove the logged in user from the browser session\nand log them out - removing all items from localstorage and then trigger a `\"SIGNED_OUT\"` event.", - "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reflection", - "declaration": { - "id": 206, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 207, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1045, - "character": 29 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 804, - "name": "AuthError" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 207 - ] - } - ] - } - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 112, - "name": "signUp", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 268, - "character": 8 - } - ], - "signatures": [ - { - "id": 113, - "name": "signUp", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a new user.", - "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\n", - "returns": "A logged-in session if the server has \"autoconfirm\" ON" - }, - "parameters": [ - { - "id": 114, - "name": "credentials", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 474, - "name": "SignUpWithPasswordCredentials" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 284, - "name": "startAutoRefresh", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1415, - "character": 8 - } - ], - "signatures": [ - { - "id": 285, - "name": "startAutoRefresh", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts an auto-refresh process in the background. The session is checked\nevery few seconds. Close to the time of expiration a process is started to\nrefresh the session. If refreshing fails it will be retried for as long as\nnecessary.", - "text": "If you set the {@link GoTrueClientOptions#autoRefreshToken} you don't need\nto call this function, it will be called for you.\n\nOn browsers the refresh process works only when the tab/window is in the\nforeground to conserve resources as well as prevent race conditions and\nflooding auth with requests. If you call this method any managed\nvisibility change callback will be removed and you must manage visibility\nchanges on your own.\n\nOn non-browser platforms the refresh process works *continuously* in the\nbackground, which may not be desirable. You should hook into your\nplatform's foreground indication mechanism and call these methods\nappropriately to conserve resources.\n\n{@see #stopAutoRefresh}\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 286, - "name": "stopAutoRefresh", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 1428, - "character": 8 - } - ], - "signatures": [ - { - "id": 287, - "name": "stopAutoRefresh", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops an active auto refresh process running in the background (if any).", - "text": "If you call this method any managed visibility change callback will be\nremoved and you must manage visibility changes on your own.\n\nSee {@link #startAutoRefresh} for more details.\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 161, - "name": "updateUser", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 785, - "character": 8 - } - ], - "signatures": [ - { - "id": 162, - "name": "updateUser", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Updates user data for a logged in user." - }, - "parameters": [ - { - "id": 163, - "name": "attributes", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 448, - "name": "UserAttributes" - } - }, - { - "id": 164, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 165, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 166, - "name": "emailRedirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 788, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 166 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 377, - "name": "UserResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 130, - "name": "verifyOtp", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 544, - "character": 8 - } - ], - "signatures": [ - { - "id": 131, - "name": "verifyOtp", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Log in a user given a User supplied OTP received via mobile." - }, - "parameters": [ - { - "id": 132, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 543, - "name": "VerifyOtpParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 342, - "name": "AuthResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 78 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 81, - 82 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 121, - 141, - 158, - 108, - 208, - 136, - 180, - 138, - 222, - 174, - 124, - 118, - 127, - 115, - 133, - 204, - 112, - 284, - 286, - 161, - 130 - ] - } - ], - "sources": [ - { - "fileName": "src/GoTrueClient.ts", - "line": 93, - "character": 21 - } - ] - }, - { - "id": 397, - "name": "AMREntry", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "comment": { - "shortText": "An authentication methord reference (AMR) entry.", - "text": "An entry designates what method was used by the user to verify their\nidentity and at what time.\n", - "tags": [ - { - "tag": "see", - "text": "{@link GoTrueMFAApi#getAuthenticatorAssuranceLevel}.\n" - } - ] - }, - "children": [ - { - "id": 398, - "name": "method", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Authentication method name." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 161, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 399, - "name": "timestamp", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Timestamp when the method was successfully used. Represents number of\nseconds since 1st January 1970 (UNIX epoch) in UTC." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 167, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 398, - 399 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 159, - "character": 17 - } - ] - }, - { - "id": 454, - "name": "AdminUserAttributes", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 456, - "name": "app_metadata", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's application specific metadata. This maps to the `auth.users.app_metadata` column.", - "text": "Only a service role can modify.\n\nThe `app_metadata` should be a JSON object that includes app-specific info, such as identity providers, roles, and other\naccess control information.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 296, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 459, - "name": "ban_duration", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Determines how long a user is banned for.", - "text": "The format for the ban duration follows a strict sequence of decimal numbers with a unit suffix.\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\n\nFor example, some possible durations include: '300ms', '2h45m'.\n\nSetting the ban duration to 'none' lifts the ban on the user.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 322, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 462, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's email." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 247, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Omit.email" - } - }, - { - "id": 457, - "name": "email_confirm", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Confirms the user's email address if set to true.", - "text": "Only a service role can modify.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 303, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 461, - "name": "nonce", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", - "text": "Call reauthenticate() to obtain the nonce first.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 264, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Omit.nonce" - } - }, - { - "id": 460, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 257, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Omit.password" - } - }, - { - "id": 463, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's phone." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 252, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Omit.phone" - } - }, - { - "id": 458, - "name": "phone_confirm", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Confirms the user's phone number if set to true.", - "text": "Only a service role can modify.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 310, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 455, - "name": "user_metadata", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `user_metadata` should be a JSON object that includes user-specific info, such as their first and last name.\n\nNote: When using the GoTrueAdminApi and wanting to modify a user's metadata,\nthis attribute is used instead of UserAttributes data.\n\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 286, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 275, - "character": 17 - } - ], - "extendedTypes": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 448, - "name": "UserAttributes" - }, - { - "type": "literal", - "value": "data" - } - ], - "qualifiedName": "Omit", - "package": "typescript", - "name": "Omit" - } - ] - }, - { - "id": 411, - "name": "Factor", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "comment": { - "shortText": "A MFA factor.", - "tags": [ - { - "tag": "see", - "text": "{@link GoTrueMFAApi#enroll}" - }, - { - "tag": "see", - "text": "{@link GoTrueMFAApi#listFactors}" - }, - { - "tag": "see", - "text": "{@link GoTrueMFAAdminApi#listFactors}\n" - } - ] - }, - "children": [ - { - "id": 416, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 205, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 414, - "name": "factor_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Type of factor. Only `totp` supported with this version but may change in\nfuture versions." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 200, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 413, - "name": "friendly_name", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Friendly name of the factor, useful to disambiguate between multiple factors." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 194, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 412, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 191, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 415, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Factor's status." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 203, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "verified" - }, - { - "type": "literal", - "value": "unverified" - } - ] - } - }, - { - "id": 417, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 206, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 416, - 414, - 413, - 412, - 415, - 417 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 189, - "character": 17 - } - ] - }, - { - "id": 610, - "name": "GenerateLinkOptions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 611, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 596, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 612, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The URL which will be appended to the email link generated." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 598, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 611, - 612 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 590, - "character": 17 - } - ] - }, - { - "id": 769, - "name": "GoTrueAdminMFAApi", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "comment": { - "shortText": "Contains the full multi-factor authentication administration API.", - "tags": [ - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "children": [ - { - "id": 773, - "name": "deleteFactor", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 774, - "name": "deleteFactor", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Deletes a factor on a user. This will log the user out of all active\nsessions if the deleted factor was verified.", - "tags": [ - { - "tag": "see", - "text": "{@link GoTrueMFAApi#unenroll}\n" - }, - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "parameters": [ - { - "id": 775, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 753, - "name": "AuthMFAAdminDeleteFactorParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 744, - "name": "AuthMFAAdminDeleteFactorResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 770, - "name": "listFactors", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 771, - "name": "listFactors", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Lists all factors associated to a user." - }, - "parameters": [ - { - "id": 772, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 766, - "name": "AuthMFAAdminListFactorsParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 757, - "name": "AuthMFAAdminListFactorsResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Methods", - "kind": 2048, - "children": [ - 773, - 770 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 928, - "character": 17 - } - ] - }, - { - "id": 724, - "name": "GoTrueMFAApi", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "comment": { - "shortText": "Contains the full multi-factor authentication API." - }, - "children": [ - { - "id": 728, - "name": "challenge", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 729, - "name": "challenge", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Prepares a challenge used to verify that a user has access to a MFA\nfactor." - }, - "parameters": [ - { - "id": 730, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 648, - "name": "MFAChallengeParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 692, - "name": "AuthMFAChallengeResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 737, - "name": "challengeAndVerify", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 738, - "name": "challengeAndVerify", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Helper method which creates a challenge and immediately uses the given code to verify against it thereafter. The verification code is\nprovided by the user by entering a code seen in their authenticator app." - }, - "parameters": [ - { - "id": 739, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 651, - "name": "MFAChallengeAndVerifyParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 655, - "name": "AuthMFAVerifyResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 725, - "name": "enroll", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 726, - "name": "enroll", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the enrollment process for a new Multi-Factor Authentication (MFA)\nfactor. This method creates a new `unverified` factor.\nTo verify a factor, present the QR code or secret to the user and ask them to add it to their\nauthenticator app.\nThe user has to enter the code from their authenticator app to verify it.", - "text": "Upon verifying a factor, all other sessions are logged out and the current session's authenticator level is promoted to `aal2`.\n\n" - }, - "parameters": [ - { - "id": 727, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 635, - "name": "MFAEnrollParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 668, - "name": "AuthMFAEnrollResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 742, - "name": "getAuthenticatorAssuranceLevel", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 743, - "name": "getAuthenticatorAssuranceLevel", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns the Authenticator Assurance Level (AAL) for the active session.", - "text": "- `aal1` (or `null`) means that the user's identity has been verified only\nwith a conventional login (email+password, OTP, magic link, social login,\netc.).\n- `aal2` means that the user's identity has been verified both with a conventional login and at least one MFA factor.\n\nAlthough this method returns a promise, it's fairly quick (microseconds)\nand rarely uses the network. You can use this to check whether the current\nuser needs to be shown a screen to verify their MFA factors.\n\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 713, - "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 740, - "name": "listFactors", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 741, - "name": "listFactors", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns the list of MFA factors enabled for this user.", - "tags": [ - { - "tag": "see", - "text": "{@link GoTrueMFAApi#enroll}" - }, - { - "tag": "see", - "text": "{@link GoTrueMFAApi#getAuthenticatorAssuranceLevel}" - }, - { - "tag": "see", - "text": "{@link GoTrueClient#getUser}\n\n" - } - ] - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 702, - "name": "AuthMFAListFactorsResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 734, - "name": "unenroll", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 735, - "name": "unenroll", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Unenroll removes a MFA factor.\nA user has to have an `aal2` authenticator level in order to unenroll a `verified` factor." - }, - "parameters": [ - { - "id": 736, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 640, - "name": "MFAUnenrollParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 683, - "name": "AuthMFAUnenrollResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 731, - "name": "verify", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "signatures": [ - { - "id": 732, - "name": "verify", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Verifies a code against a challenge. The verification code is\nprovided by the user by entering a code seen in their authenticator app." - }, - "parameters": [ - { - "id": 733, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 643, - "name": "MFAVerifyParams" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 655, - "name": "AuthMFAVerifyResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Methods", - "kind": 2048, - "children": [ - 728, - 737, - 725, - 742, - 740, - 734, - 731 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 815, - "character": 17 - } - ] - }, - { - "id": 388, - "name": "Session", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 391, - "name": "access_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The access token jwt. It is recommended to set the JWT_EXPIRY to a shorter expiry value." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 134, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 394, - "name": "expires_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A timestamp of when the token will expire. Returned when a login is confirmed." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 146, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 393, - "name": "expires_in", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The number of seconds until the token expires (since it was issued). Returned when a login is confirmed." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 142, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 390, - "name": "provider_refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The oauth provider refresh token. If present, this can be used to refresh the provider_token via the oauth provider's API.\nNot all oauth providers return a provider refresh token. If the provider_refresh_token is missing, please refer to the oauth provider's documentation for information on how to obtain the provider refresh token." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 130, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 389, - "name": "provider_token", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The oauth provider token. If present, this can be used to make external API requests to the oauth provider used." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 125, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 392, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "A one-time used refresh token that never expires." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 138, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 395, - "name": "token_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 147, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 396, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 148, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 391, - 394, - 393, - 390, - 389, - 392, - 395, - 396 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 121, - "character": 17 - } - ] - }, - { - "id": 464, - "name": "Subscription", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 465, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The subscriber UUID. This will be set by the client." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 329, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 466, - "name": "callback", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 333, - "character": 2 - } - ], - "signatures": [ - { - "id": 467, - "name": "callback", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "The function to call every time there is an event. eg: (eventName) => {}" - }, - "parameters": [ - { - "id": 468, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 327, - "name": "AuthChangeEvent" - } - }, - { - "id": 469, - "name": "session", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 388, - "name": "Session" - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 470, - "name": "unsubscribe", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 337, - "character": 2 - } - ], - "signatures": [ - { - "id": 471, - "name": "unsubscribe", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Call this to remove the listener." - }, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 465 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 466, - 470 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 325, - "character": 17 - } - ] - }, - { - "id": 472, - "name": "UpdatableFactorAttributes", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 473, - "name": "friendlyName", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 341, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 473 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 340, - "character": 17 - } - ] - }, - { - "id": 425, - "name": "User", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 436, - "name": "action_link", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 229, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 427, - "name": "app_metadata", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 220, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 418, - "name": "UserAppMetadata" - } - }, - { - "id": 429, - "name": "aud", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 222, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 430, - "name": "confirmation_sent_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 223, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 440, - "name": "confirmed_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 233, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 439, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 232, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 437, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 230, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 432, - "name": "email_change_sent_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 225, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 441, - "name": "email_confirmed_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 234, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 447, - "name": "factors", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 240, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 411, - "name": "Factor" - } - } - }, - { - "id": 426, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 219, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 446, - "name": "identities", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 239, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 400, - "name": "UserIdentity" - } - } - }, - { - "id": 435, - "name": "invited_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 228, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 443, - "name": "last_sign_in_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 236, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 433, - "name": "new_email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 226, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 434, - "name": "new_phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 227, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 438, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 231, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 442, - "name": "phone_confirmed_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 235, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 431, - "name": "recovery_sent_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 224, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 444, - "name": "role", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 237, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 445, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 238, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 428, - "name": "user_metadata", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 221, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 422, - "name": "UserMetadata" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 436, - 427, - 429, - 430, - 440, - 439, - 437, - 432, - 441, - 447, - 426, - 446, - 435, - 443, - 433, - 434, - 438, - 442, - 431, - 444, - 445, - 428 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 218, - "character": 17 - } - ] - }, - { - "id": 418, - "name": "UserAppMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 419, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 210, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 419 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 209, - "character": 17 - } - ], - "indexSignature": { - "id": 420, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 421, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - }, - { - "id": 448, - "name": "UserAttributes", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 453, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 272, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 449, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's email." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 247, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 452, - "name": "nonce", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", - "text": "Call reauthenticate() to obtain the nonce first.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 264, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 451, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 257, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 450, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's phone." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 252, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 453, - 449, - 452, - 451, - 450 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 243, - "character": 17 - } - ] - }, - { - "id": 400, - "name": "UserIdentity", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 408, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 177, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 401, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 171, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 403, - "name": "identity_data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 173, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 404, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 405, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 406, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 409, - "name": "last_sign_in_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 178, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 407, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 176, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 410, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 179, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 402, - "name": "user_id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 172, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 408, - 401, - 403, - 409, - 407, - 410, - 402 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 170, - "character": 17 - } - ] - }, - { - "id": 422, - "name": "UserMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 214, - "character": 17 - } - ], - "indexSignature": { - "id": 423, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 424, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - }, - { - "id": 552, - "name": "VerifyEmailOtpParams", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 553, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email address." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 500, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 556, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 505, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 557, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 559, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 509, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 558, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A URL to send the user to after they are confirmed." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 507, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 559, - 558 - ] - } - ] - } - } - }, - { - "id": 554, - "name": "token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The otp sent to the user's email address." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 502, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 555, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's verification type." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 504, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 561, - "name": "EmailOtpType" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 498, - "character": 17 - } - ] - }, - { - "id": 544, - "name": "VerifyMobileOtpParams", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 548, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 486, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 549, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 551, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site.", - "tags": [ - { - "tag": "deprecated", - "text": "\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 495, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 550, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A URL to send the user to after they are confirmed." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 488, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 551, - 550 - ] - } - ] - } - } - }, - { - "id": 545, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's phone number." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 481, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 546, - "name": "token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The otp sent to the user's phone number." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 483, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 547, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's verification type." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 485, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 560, - "name": "MobileOtpType" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 479, - "character": 17 - } - ] - }, - { - "id": 327, - "name": "AuthChangeEvent", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 26, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "INITIAL_SESSION" - }, - { - "type": "literal", - "value": "PASSWORD_RECOVERY" - }, - { - "type": "literal", - "value": "SIGNED_IN" - }, - { - "type": "literal", - "value": "SIGNED_OUT" - }, - { - "type": "literal", - "value": "TOKEN_REFRESHED" - }, - { - "type": "literal", - "value": "USER_UPDATED" - }, - { - "type": "reference", - "id": 326, - "name": "AuthChangeEventMFA" - } - ] - } - }, - { - "id": 326, - "name": "AuthChangeEventMFA", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 24, - "character": 12 - } - ], - "type": { - "type": "literal", - "value": "MFA_CHALLENGE_VERIFIED" - } - }, - { - "id": 522, - "name": "AuthFlowType", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 447, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "implicit" - }, - { - "type": "literal", - "value": "pkce" - } - ] - } - }, - { - "id": 753, - "name": "AuthMFAAdminDeleteFactorParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "tags": [ - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 894, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 754, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 755, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the MFA factor to delete." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 896, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 756, - "name": "userId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the user whose factor is being deleted." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 899, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 755, - 756 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 894, - "character": 45 - } - ] - } - } - }, - { - "id": 744, - "name": "AuthMFAAdminDeleteFactorResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "tags": [ - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 881, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 745, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 746, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 883, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 747, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 748, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor that was successfully deleted." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 885, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 748 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 883, - "character": 12 - } - ] - } - } - }, - { - "id": 749, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 887, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 746, - 749 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 882, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 750, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 751, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 889, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 752, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 889, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 751, - 752 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 889, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 766, - "name": "AuthMFAAdminListFactorsParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "tags": [ - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 918, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 767, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 768, - "name": "userId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the user." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 920, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 768 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 918, - "character": 44 - } - ] - } - } - }, - { - "id": 757, - "name": "AuthMFAAdminListFactorsResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "tags": [ - { - "tag": "expermental", - "text": "\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 905, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 758, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 759, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 907, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 760, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 761, - "name": "factors", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "All factors attached to the user." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 909, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 411, - "name": "Factor" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 761 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 907, - "character": 12 - } - ] - } - } - }, - { - "id": 762, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 911, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 759, - 762 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 906, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 763, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 764, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 913, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 765, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 913, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 764, - 765 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 913, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 692, - "name": "AuthMFAChallengeResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 758, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 693, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 694, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 760, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 695, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 697, - "name": "expires_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Timestamp in UNIX seconds when this challenge will no longer be usable." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 765, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 696, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the newly created challenge." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 762, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 697, - 696 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 760, - "character": 12 - } - ] - } - } - }, - { - "id": 698, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 767, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 694, - 698 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 759, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 699, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 700, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 769, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 701, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 769, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 700, - 701 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 769, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 668, - "name": "AuthMFAEnrollResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 715, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 669, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 670, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 717, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 671, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 672, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor that was just enrolled (in an unverified state)." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 719, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 674, - "name": "totp", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "TOTP enrollment information." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 725, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 675, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 676, - "name": "qr_code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Contains a QR code encoding the authenticator URI. You can\nconvert it to a URL by prepending `data:image/svg+xml;utf-8,` to\nthe value. Avoid logging this value to the console." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 729, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 677, - "name": "secret", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The TOTP secret (also encoded in the QR code). Show this secret\nin a password-style field to the user, in case they are unable to\nscan the QR code. Avoid logging this value to the console." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 734, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 678, - "name": "uri", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The authenticator URI encoded within the QR code, should you need\nto use it. Avoid loggin this value to the console." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 738, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 676, - 677, - 678 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 725, - "character": 14 - } - ] - } - } - }, - { - "id": 673, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Type of MFA factor. Only `totp` supported for now." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 722, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": "totp" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 672, - 674, - 673 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 717, - "character": 12 - } - ] - } - } - }, - { - "id": 679, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 741, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 670, - 679 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 716, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 680, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 681, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 744, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 682, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 745, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 681, - 682 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 743, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 713, - "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 786, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 714, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 715, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 788, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 716, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 719, - "name": "currentAuthenticationMethods", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "A list of all authentication methods attached to this session. Use\nthe information here to detect the last time a user verified a\nfactor, for example if implementing a step-up scenario." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 805, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 397, - "name": "AMREntry" - } - } - }, - { - "id": 717, - "name": "currentLevel", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Current AAL level of the session." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 790, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 712, - "name": "AuthenticatorAssuranceLevels" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 718, - "name": "nextLevel", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Next possible AAL level for the session. If the next level is higher\nthan the current one, the user should go through MFA.", - "tags": [ - { - "tag": "see", - "text": "{@link GoTrueMFAApi#challenge}\n" - } - ] - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 798, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 712, - "name": "AuthenticatorAssuranceLevels" - }, - { - "type": "literal", - "value": null - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 719, - 717, - 718 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 788, - "character": 12 - } - ] - } - } - }, - { - "id": 720, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 807, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 715, - 720 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 787, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 721, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 722, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 809, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 723, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 809, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 722, - 723 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 809, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 702, - "name": "AuthMFAListFactorsResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 771, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 703, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 704, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 773, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 705, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 706, - "name": "all", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "All available factors (verified and unverified)." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 775, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 411, - "name": "Factor" - } - } - }, - { - "id": 707, - "name": "totp", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Only verified TOTP factors. (A subset of `all`.)" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 778, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 411, - "name": "Factor" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 706, - 707 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 773, - "character": 12 - } - ] - } - } - }, - { - "id": 708, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 780, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 704, - 708 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 772, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 709, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 710, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 782, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 711, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 782, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 710, - 711 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 782, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 683, - "name": "AuthMFAUnenrollResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 748, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 684, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 685, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 750, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 686, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 687, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor that was successfully unenrolled." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 752, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 687 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 750, - "character": 12 - } - ] - } - } - }, - { - "id": 688, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 754, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 685, - 688 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 749, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 689, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 690, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 691, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 690, - 691 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 655, - "name": "AuthMFAVerifyResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 690, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 656, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 657, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 658, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 659, - "name": "access_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "New access token (JWT) after successful verification." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 694, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 661, - "name": "expires_in", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Number of seconds in which the access token will expire." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 700, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 662, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Refresh token you can use to obtain new access tokens when expired." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 703, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 660, - "name": "token_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Type of token, typically `Bearer`." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 697, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 663, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Updated user profile." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 706, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 659, - 661, - 662, - 660, - 663 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 12 - } - ] - } - } - }, - { - "id": 664, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 708, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 657, - 664 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 691, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 665, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 666, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 711, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 667, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 712, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 666, - 667 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 710, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 342, - "name": "AuthResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 56, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 343, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 344, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 58, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 345, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 347, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 388, - "name": "Session" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 346, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 59, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 425, - "name": "User" - }, - { - "type": "literal", - "value": null - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 347, - 346 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 58, - "character": 12 - } - ] - } - } - }, - { - "id": 348, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 62, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 344, - 348 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 57, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 349, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 350, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 65, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 351, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 353, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 67, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 352, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 353, - 352 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 65, - "character": 12 - } - ] - } - } - }, - { - "id": 354, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 350, - 354 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 64, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 712, - "name": "AuthenticatorAssuranceLevels", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 784, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "aal1" - }, - { - "type": "literal", - "value": "aal2" - } - ] - } - }, - { - "id": 780, - "name": "CallRefreshTokenResult", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 959, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 781, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 783, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 962, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 782, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 961, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 388, - "name": "Session" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 783, - 782 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 960, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 784, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 786, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 966, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - }, - { - "id": 785, - "name": "session", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 965, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 786, - 785 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 964, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 561, - "name": "EmailOtpType", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 514, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "signup" - }, - { - "type": "literal", - "value": "invite" - }, - { - "type": "literal", - "value": "magiclink" - }, - { - "type": "literal", - "value": "recovery" - }, - { - "type": "literal", - "value": "email_change" - }, - { - "type": "literal", - "value": "email" - } - ] - } - }, - { - "id": 604, - "name": "GenerateEmailChangeLinkParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 579, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 605, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 607, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 582, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 608, - "name": "newEmail", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's new email. Only required if type is 'email_change_current' or 'email_change_new'." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 586, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 609, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 587, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 610, - "name": "GenerateLinkOptions" - }, - { - "type": "literal", - "value": "redirectTo" - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 606, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 580, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "email_change_current" - }, - { - "type": "literal", - "value": "email_change_new" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 579, - "character": 44 - } - ] - } - } - }, - { - "id": 594, - "name": "GenerateInviteOrMagiclinkParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 565, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 595, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 597, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 568, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 598, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 569, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 610, - "name": "GenerateLinkOptions" - }, - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "data" - }, - { - "type": "literal", - "value": "redirectTo" - } - ] - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 596, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 566, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "invite" - }, - { - "type": "literal", - "value": "magiclink" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 597, - 598, - 596 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 565, - "character": 46 - } - ] - } - } - }, - { - "id": 613, - "name": "GenerateLinkParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 601, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 588, - "name": "GenerateSignupLinkParams" - }, - { - "type": "reference", - "id": 594, - "name": "GenerateInviteOrMagiclinkParams" - }, - { - "type": "reference", - "id": 599, - "name": "GenerateRecoveryLinkParams" - }, - { - "type": "reference", - "id": 604, - "name": "GenerateEmailChangeLinkParams" - } - ] - } - }, - { - "id": 627, - "name": "GenerateLinkProperties", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "shortText": "The properties related to the email link generated" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 624, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 628, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 629, - "name": "action_link", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The email link to send to the user.\nThe action_link follows the following format: auth/v1/verify?type={verification_type}&token={hashed_token}&redirect_to={redirect_to}" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 629, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 630, - "name": "email_otp", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The raw email OTP.\nYou should send this in the email if you want your users to verify using an OTP instead of the action link." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 634, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 631, - "name": "hashed_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The hashed token appended to the action link." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 638, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 632, - "name": "redirect_to", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The URL appended to the action link." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 640, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 633, - "name": "verification_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The verification type that the email link is associated to." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 642, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 634, - "name": "GenerateLinkType" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 629, - 630, - 631, - 632, - 633 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 624, - "character": 37 - } - ] - } - } - }, - { - "id": 614, - "name": "GenerateLinkResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 607, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 615, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 616, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 609, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 617, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 618, - "name": "properties", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 610, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 627, - "name": "GenerateLinkProperties" - } - }, - { - "id": 619, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 611, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 618, - 619 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 609, - "character": 12 - } - ] - } - } - }, - { - "id": 620, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 613, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 616, - 620 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 608, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 621, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 622, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 616, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 623, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 624, - "name": "properties", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 617, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 625, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 618, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 624, - 625 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 616, - "character": 12 - } - ] - } - } - }, - { - "id": 626, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 620, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 622, - 626 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 615, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 634, - "name": "GenerateLinkType", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 645, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "signup" - }, - { - "type": "literal", - "value": "invite" - }, - { - "type": "literal", - "value": "magiclink" - }, - { - "type": "literal", - "value": "recovery" - }, - { - "type": "literal", - "value": "email_change_current" - }, - { - "type": "literal", - "value": "email_change_new" - } - ] - } - }, - { - "id": 599, - "name": "GenerateRecoveryLinkParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 572, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 600, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 602, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 575, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 603, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 576, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 610, - "name": "GenerateLinkOptions" - }, - { - "type": "literal", - "value": "redirectTo" - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 601, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 573, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "recovery" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 602, - 603, - 601 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 572, - "character": 41 - } - ] - } - } - }, - { - "id": 588, - "name": "GenerateSignupLinkParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 558, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 589, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 591, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 560, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 593, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 562, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 610, - "name": "GenerateLinkOptions" - }, - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "data" - }, - { - "type": "literal", - "value": "redirectTo" - } - ] - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 592, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 561, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 590, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 559, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "signup" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 558, - "character": 39 - } - ] - } - } - }, - { - "id": 328, - "name": "GoTrueClientOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 35, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 329, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 337, - "name": "autoRefreshToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 45, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 336, - "name": "detectSessionInUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 43, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 340, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 51, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "Fetch" - } - }, - { - "id": 341, - "name": "flowType", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 53, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 522, - "name": "AuthFlowType" - } - }, - { - "id": 331, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 39, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 332, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 39, - "character": 12 - } - ], - "indexSignature": { - "id": 333, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 334, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 338, - "name": "persistSession", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 47, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 339, - "name": "storage", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 776, - "name": "SupportedStorage" - } - }, - { - "id": 335, - "name": "storageKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 41, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 330, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 37, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 337, - 336, - 340, - 341, - 331, - 338, - 339, - 335, - 330 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 35, - "character": 34 - } - ] - } - } - }, - { - "id": 777, - "name": "InitializeResult", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 957, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 778, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 779, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 957, - "character": 33 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 804, - "name": "AuthError" - }, - { - "type": "literal", - "value": null - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 779 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 957, - "character": 31 - } - ] - } - } - }, - { - "id": 651, - "name": "MFAChallengeAndVerifyParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 683, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 652, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 654, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Verification code provided by the user." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 687, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 653, - "name": "factorId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor being verified. Returned in enroll()." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 685, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 654, - 653 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 683, - "character": 42 - } - ] - } - } - }, - { - "id": 648, - "name": "MFAChallengeParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 678, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 649, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 650, - "name": "factorId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor to be challenged. Returned in enroll()." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 680, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 650 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 678, - "character": 33 - } - ] - } - } - }, - { - "id": 635, - "name": "MFAEnrollParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 653, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 636, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 637, - "name": "factorType", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The type of factor being enrolled." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 655, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "totp" - } - }, - { - "id": 639, - "name": "friendlyName", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Human readable name assigned to the factor." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 659, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 638, - "name": "issuer", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Domain which the user is enrolled with." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 657, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 637, - 639, - 638 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 653, - "character": 30 - } - ] - } - } - }, - { - "id": 640, - "name": "MFAUnenrollParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 662, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 641, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 642, - "name": "factorId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor being unenrolled." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 664, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 642 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 662, - "character": 32 - } - ] - } - } - }, - { - "id": 643, - "name": "MFAVerifyParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 667, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 644, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 646, - "name": "challengeId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the challenge being verified. Returned in challenge()." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 672, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 647, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Verification code provided by the user." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 675, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 645, - "name": "factorId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor being verified. Returned in enroll()." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 669, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 646, - 647, - 645 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 667, - "character": 30 - } - ] - } - } - }, - { - "id": 560, - "name": "MobileOtpType", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 513, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "sms" - }, - { - "type": "literal", - "value": "phone_change" - } - ] - } - }, - { - "id": 355, - "name": "OAuthResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 72, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 356, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 357, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 74, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 358, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 359, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 75, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 325, - "name": "Provider" - } - }, - { - "id": 360, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 76, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 359, - 360 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 74, - "character": 12 - } - ] - } - } - }, - { - "id": 361, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 78, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 357, - 361 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 73, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 362, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 363, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 81, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 364, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 365, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 82, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 325, - "name": "Provider" - } - }, - { - "id": 366, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 365, - 366 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 81, - "character": 12 - } - ] - } - } - }, - { - "id": 367, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 85, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 363, - 367 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 80, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 794, - "name": "PageParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 976, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 795, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 796, - "name": "page", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The page number" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 978, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 797, - "name": "perPage", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Number of items returned per page" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 980, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 796, - 797 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 976, - "character": 25 - } - ] - } - } - }, - { - "id": 787, - "name": "Pagination", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 969, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 788, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 790, - "name": "lastPage", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 972, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 789, - "name": "nextPage", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 971, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "literal", - "value": null - } - ] - } - }, - { - "id": 791, - "name": "total", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 973, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 790, - 789, - 791 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 969, - "character": 25 - } - ], - "indexSignature": { - "id": 792, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 793, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 325, - "name": "Provider", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "shortText": "One of the providers supported by GoTrue." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 5, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "apple" - }, - { - "type": "literal", - "value": "azure" - }, - { - "type": "literal", - "value": "bitbucket" - }, - { - "type": "literal", - "value": "discord" - }, - { - "type": "literal", - "value": "facebook" - }, - { - "type": "literal", - "value": "github" - }, - { - "type": "literal", - "value": "gitlab" - }, - { - "type": "literal", - "value": "google" - }, - { - "type": "literal", - "value": "keycloak" - }, - { - "type": "literal", - "value": "linkedin" - }, - { - "type": "literal", - "value": "notion" - }, - { - "type": "literal", - "value": "slack" - }, - { - "type": "literal", - "value": "spotify" - }, - { - "type": "literal", - "value": "twitch" - }, - { - "type": "literal", - "value": "twitter" - }, - { - "type": "literal", - "value": "workos" - }, - { - "type": "literal", - "value": "zoom" - } - ] - } - }, - { - "id": 562, - "name": "ResendParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 516, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 563, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 565, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 519, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 566, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 520, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 567, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 568, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 522, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 568 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 520, - "character": 16 - } - ] - } - } - }, - { - "id": 564, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 518, - "character": 6 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 561, - "name": "EmailOtpType" - }, - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "signup" - }, - { - "type": "literal", - "value": "email_change" - } - ] - } - ], - "qualifiedName": "Extract", - "package": "typescript", - "name": "Extract" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 565, - 566, - 564 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 517, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 569, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 572, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 528, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 573, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 574, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 530, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 574 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 528, - "character": 16 - } - ] - } - } - }, - { - "id": 571, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 527, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 570, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 526, - "character": 6 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 560, - "name": "MobileOtpType" - }, - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "sms" - }, - { - "type": "literal", - "value": "phone_change" - } - ] - } - ], - "qualifiedName": "Extract", - "package": "typescript", - "name": "Extract" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 572, - 571, - 570 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 525, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 368, - "name": "SSOResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 88, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 369, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 370, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 90, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 371, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 372, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "URL to open in a browser which will complete the sign-in flow by\ntaking the user to the identity provider's authentication flow.", - "text": "On browsers you can set the URL to `window.location.href` to take\nthe user to the authentication flow.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 98, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 372 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 90, - "character": 12 - } - ] - } - } - }, - { - "id": 373, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 100, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 370, - 373 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 89, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 374, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 375, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 103, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 376, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 104, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 375, - 376 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 102, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 535, - "name": "SignInWithIdTokenCredentials", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 463, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 536, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 539, - "name": "nonce", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If the ID token contains a `nonce`, then the hash of this value is compared to the value in the ID token." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 471, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 540, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 472, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 541, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 542, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 474, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 542 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 472, - "character": 12 - } - ] - } - } - }, - { - "id": 537, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Only Apple and Google ID tokens are supported for use from within iOS or Android applications." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 467, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "google" - }, - { - "type": "literal", - "value": "apple" - } - ] - } - }, - { - "id": 538, - "name": "token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID token issued by Apple or Google." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 469, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 539, - 540, - 537, - 538 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 463, - "character": 43 - } - ] - } - } - }, - { - "id": 523, - "name": "SignInWithOAuthCredentials", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 448, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 524, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 526, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 451, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 527, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 530, - "name": "queryParams", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "An object of query params" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 457, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 531, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 457, - "character": 18 - } - ], - "indexSignature": { - "id": 532, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 533, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 528, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A URL to send the user to after they are confirmed." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 453, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 529, - "name": "scopes", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A space-separated list of scopes granted to the OAuth application." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 455, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 534, - "name": "skipBrowserRedirect", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If set to true does not immediately redirect the current browser context to visit the OAuth authorization page for the provider." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 459, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 530, - 528, - 529, - 534 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 451, - "character": 12 - } - ] - } - } - }, - { - "id": 525, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "One of the providers supported by GoTrue." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 450, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 325, - "name": "Provider" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 526, - 525 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 448, - "character": 41 - } - ] - } - } - }, - { - "id": 491, - "name": "SignInWithPasswordCredentials", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 381, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 492, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 493, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email address." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 384, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 495, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 387, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 496, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 497, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 389, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 497 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 387, - "character": 16 - } - ] - } - } - }, - { - "id": 494, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 386, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 493, - 495, - 494 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 382, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 498, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 501, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 397, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 502, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 504, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 405, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 503, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 403, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 504, - 503 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 397, - "character": 16 - } - ] - } - } - }, - { - "id": 500, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 396, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 499, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's phone number." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 394, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 501, - 500, - 499 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 392, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 505, - "name": "SignInWithPasswordlessCredentials", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 409, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 506, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 507, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email address." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 412, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 508, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 413, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 509, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 513, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 425, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 512, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 423, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 510, - "name": "emailRedirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The redirect url embedded in the email link" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 415, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 511, - "name": "shouldCreateUser", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If set to false, this method will not create a new user. Defaults to true." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 417, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 513, - 512, - 510, - 511 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 413, - "character": 16 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 507, - 508 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 410, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 514, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 516, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 431, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 517, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 520, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 441, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 521, - "name": "channel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Messaging channel to use (e.g. whatsapp or sms)" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 443, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "sms" - }, - { - "type": "literal", - "value": "whatsapp" - } - ] - } - }, - { - "id": 519, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 439, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 518, - "name": "shouldCreateUser", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If set to false, this method will not create a new user. Defaults to true." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 433, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 520, - 521, - 519, - 518 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 431, - "character": 16 - } - ] - } - } - }, - { - "id": 515, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's phone number." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 430, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 516, - 515 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 428, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 575, - "name": "SignInWithSSO", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 534, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 576, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 578, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 539, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 579, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 581, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 543, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 580, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A URL to send the user to after they have signed-in." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 541, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 581, - 580 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 539, - "character": 16 - } - ] - } - } - }, - { - "id": 577, - "name": "providerId", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "UUID of the SSO provider to invoke single-sign on to." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 537, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 578, - 577 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 535, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 582, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 583, - "name": "domain", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Domain name of the organization for which to invoke single-sign on." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 548, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 584, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 550, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 585, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 587, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 554, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 586, - "name": "redirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A URL to send the user to after they have signed-in." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 552, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 587, - 586 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 550, - "character": 16 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 583, - 584 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 546, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 474, - "name": "SignUpWithPasswordCredentials", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 344, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 475, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 476, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's email address." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 347, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 478, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 350, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 479, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 482, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 360, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 481, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 358, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 480, - "name": "emailRedirectTo", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The redirect url embedded in the email link" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 352, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 482, - 481, - 480 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 350, - "character": 16 - } - ] - } - } - }, - { - "id": 477, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 349, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 476, - 478, - 477 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 345, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 483, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 486, - "name": "options", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 368, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 487, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 489, - "name": "captchaToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Verification token received when the user completes the captcha on the site. Requires a configured WhatsApp sender on Twilio" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 376, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 490, - "name": "channel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Messaging channel to use (e.g. whatsapp or sms)" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 378, - "character": 8 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "sms" - }, - { - "type": "literal", - "value": "whatsapp" - } - ] - } - }, - { - "id": 488, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 374, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 489, - 490, - 488 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 368, - "character": 16 - } - ] - } - } - }, - { - "id": 485, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 367, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 484, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The user's phone number." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 365, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 486, - 485, - 484 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 363, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 776, - "name": "SupportedStorage", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 955, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Storage", - "package": "typescript", - "name": "Storage" - }, - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "getItem" - }, - { - "type": "literal", - "value": "setItem" - }, - { - "type": "literal", - "value": "removeItem" - } - ] - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - ], - "name": "PromisifyMethods" - } - }, - { - "id": 377, - "name": "UserResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 107, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 378, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 379, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 109, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 380, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 381, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 110, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 381 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 109, - "character": 12 - } - ] - } - } - }, - { - "id": 382, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 112, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 379, - 382 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 108, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 383, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 384, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 115, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 385, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 386, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 116, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 386 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 115, - "character": 12 - } - ] - } - } - }, - { - "id": 387, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 118, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 384, - 387 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 114, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 543, - "name": "VerifyOtpParams", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 478, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 544, - "name": "VerifyMobileOtpParams" - }, - { - "type": "reference", - "id": 552, - "name": "VerifyEmailOtpParams" - } - ] - } - }, - { - "id": 801, - "name": "isAuthApiError", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 34, - "character": 16 - } - ], - "signatures": [ - { - "id": 802, - "name": "isAuthApiError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 803, - "name": "error", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "predicate", - "name": "error", - "asserts": false, - "targetType": { - "type": "reference", - "id": 811, - "name": "AuthApiError" - } - } - } - ] - }, - { - "id": 798, - "name": "isAuthError", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 12, - "character": 16 - } - ], - "signatures": [ - { - "id": 799, - "name": "isAuthError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 800, - "name": "error", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "predicate", - "name": "error", - "asserts": false, - "targetType": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 811, - 804, - 872, - 859, - 897, - 922, - 847, - 824, - 832, - 1, - 77 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 397, - 454, - 411, - 610, - 769, - 724, - 388, - 464, - 472, - 425, - 418, - 448, - 400, - 422, - 552, - 544 - ] - }, - { - "title": "Type Aliases", - "kind": 4194304, - "children": [ - 327, - 326, - 522, - 753, - 744, - 766, - 757, - 692, - 668, - 713, - 702, - 683, - 655, - 342, - 712, - 780, - 561, - 604, - 594, - 613, - 627, - 614, - 634, - 599, - 588, - 328, - 777, - 651, - 648, - 635, - 640, - 643, - 560, - 355, - 794, - 787, - 325, - 562, - 368, - 535, - 523, - 491, - 505, - 575, - 474, - 776, - 377, - 543 - ] - }, - { - "title": "Functions", - "kind": 64, - "children": [ - 801, - 798 - ] - } - ], - "sources": [ - { - "fileName": "src/index.ts", - "line": 1, - "character": 0 - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/gotrue-js", + "kind": 1, + "kindString": "Project", + "flags": {}, + "originalName": "", + "children": [ + { + "id": 964, + "name": "AuthApiError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 965, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 19, + "character": 2 + } + ], + "signatures": [ + { + "id": 966, + "name": "new AuthApiError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 967, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 968, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 964, + "name": "AuthApiError" + }, + "overwrites": { + "type": "reference", + "id": 959, + "name": "AuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 958, + "name": "AuthError.constructor" + } + }, + { + "id": 969, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 17, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "overwrites": { + "type": "reference", + "id": 962, + "name": "AuthError.status" + } + }, + { + "id": 970, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 25, + "character": 2 + } + ], + "signatures": [ + { + "id": 971, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 972, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 974, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 28, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 973, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 27, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 975, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 29, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [974, 973, 975] + } + ] + } + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [965] + }, + { + "title": "Properties", + "kind": 1024, + "children": [969] + }, + { + "title": "Methods", + "kind": 2048, + "children": [970] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 16, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 957, + "name": "AuthError" + } + ] + }, + { + "id": 957, + "name": "AuthError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 958, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 5, + "character": 2 + } + ], + "signatures": [ + { + "id": 959, + "name": "new AuthError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 960, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 961, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + }, + { + "id": 962, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 2, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [958] + }, + { + "title": "Properties", + "kind": 1024, + "children": [962] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 1, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 964, + "name": "AuthApiError" + }, + { + "type": "reference", + "id": 977, + "name": "AuthUnknownError" + }, + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1037, + "name": "AuthImplicitGrantRedirectError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1038, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 86, + "character": 2 + } + ], + "signatures": [ + { + "id": 1039, + "name": "new AuthImplicitGrantRedirectError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1040, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1041, + "name": "details", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1042, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1044, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 86, + "character": 57 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1043, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 86, + "character": 42 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1044, 1043] + } + ] + } + } + ] + }, + "defaultValue": "null" + } + ], + "type": { + "type": "reference", + "id": 1037, + "name": "AuthImplicitGrantRedirectError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1045, + "name": "details", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 85, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1046, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1048, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 85, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1047, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 85, + "character": 13 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1048, 1047] + } + ] + } + } + ] + }, + "defaultValue": "null" + }, + { + "id": 1059, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1060, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1049, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 91, + "character": 2 + } + ], + "signatures": [ + { + "id": 1050, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1051, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1055, + "name": "details", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 96, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1056, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1058, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 85, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1057, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 85, + "character": 13 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1058, 1057] + } + ] + } + } + ] + }, + "defaultValue": "..." + }, + { + "id": 1053, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 94, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1052, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 93, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1054, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 95, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1055, 1053, 1052, 1054] + } + ] + } + }, + "overwrites": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "overwrites": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1038] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1045, 1059, 1060] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1049] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 84, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1024, + "name": "AuthInvalidCredentialsError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1025, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 79, + "character": 2 + } + ], + "signatures": [ + { + "id": 1026, + "name": "new AuthInvalidCredentialsError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1027, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 1024, + "name": "AuthInvalidCredentialsError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1028, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1029, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1030, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1031, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1032, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1034, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1033, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1035, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1034, 1033, 1035] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1025] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1028, 1029] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1030] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 78, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1012, + "name": "AuthInvalidTokenResponseError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1013, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 73, + "character": 2 + } + ], + "signatures": [ + { + "id": 1014, + "name": "new AuthInvalidTokenResponseError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "type": { + "type": "reference", + "id": 1012, + "name": "AuthInvalidTokenResponseError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1015, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1016, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1017, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1018, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1019, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1021, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1020, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1022, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1021, 1020, 1022] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1013] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1015, 1016] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1017] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 72, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1062, + "name": "AuthPKCEGrantCodeExchangeError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1063, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 103, + "character": 2 + } + ], + "signatures": [ + { + "id": 1064, + "name": "new AuthPKCEGrantCodeExchangeError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1065, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1066, + "name": "details", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1067, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1069, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 103, + "character": 57 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1068, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 103, + "character": 42 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1069, 1068] + } + ] + } + } + ] + }, + "defaultValue": "null" + } + ], + "type": { + "type": "reference", + "id": 1062, + "name": "AuthPKCEGrantCodeExchangeError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1070, + "name": "details", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 102, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1071, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1073, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 102, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1072, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 102, + "character": 13 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1073, 1072] + } + ] + } + } + ] + }, + "defaultValue": "null" + }, + { + "id": 1084, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1085, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1074, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 108, + "character": 2 + } + ], + "signatures": [ + { + "id": 1075, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1076, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1080, + "name": "details", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 113, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 1081, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1083, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 102, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1082, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 102, + "character": 13 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1083, 1082] + } + ] + } + } + ] + }, + "defaultValue": "..." + }, + { + "id": 1078, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 111, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1077, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 110, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1079, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 112, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1080, 1078, 1077, 1079] + } + ] + } + }, + "overwrites": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "overwrites": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1063] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1070, 1084, 1085] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1074] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 101, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1087, + "name": "AuthRetryableFetchError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1088, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 119, + "character": 2 + } + ], + "signatures": [ + { + "id": 1089, + "name": "new AuthRetryableFetchError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1090, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1091, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 1087, + "name": "AuthRetryableFetchError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1092, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1093, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1094, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1095, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1096, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1098, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1097, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1099, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1098, 1097, 1099] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1088] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1092, 1093] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1094] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 118, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1000, + "name": "AuthSessionMissingError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1001, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 67, + "character": 2 + } + ], + "signatures": [ + { + "id": 1002, + "name": "new AuthSessionMissingError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "type": { + "type": "reference", + "id": 1000, + "name": "AuthSessionMissingError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1003, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1004, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1005, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1006, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1007, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1009, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1008, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1010, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1009, 1008, 1010] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1001] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1003, 1004] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1005] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 66, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 977, + "name": "AuthUnknownError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 978, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 41, + "character": 2 + } + ], + "signatures": [ + { + "id": 979, + "name": "new AuthUnknownError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 980, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 981, + "name": "originalError", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 977, + "name": "AuthUnknownError" + }, + "overwrites": { + "type": "reference", + "id": 959, + "name": "AuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 958, + "name": "AuthError.constructor" + } + }, + { + "id": 982, + "name": "originalError", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 39, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 983, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 2, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 962, + "name": "AuthError.status" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [978] + }, + { + "title": "Properties", + "kind": 1024, + "children": [982, 983] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 38, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 957, + "name": "AuthError" + } + ] + }, + { + "id": 985, + "name": "CustomAuthError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 986, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 51, + "character": 2 + } + ], + "signatures": [ + { + "id": 987, + "name": "new CustomAuthError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 988, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 989, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 990, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + }, + "overwrites": { + "type": "reference", + "id": 959, + "name": "AuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 958, + "name": "AuthError.constructor" + } + }, + { + "id": 991, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "name": "AuthError.name" + } + }, + { + "id": 992, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "overwrites": { + "type": "reference", + "id": 962, + "name": "AuthError.status" + } + }, + { + "id": 993, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 994, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 995, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 997, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 996, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 998, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [997, 996, 998] + } + ] + } + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [986] + }, + { + "title": "Properties", + "kind": 1024, + "children": [991, 992] + }, + { + "title": "Methods", + "kind": 2048, + "children": [993] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 48, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 957, + "name": "AuthError" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 1000, + "name": "AuthSessionMissingError" + }, + { + "type": "reference", + "id": 1012, + "name": "AuthInvalidTokenResponseError" + }, + { + "type": "reference", + "id": 1024, + "name": "AuthInvalidCredentialsError" + }, + { + "type": "reference", + "id": 1037, + "name": "AuthImplicitGrantRedirectError" + }, + { + "type": "reference", + "id": 1062, + "name": "AuthPKCEGrantCodeExchangeError" + }, + { + "type": "reference", + "id": 1087, + "name": "AuthRetryableFetchError" + } + ] + }, + { + "id": 1, + "name": "GoTrueAdminApi", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 2, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 35, + "character": 2 + } + ], + "signatures": [ + { + "id": 3, + "name": "new GoTrueAdminApi", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 4, + "name": "__namedParameters", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 5, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 11, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 44, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 13, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 14, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 15, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 7, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 41, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 9, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 10, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 6, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 40, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [11, 7, 6] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 1, + "name": "default" + } + } + ] + }, + { + "id": 16, + "name": "mfa", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Contains all MFA administration methods." + }, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 916, + "name": "GoTrueAdminMFAApi" + } + }, + { + "id": 44, + "name": "createUser", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 152, + "character": 8 + } + ], + "signatures": [ + { + "id": 45, + "name": "createUser", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a new user.\nThis function should only be called on a server. Never expose your `service_role` key in the browser." + }, + "parameters": [ + { + "id": 46, + "name": "attributes", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 596, + "name": "AdminUserAttributes" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 68, + "name": "deleteUser", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 268, + "character": 8 + } + ], + "signatures": [ + { + "id": 69, + "name": "deleteUser", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Delete a user. Requires a `service_role` key." + }, + "parameters": [ + { + "id": 70, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The user id you want to remove." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 71, + "name": "shouldSoftDelete", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If true, then the user will be soft-deleted from the auth schema.\nDefaults to false for backward compatibility.\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 41, + "name": "generateLink", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 118, + "character": 8 + } + ], + "signatures": [ + { + "id": 42, + "name": "generateLink", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Generates email links and OTPs to be sent via a custom email provider." + }, + "parameters": [ + { + "id": 43, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 760, + "name": "GenerateLinkParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 761, + "name": "GenerateLinkResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 61, + "name": "getUserById", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 221, + "character": 8 + } + ], + "signatures": [ + { + "id": 62, + "name": "getUserById", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get user by id." + }, + "parameters": [ + { + "id": 63, + "name": "uid", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The user's unique identifier\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 34, + "name": "inviteUserByEmail", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 85, + "character": 8 + } + ], + "signatures": [ + { + "id": 35, + "name": "inviteUserByEmail", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends an invite link to an email address." + }, + "parameters": [ + { + "id": 36, + "name": "email", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The email address of the user." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 37, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Additional options to be included when inviting.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 38, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 39, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store additional metadata about the user. This maps to the `auth.users.user_metadata` column." + }, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 89, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 40, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The URL which will be appended to the email link sent to the user's email address. Once clicked the user will end up on this URL." + }, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 92, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [39, 40] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 47, + "name": "listUsers", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 174, + "character": 8 + } + ], + "signatures": [ + { + "id": 48, + "name": "listUsers", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of users.", + "text": "This function should only be called on a server. Never expose your `service_role` key in the browser." + }, + "parameters": [ + { + "id": 49, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "An object which supports `page` and `perPage` as numbers, to alter the paginated results.\n" + }, + "type": { + "type": "reference", + "id": 941, + "name": "PageParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 50, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 51, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 177, + "character": 8 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 52, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 54, + "name": "aud", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 177, + "character": 31 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 53, + "name": "users", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 177, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 567, + "name": "User" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [54, 53] + } + ] + } + }, + { + "type": "reference", + "id": 934, + "name": "Pagination" + } + ] + } + }, + { + "id": 55, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 177, + "character": 59 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [51, 55] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 56, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 57, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 178, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 58, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 59, + "name": "users", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 178, + "character": 16 + } + ], + "type": { + "type": "tuple" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [59] + } + ] + } + } + }, + { + "id": 60, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 178, + "character": 29 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [57, 60] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 27, + "name": "signOut", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 60, + "character": 8 + } + ], + "signatures": [ + { + "id": 28, + "name": "signOut", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Removes a logged-in session." + }, + "parameters": [ + { + "id": 29, + "name": "jwt", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A valid, logged-in JWT." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 30, + "name": "scope", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The logout sope.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + }, + "defaultValue": "'global'" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 31, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 32, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 63, + "character": 15 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 33, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 63, + "character": 27 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 957, + "name": "AuthError" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [32, 33] + } + ] + } + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 64, + "name": "updateUserById", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 243, + "character": 8 + } + ], + "signatures": [ + { + "id": 65, + "name": "updateUserById", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Updates the user data." + }, + "parameters": [ + { + "id": 66, + "name": "uid", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 67, + "name": "attributes", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The data you want to update.\n\nThis function should only be called on a server. Never expose your `service_role` key in the browser.\n" + }, + "type": { + "type": "reference", + "id": 596, + "name": "AdminUserAttributes" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [2] + }, + { + "title": "Properties", + "kind": 1024, + "children": [16] + }, + { + "title": "Methods", + "kind": 2048, + "children": [44, 68, 41, 61, 34, 47, 27, 64] + } + ], + "sources": [ + { + "fileName": "src/GoTrueAdminApi.ts", + "line": 25, + "character": 21 + } + ] + }, + { + "id": 78, + "name": "GoTrueClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 80, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 167, + "character": 2 + } + ], + "signatures": [ + { + "id": 81, + "name": "new GoTrueClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "shortText": "Create a new client for use in the browser." + }, + "parameters": [ + { + "id": 82, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 440, + "name": "GoTrueClientOptions" + } + } + ], + "type": { + "type": "reference", + "id": 78, + "name": "default" + } + } + ] + }, + { + "id": 84, + "name": "admin", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Namespace for the GoTrue admin methods.\nThese methods should only be used in a trusted server-side environment." + }, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 1, + "name": "default" + } + }, + { + "id": 85, + "name": "mfa", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Namespace for the MFA methods." + }, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 119, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 871, + "name": "GoTrueMFAApi" + } + }, + { + "id": 131, + "name": "exchangeCodeForSession", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 485, + "character": 8 + } + ], + "signatures": [ + { + "id": 132, + "name": "exchangeCodeForSession", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Log in an existing user by exchanging an Auth Code issued during the PKCE flow." + }, + "parameters": [ + { + "id": 133, + "name": "authCode", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 484, + "name": "AuthTokenResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 156, + "name": "getSession", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 810, + "character": 8 + } + ], + "signatures": [ + { + "id": 157, + "name": "getSession", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns the session, refreshing it if necessary.\nThe session returned can be null if the session is not detected which can happen in the event a user is not signed-in or has logged out." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 158, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 159, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 901, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 160, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 161, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 902, + "character": 14 + } + ], + "type": { + "type": "reference", + "id": 530, + "name": "Session" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [161] + } + ] + } + } + }, + { + "id": 162, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 904, + "character": 12 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [159, 162] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 163, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 164, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 907, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 165, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 166, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 908, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [166] + } + ] + } + } + }, + { + "id": 167, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 910, + "character": 12 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [164, 167] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 168, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 169, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 913, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 170, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 171, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 914, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [171] + } + ] + } + } + }, + { + "id": 172, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 916, + "character": 12 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [169, 172] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 219, + "name": "getUser", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1018, + "character": 8 + } + ], + "signatures": [ + { + "id": 220, + "name": "getUser", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Gets the current user details if there is an existing session." + }, + "parameters": [ + { + "id": 221, + "name": "jwt", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Takes in an optional access token jwt. If no jwt is provided, getUser() will attempt to get the jwt from the current session.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 118, + "name": "initialize", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 250, + "character": 8 + } + ], + "signatures": [ + { + "id": 119, + "name": "initialize", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Initializes the client session either from the url or from storage.\nThis method is automatically called when instantiating the client, but should also be called\nmanually when checking for an error from an auth redirect (oauth, magiclink, password recovery, etc)." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 924, + "name": "InitializeResult" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 295, + "name": "onAuthStateChange", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1412, + "character": 2 + } + ], + "signatures": [ + { + "id": 296, + "name": "onAuthStateChange", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Receive a notification every time an auth event happens." + }, + "parameters": [ + { + "id": 297, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A callback function to be invoked when an auth event happens.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 298, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 299, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 300, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 430, + "name": "AuthChangeEvent" + } + }, + { + "id": 301, + "name": "session", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 530, + "name": "Session" + } + ] + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + ] + } + } + ] + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 302, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 303, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1415, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 304, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 305, + "name": "subscription", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1415, + "character": 12 + } + ], + "type": { + "type": "reference", + "id": 606, + "name": "Subscription" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [305] + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [303] + } + ] + } + } + } + ] + }, + { + "id": 149, + "name": "reauthenticate", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 729, + "character": 8 + } + ], + "signatures": [ + { + "id": 150, + "name": "reauthenticate", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends a reauthentication OTP to the user's email or phone number.\nRequires the user to be signed-in." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 456, + "name": "AuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 256, + "name": "refreshSession", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1207, + "character": 8 + } + ], + "signatures": [ + { + "id": 257, + "name": "refreshSession", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns a new session, regardless of expiry status.\nTakes in an optional current session. If not passed in, then refreshSession() will attempt to retrieve it from getSession().\nIf the current session's refresh token is invalid, an error will be thrown." + }, + "parameters": [ + { + "id": 258, + "name": "currentSession", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The current session. If passed in, it must contain a refresh token.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 259, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 260, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1207, + "character": 42 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [260] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 456, + "name": "AuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 153, + "name": "resend", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 764, + "character": 8 + } + ], + "signatures": [ + { + "id": 154, + "name": "resend", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Resends an existing signup confirmation email, email change email, SMS OTP or phone change OTP." + }, + "parameters": [ + { + "id": 155, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 708, + "name": "ResendParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 469, + "name": "AuthOtpResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 309, + "name": "resetPasswordForEmail", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1468, + "character": 8 + } + ], + "signatures": [ + { + "id": 310, + "name": "resetPasswordForEmail", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends a password reset request to an email address.\nThis method supports the PKCE flow." + }, + "parameters": [ + { + "id": 311, + "name": "email", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The email address of the user." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 312, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 313, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 315, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site.\n" + }, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1472, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 314, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The URL to send the user to after they click the password reset link." + }, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1471, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [315, 314] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 316, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 317, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1476, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 318, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + } + }, + { + "id": 319, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1477, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [317, 319] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 320, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 321, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1479, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 322, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1479, + "character": 20 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [321, 322] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 244, + "name": "setSession", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1132, + "character": 8 + } + ], + "signatures": [ + { + "id": 245, + "name": "setSession", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session.\nIf the refresh token or access token in the current session is invalid, an error will be thrown." + }, + "parameters": [ + { + "id": 246, + "name": "currentSession", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The current session that minimally contains an access token and refresh token.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 247, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 248, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1133, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 249, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1134, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [248, 249] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 456, + "name": "AuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 137, + "name": "signInWithIdToken", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 525, + "character": 8 + } + ], + "signatures": [ + { + "id": 138, + "name": "signInWithIdToken", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Allows signing in with an OIDC ID token. The authentication provider used\nshould be enabled and configured." + }, + "parameters": [ + { + "id": 139, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 677, + "name": "SignInWithIdTokenCredentials" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 484, + "name": "AuthTokenResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 128, + "name": "signInWithOAuth", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 471, + "character": 8 + } + ], + "signatures": [ + { + "id": 129, + "name": "signInWithOAuth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Log in an existing user via a third-party provider.\nThis method supports the PKCE flow." + }, + "parameters": [ + { + "id": 130, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 665, + "name": "SignInWithOAuthCredentials" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 497, + "name": "OAuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 140, + "name": "signInWithOtp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 582, + "character": 8 + } + ], + "signatures": [ + { + "id": 141, + "name": "signInWithOtp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Log in a user using magiclink or a one-time password (OTP).", + "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\nThis method supports PKCE when an email is passed.\n" + }, + "parameters": [ + { + "id": 142, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 647, + "name": "SignInWithPasswordlessCredentials" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 469, + "name": "AuthOtpResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 125, + "name": "signInWithPassword", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 415, + "character": 8 + } + ], + "signatures": [ + { + "id": 126, + "name": "signInWithPassword", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Log in an existing user with an email and password or phone and password.", + "text": "Be aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or that the\nemail/phone and password combination is wrong or that the account can only\nbe accessed via social login.\n" + }, + "parameters": [ + { + "id": 127, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 633, + "name": "SignInWithPasswordCredentials" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 484, + "name": "AuthTokenResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 146, + "name": "signInWithSSO", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 700, + "character": 8 + } + ], + "signatures": [ + { + "id": 147, + "name": "signInWithSSO", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Attempts a single-sign on using an enterprise Identity Provider. A\nsuccessful SSO attempt will redirect the current page to the identity\nprovider authorization page. The redirect URL is implementation and SSO\nprotocol specific.", + "text": "You can use it by providing a SSO domain. Typically you can extract this\ndomain by asking users for their email address. If this domain is\nregistered on the Auth instance the redirect will use that organization's\ncurrently active SSO Identity Provider for the login.\n\nIf you have built an organization-specific login page, you can use the\norganization's SSO Identity Provider UUID directly instead.\n" + }, + "parameters": [ + { + "id": 148, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 722, + "name": "SignInWithSSO" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 510, + "name": "SSOResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 285, + "name": "signOut", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1372, + "character": 8 + } + ], + "signatures": [ + { + "id": 286, + "name": "signOut", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Inside a browser context, `signOut()` will remove the logged in user from the browser session\nand log them out - removing all items from localstorage and then trigger a `\"SIGNED_OUT\"` event.", + "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n\nIf using others scope, no `SIGNED_OUT` event is fired!\n" + }, + "parameters": [ + { + "id": 287, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 945, + "name": "SignOut" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 288, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 289, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1372, + "character": 67 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 957, + "name": "AuthError" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [289] + } + ] + } + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 122, + "name": "signUp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 336, + "character": 8 + } + ], + "signatures": [ + { + "id": 123, + "name": "signUp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a new user.", + "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\nThis method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled.\n", + "returns": "A logged-in session if the server has \"autoconfirm\" ON" + }, + "parameters": [ + { + "id": 124, + "name": "credentials", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 616, + "name": "SignUpWithPasswordCredentials" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 456, + "name": "AuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 371, + "name": "startAutoRefresh", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1861, + "character": 8 + } + ], + "signatures": [ + { + "id": 372, + "name": "startAutoRefresh", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts an auto-refresh process in the background. The session is checked\nevery few seconds. Close to the time of expiration a process is started to\nrefresh the session. If refreshing fails it will be retried for as long as\nnecessary.", + "text": "If you set the {@link GoTrueClientOptions#autoRefreshToken} you don't need\nto call this function, it will be called for you.\n\nOn browsers the refresh process works only when the tab/window is in the\nforeground to conserve resources as well as prevent race conditions and\nflooding auth with requests. If you call this method any managed\nvisibility change callback will be removed and you must manage visibility\nchanges on your own.\n\nOn non-browser platforms the refresh process works *continuously* in the\nbackground, which may not be desirable. You should hook into your\nplatform's foreground indication mechanism and call these methods\nappropriately to conserve resources.\n\n{@see #stopAutoRefresh}\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 373, + "name": "stopAutoRefresh", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1874, + "character": 8 + } + ], + "signatures": [ + { + "id": 374, + "name": "stopAutoRefresh", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops an active auto refresh process running in the background (if any).", + "text": "If you call this method any managed visibility change callback will be\nremoved and you must manage visibility changes on your own.\n\nSee {@link #startAutoRefresh} for more details.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 225, + "name": "updateUser", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1064, + "character": 8 + } + ], + "signatures": [ + { + "id": 226, + "name": "updateUser", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Updates user data for a logged in user." + }, + "parameters": [ + { + "id": 227, + "name": "attributes", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 590, + "name": "UserAttributes" + } + }, + { + "id": 228, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 229, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 230, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 1067, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [230] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 519, + "name": "UserResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 143, + "name": "verifyOtp", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 637, + "character": 8 + } + ], + "signatures": [ + { + "id": 144, + "name": "verifyOtp", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Log in a user given a User supplied OTP received via mobile." + }, + "parameters": [ + { + "id": 145, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 686, + "name": "VerifyOtpParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 456, + "name": "AuthResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [80] + }, + { + "title": "Properties", + "kind": 1024, + "children": [84, 85] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 131, 156, 219, 118, 295, 149, 256, 153, 309, 244, 137, 128, 140, 125, 146, 285, 122, + 371, 373, 225, 143 + ] + } + ], + "sources": [ + { + "fileName": "src/GoTrueClient.ts", + "line": 106, + "character": 21 + } + ] + }, + { + "id": 420, + "name": "NavigatorLockAcquireTimeoutError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 421, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 21, + "character": 2 + } + ], + "signatures": [ + { + "id": 422, + "name": "new NavigatorLockAcquireTimeoutError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 423, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 420, + "name": "NavigatorLockAcquireTimeoutError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + }, + { + "id": 424, + "name": "isAcquireTimeout", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 19, + "character": 18 + } + ], + "type": { + "type": "literal", + "value": true + }, + "defaultValue": "true" + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [421] + }, + { + "title": "Properties", + "kind": 1024, + "children": [424] + } + ], + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 18, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ] + }, + { + "id": 539, + "name": "AMREntry", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "comment": { + "shortText": "An authentication methord reference (AMR) entry.", + "text": "An entry designates what method was used by the user to verify their\nidentity and at what time.\n", + "tags": [ + { + "tag": "see", + "text": "{@link GoTrueMFAApi#getAuthenticatorAssuranceLevel}.\n" + } + ] + }, + "children": [ + { + "id": 540, + "name": "method", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Authentication method name." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 219, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 541, + "name": "timestamp", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Timestamp when the method was successfully used. Represents number of\nseconds since 1st January 1970 (UNIX epoch) in UTC." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 225, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [540, 541] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 217, + "character": 17 + } + ] + }, + { + "id": 596, + "name": "AdminUserAttributes", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 598, + "name": "app_metadata", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's application specific metadata. This maps to the `auth.users.app_metadata` column.", + "text": "Only a service role can modify.\n\nThe `app_metadata` should be a JSON object that includes app-specific info, such as identity providers, roles, and other\naccess control information.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 354, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 601, + "name": "ban_duration", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines how long a user is banned for.", + "text": "The format for the ban duration follows a strict sequence of decimal numbers with a unit suffix.\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\n\nFor example, some possible durations include: '300ms', '2h45m'.\n\nSetting the ban duration to 'none' lifts the ban on the user.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 380, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 604, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's email." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 305, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "Omit.email" + } + }, + { + "id": 599, + "name": "email_confirm", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Confirms the user's email address if set to true.", + "text": "Only a service role can modify.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 361, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 603, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", + "text": "Call reauthenticate() to obtain the nonce first.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 322, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "Omit.nonce" + } + }, + { + "id": 602, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 315, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "Omit.password" + } + }, + { + "id": 605, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's phone." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 310, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "Omit.phone" + } + }, + { + "id": 600, + "name": "phone_confirm", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Confirms the user's phone number if set to true.", + "text": "Only a service role can modify.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 368, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 597, + "name": "user_metadata", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `user_metadata` should be a JSON object that includes user-specific info, such as their first and last name.\n\nNote: When using the GoTrueAdminApi and wanting to modify a user's metadata,\nthis attribute is used instead of UserAttributes data.\n\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 344, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 333, + "character": 17 + } + ], + "extendedTypes": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 590, + "name": "UserAttributes" + }, + { + "type": "literal", + "value": "data" + } + ], + "qualifiedName": "Omit", + "package": "typescript", + "name": "Omit" + } + ] + }, + { + "id": 553, + "name": "Factor", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "comment": { + "shortText": "A MFA factor.", + "tags": [ + { + "tag": "see", + "text": "{@link GoTrueMFAApi#enroll}" + }, + { + "tag": "see", + "text": "{@link GoTrueMFAApi#listFactors}" + }, + { + "tag": "see", + "text": "{@link GoTrueMFAAdminApi#listFactors}\n" + } + ] + }, + "children": [ + { + "id": 558, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 263, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 556, + "name": "factor_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Type of factor. Only `totp` supported with this version but may change in\nfuture versions." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 258, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 555, + "name": "friendly_name", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Friendly name of the factor, useful to disambiguate between multiple factors." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 252, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 554, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 249, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 557, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Factor's status." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 261, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "verified" + }, + { + "type": "literal", + "value": "unverified" + } + ] + } + }, + { + "id": 559, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 264, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [558, 556, 555, 554, 557, 559] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 247, + "character": 17 + } + ] + }, + { + "id": 757, + "name": "GenerateLinkOptions", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 758, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 668, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 759, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The URL which will be appended to the email link generated." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 670, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [758, 759] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 662, + "character": 17 + } + ] + }, + { + "id": 916, + "name": "GoTrueAdminMFAApi", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "comment": { + "shortText": "Contains the full multi-factor authentication administration API.", + "tags": [ + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "children": [ + { + "id": 920, + "name": "deleteFactor", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 921, + "name": "deleteFactor", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Deletes a factor on a user. This will log the user out of all active\nsessions if the deleted factor was verified.", + "tags": [ + { + "tag": "see", + "text": "{@link GoTrueMFAApi#unenroll}\n" + }, + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "parameters": [ + { + "id": 922, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 900, + "name": "AuthMFAAdminDeleteFactorParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 891, + "name": "AuthMFAAdminDeleteFactorResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 917, + "name": "listFactors", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 918, + "name": "listFactors", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Lists all factors associated to a user." + }, + "parameters": [ + { + "id": 919, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 913, + "name": "AuthMFAAdminListFactorsParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 904, + "name": "AuthMFAAdminListFactorsResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "kind": 2048, + "children": [920, 917] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1000, + "character": 17 + } + ] + }, + { + "id": 871, + "name": "GoTrueMFAApi", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "comment": { + "shortText": "Contains the full multi-factor authentication API." + }, + "children": [ + { + "id": 875, + "name": "challenge", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 876, + "name": "challenge", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Prepares a challenge used to verify that a user has access to a MFA\nfactor." + }, + "parameters": [ + { + "id": 877, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 795, + "name": "MFAChallengeParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 839, + "name": "AuthMFAChallengeResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 884, + "name": "challengeAndVerify", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 885, + "name": "challengeAndVerify", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Helper method which creates a challenge and immediately uses the given code to verify against it thereafter. The verification code is\nprovided by the user by entering a code seen in their authenticator app." + }, + "parameters": [ + { + "id": 886, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 798, + "name": "MFAChallengeAndVerifyParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 802, + "name": "AuthMFAVerifyResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 872, + "name": "enroll", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 873, + "name": "enroll", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the enrollment process for a new Multi-Factor Authentication (MFA)\nfactor. This method creates a new `unverified` factor.\nTo verify a factor, present the QR code or secret to the user and ask them to add it to their\nauthenticator app.\nThe user has to enter the code from their authenticator app to verify it.", + "text": "Upon verifying a factor, all other sessions are logged out and the current session's authenticator level is promoted to `aal2`.\n\n" + }, + "parameters": [ + { + "id": 874, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 782, + "name": "MFAEnrollParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 815, + "name": "AuthMFAEnrollResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 889, + "name": "getAuthenticatorAssuranceLevel", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 890, + "name": "getAuthenticatorAssuranceLevel", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns the Authenticator Assurance Level (AAL) for the active session.", + "text": "- `aal1` (or `null`) means that the user's identity has been verified only\nwith a conventional login (email+password, OTP, magic link, social login,\netc.).\n- `aal2` means that the user's identity has been verified both with a conventional login and at least one MFA factor.\n\nAlthough this method returns a promise, it's fairly quick (microseconds)\nand rarely uses the network. You can use this to check whether the current\nuser needs to be shown a screen to verify their MFA factors.\n\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 860, + "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 887, + "name": "listFactors", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 888, + "name": "listFactors", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns the list of MFA factors enabled for this user.", + "tags": [ + { + "tag": "see", + "text": "{@link GoTrueMFAApi#enroll}" + }, + { + "tag": "see", + "text": "{@link GoTrueMFAApi#getAuthenticatorAssuranceLevel}" + }, + { + "tag": "see", + "text": "{@link GoTrueClient#getUser}\n\n" + } + ] + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 849, + "name": "AuthMFAListFactorsResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 881, + "name": "unenroll", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 882, + "name": "unenroll", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Unenroll removes a MFA factor.\nA user has to have an `aal2` authenticator level in order to unenroll a `verified` factor." + }, + "parameters": [ + { + "id": 883, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 787, + "name": "MFAUnenrollParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 830, + "name": "AuthMFAUnenrollResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 878, + "name": "verify", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "signatures": [ + { + "id": 879, + "name": "verify", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Verifies a code against a challenge. The verification code is\nprovided by the user by entering a code seen in their authenticator app." + }, + "parameters": [ + { + "id": 880, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 790, + "name": "MFAVerifyParams" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 802, + "name": "AuthMFAVerifyResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "kind": 2048, + "children": [875, 884, 872, 889, 887, 881, 878] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 887, + "character": 17 + } + ] + }, + { + "id": 530, + "name": "Session", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 533, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The access token jwt. It is recommended to set the JWT_EXPIRY to a shorter expiry value." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 192, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 536, + "name": "expires_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A timestamp of when the token will expire. Returned when a login is confirmed." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 204, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 535, + "name": "expires_in", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The number of seconds until the token expires (since it was issued). Returned when a login is confirmed." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 200, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 532, + "name": "provider_refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The oauth provider refresh token. If present, this can be used to refresh the provider_token via the oauth provider's API.\nNot all oauth providers return a provider refresh token. If the provider_refresh_token is missing, please refer to the oauth provider's documentation for information on how to obtain the provider refresh token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 188, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 531, + "name": "provider_token", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The oauth provider token. If present, this can be used to make external API requests to the oauth provider used." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 183, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 534, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A one-time used refresh token that never expires." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 196, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 537, + "name": "token_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 205, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 538, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 206, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [533, 536, 535, 532, 531, 534, 537, 538] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 179, + "character": 17 + } + ] + }, + { + "id": 606, + "name": "Subscription", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 607, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The subscriber UUID. This will be set by the client." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 387, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 608, + "name": "callback", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 391, + "character": 2 + } + ], + "signatures": [ + { + "id": 609, + "name": "callback", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "The function to call every time there is an event. eg: (eventName) => {}" + }, + "parameters": [ + { + "id": 610, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 430, + "name": "AuthChangeEvent" + } + }, + { + "id": 611, + "name": "session", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 530, + "name": "Session" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 612, + "name": "unsubscribe", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 395, + "character": 2 + } + ], + "signatures": [ + { + "id": 613, + "name": "unsubscribe", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Call this to remove the listener." + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [607] + }, + { + "title": "Methods", + "kind": 2048, + "children": [608, 612] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 383, + "character": 17 + } + ] + }, + { + "id": 614, + "name": "UpdatableFactorAttributes", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 615, + "name": "friendlyName", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 399, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [615] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 398, + "character": 17 + } + ] + }, + { + "id": 567, + "name": "User", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 578, + "name": "action_link", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 287, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 569, + "name": "app_metadata", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 278, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 560, + "name": "UserAppMetadata" + } + }, + { + "id": 571, + "name": "aud", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 280, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 572, + "name": "confirmation_sent_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 281, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 582, + "name": "confirmed_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 291, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 581, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 290, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 579, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 288, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 574, + "name": "email_change_sent_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 283, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 583, + "name": "email_confirmed_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 292, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 589, + "name": "factors", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 298, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 553, + "name": "Factor" + } + } + }, + { + "id": 568, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 277, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 588, + "name": "identities", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 297, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 542, + "name": "UserIdentity" + } + } + }, + { + "id": 577, + "name": "invited_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 286, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 585, + "name": "last_sign_in_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 294, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 575, + "name": "new_email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 284, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 576, + "name": "new_phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 285, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 580, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 289, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 584, + "name": "phone_confirmed_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 293, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 573, + "name": "recovery_sent_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 282, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 586, + "name": "role", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 295, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 587, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 296, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 570, + "name": "user_metadata", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 279, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 564, + "name": "UserMetadata" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 578, 569, 571, 572, 582, 581, 579, 574, 583, 589, 568, 588, 577, 585, 575, 576, 580, + 584, 573, 586, 587, 570 + ] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 276, + "character": 17 + } + ] + }, + { + "id": 560, + "name": "UserAppMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 561, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 268, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [561] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 267, + "character": 17 + } + ], + "indexSignature": { + "id": 562, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 563, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + }, + { + "id": 590, + "name": "UserAttributes", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 595, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 330, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 591, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's email." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 305, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 594, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", + "text": "Call reauthenticate() to obtain the nonce first.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 322, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 593, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 315, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 592, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's phone." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 310, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [595, 591, 594, 593, 592] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 301, + "character": 17 + } + ] + }, + { + "id": 542, + "name": "UserIdentity", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 550, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 235, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 543, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 229, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 545, + "name": "identity_data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 231, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 546, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 547, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 548, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 551, + "name": "last_sign_in_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 236, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 549, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 234, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 552, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 237, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 544, + "name": "user_id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 230, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [550, 543, 545, 551, 549, 552, 544] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 228, + "character": 17 + } + ] + }, + { + "id": 564, + "name": "UserMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 272, + "character": 17 + } + ], + "indexSignature": { + "id": 565, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 566, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + }, + { + "id": 695, + "name": "VerifyEmailOtpParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 696, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email address." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 558, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 699, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 563, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 700, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 702, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 571, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 701, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they are confirmed." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 565, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [702, 701] + } + ] + } + } + }, + { + "id": 697, + "name": "token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The otp sent to the user's email address." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 560, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 698, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 562, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [696, 699, 697, 698] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 556, + "character": 17 + } + ] + }, + { + "id": 687, + "name": "VerifyMobileOtpParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 691, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 544, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 692, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 694, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 553, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 693, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they are confirmed." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 546, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [694, 693] + } + ] + } + } + }, + { + "id": 688, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's phone number." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 539, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 689, + "name": "token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The otp sent to the user's phone number." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 541, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 690, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 543, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 706, + "name": "MobileOtpType" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [691, 688, 689, 690] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 537, + "character": 17 + } + ] + }, + { + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, + "character": 17 + } + ] + }, + { + "id": 430, + "name": "AuthChangeEvent", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 28, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "INITIAL_SESSION" + }, + { + "type": "literal", + "value": "PASSWORD_RECOVERY" + }, + { + "type": "literal", + "value": "SIGNED_IN" + }, + { + "type": "literal", + "value": "SIGNED_OUT" + }, + { + "type": "literal", + "value": "TOKEN_REFRESHED" + }, + { + "type": "literal", + "value": "USER_UPDATED" + }, + { + "type": "reference", + "id": 429, + "name": "AuthChangeEventMFA" + } + ] + } + }, + { + "id": 429, + "name": "AuthChangeEventMFA", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 26, + "character": 12 + } + ], + "type": { + "type": "literal", + "value": "MFA_CHALLENGE_VERIFIED" + } + }, + { + "id": 664, + "name": "AuthFlowType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 505, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "implicit" + }, + { + "type": "literal", + "value": "pkce" + } + ] + } + }, + { + "id": 900, + "name": "AuthMFAAdminDeleteFactorParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 966, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 901, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 902, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the MFA factor to delete." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 968, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 903, + "name": "userId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the user whose factor is being deleted." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 971, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [902, 903] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 966, + "character": 45 + } + ] + } + } + }, + { + "id": 891, + "name": "AuthMFAAdminDeleteFactorResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 953, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 892, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 893, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 955, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 894, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 895, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor that was successfully deleted." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 957, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [895] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 955, + "character": 12 + } + ] + } + } + }, + { + "id": 896, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 959, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [893, 896] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 954, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 897, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 898, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 961, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 899, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 961, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [898, 899] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 961, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 913, + "name": "AuthMFAAdminListFactorsParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 990, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 914, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 915, + "name": "userId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the user." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 992, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [915] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 990, + "character": 44 + } + ] + } + } + }, + { + "id": 904, + "name": "AuthMFAAdminListFactorsResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "expermental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 977, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 905, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 906, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 979, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 907, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 908, + "name": "factors", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "All factors attached to the user." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 981, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 553, + "name": "Factor" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [908] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 979, + "character": 12 + } + ] + } + } + }, + { + "id": 909, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 983, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [906, 909] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 978, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 910, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 911, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 985, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 912, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 985, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [911, 912] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 985, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 839, + "name": "AuthMFAChallengeResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 830, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 840, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 841, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 832, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 842, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 844, + "name": "expires_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Timestamp in UNIX seconds when this challenge will no longer be usable." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 837, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 843, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the newly created challenge." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 834, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [844, 843] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 832, + "character": 12 + } + ] + } + } + }, + { + "id": 845, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 839, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [841, 845] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 831, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 846, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 847, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 841, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 848, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 841, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [847, 848] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 841, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 815, + "name": "AuthMFAEnrollResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 787, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 816, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 817, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 789, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 818, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 819, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor that was just enrolled (in an unverified state)." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 791, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 821, + "name": "totp", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "TOTP enrollment information." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 797, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 822, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 823, + "name": "qr_code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Contains a QR code encoding the authenticator URI. You can\nconvert it to a URL by prepending `data:image/svg+xml;utf-8,` to\nthe value. Avoid logging this value to the console." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 801, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 824, + "name": "secret", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The TOTP secret (also encoded in the QR code). Show this secret\nin a password-style field to the user, in case they are unable to\nscan the QR code. Avoid logging this value to the console." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 806, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 825, + "name": "uri", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The authenticator URI encoded within the QR code, should you need\nto use it. Avoid loggin this value to the console." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 810, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [823, 824, 825] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 797, + "character": 14 + } + ] + } + } + }, + { + "id": 820, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Type of MFA factor. Only `totp` supported for now." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 794, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": "totp" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [819, 821, 820] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 789, + "character": 12 + } + ] + } + } + }, + { + "id": 826, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 813, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [817, 826] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 788, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 827, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 828, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 816, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 829, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 817, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [828, 829] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 815, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 860, + "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 858, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 861, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 862, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 860, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 863, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 866, + "name": "currentAuthenticationMethods", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of all authentication methods attached to this session. Use\nthe information here to detect the last time a user verified a\nfactor, for example if implementing a step-up scenario." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 877, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 539, + "name": "AMREntry" + } + } + }, + { + "id": 864, + "name": "currentLevel", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Current AAL level of the session." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 862, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 859, + "name": "AuthenticatorAssuranceLevels" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 865, + "name": "nextLevel", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Next possible AAL level for the session. If the next level is higher\nthan the current one, the user should go through MFA.", + "tags": [ + { + "tag": "see", + "text": "{@link GoTrueMFAApi#challenge}\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 870, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 859, + "name": "AuthenticatorAssuranceLevels" + }, + { + "type": "literal", + "value": null + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [866, 864, 865] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 860, + "character": 12 + } + ] + } + } + }, + { + "id": 867, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 879, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [862, 867] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 859, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 868, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 869, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 881, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 870, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 881, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [869, 870] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 881, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 849, + "name": "AuthMFAListFactorsResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 843, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 850, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 851, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 845, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 852, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 853, + "name": "all", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "All available factors (verified and unverified)." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 847, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 553, + "name": "Factor" + } + } + }, + { + "id": 854, + "name": "totp", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Only verified TOTP factors. (A subset of `all`.)" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 850, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 553, + "name": "Factor" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [853, 854] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 845, + "character": 12 + } + ] + } + } + }, + { + "id": 855, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 852, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [851, 855] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 844, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 856, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 857, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 858, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [857, 858] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 830, + "name": "AuthMFAUnenrollResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 820, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 831, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 832, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 833, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 834, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor that was successfully unenrolled." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 824, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [834] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 12 + } + ] + } + } + }, + { + "id": 835, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 826, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [832, 835] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 821, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 836, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 837, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 838, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [837, 838] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 802, + "name": "AuthMFAVerifyResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 762, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 803, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 804, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 805, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 806, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "New access token (JWT) after successful verification." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 766, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 808, + "name": "expires_in", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Number of seconds in which the access token will expire." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 772, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 809, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Refresh token you can use to obtain new access tokens when expired." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 775, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 807, + "name": "token_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Type of token, typically `Bearer`." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 769, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 810, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Updated user profile." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 778, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [806, 808, 809, 807, 810] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 12 + } + ] + } + } + }, + { + "id": 811, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 780, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [804, 811] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 763, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 812, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 813, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 783, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 814, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 784, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [813, 814] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 782, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 469, + "name": "AuthOtpResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "shortText": "AuthOtpResponse is returned when OTP is used.", + "text": "{@see AuthRsponse}\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 104, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 470, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 471, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 472, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 475, + "name": "messageId", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 41 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 474, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 473, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [475, 474, 473] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 12 + } + ] + } + } + }, + { + "id": 476, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 107, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [471, 476] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 105, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 477, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 478, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 479, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 482, + "name": "messageId", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 41 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 481, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 480, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [482, 481, 480] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 12 + } + ] + } + } + }, + { + "id": 483, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 111, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [478, 483] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 109, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 456, + "name": "AuthResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 83, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 457, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 458, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 85, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 459, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 461, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 530, + "name": "Session" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 460, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 86, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 567, + "name": "User" + }, + { + "type": "literal", + "value": null + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [461, 460] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 85, + "character": 12 + } + ] + } + } + }, + { + "id": 462, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 89, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [458, 462] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 84, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 463, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 464, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 92, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 465, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 467, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 94, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 466, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 93, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [467, 466] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 92, + "character": 12 + } + ] + } + } + }, + { + "id": 468, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 96, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [464, 468] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 91, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 484, + "name": "AuthTokenResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 114, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 485, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 486, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 487, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 489, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 118, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 530, + "name": "Session" + } + }, + { + "id": 488, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 117, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [489, 488] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 12 + } + ] + } + } + }, + { + "id": 490, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 120, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [486, 490] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 115, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 491, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 492, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 493, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 495, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 125, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 494, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 124, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [495, 494] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 12 + } + ] + } + } + }, + { + "id": 496, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 127, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [492, 496] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 122, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 859, + "name": "AuthenticatorAssuranceLevels", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 856, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "aal1" + }, + { + "type": "literal", + "value": "aal2" + } + ] + } + }, + { + "id": 927, + "name": "CallRefreshTokenResult", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1031, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 928, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 930, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1034, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 929, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1033, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 530, + "name": "Session" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [930, 929] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1032, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 931, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 933, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1038, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + }, + { + "id": 932, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1037, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [933, 932] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1036, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + }, + { + "id": 751, + "name": "GenerateEmailChangeLinkParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 651, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 752, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 754, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 654, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 755, + "name": "newEmail", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's new email. Only required if type is 'email_change_current' or 'email_change_new'." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 658, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 756, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 659, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 757, + "name": "GenerateLinkOptions" + }, + { + "type": "literal", + "value": "redirectTo" + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 753, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 652, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "email_change_current" + }, + { + "type": "literal", + "value": "email_change_new" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [754, 755, 756, 753] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 651, + "character": 44 + } + ] + } + } + }, + { + "id": 741, + "name": "GenerateInviteOrMagiclinkParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 637, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 742, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 744, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 640, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 745, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 641, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 757, + "name": "GenerateLinkOptions" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "data" + }, + { + "type": "literal", + "value": "redirectTo" + } + ] + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 743, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 638, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [744, 745, 743] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 637, + "character": 46 + } + ] + } + } + }, + { + "id": 760, + "name": "GenerateLinkParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 673, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 735, + "name": "GenerateSignupLinkParams" + }, + { + "type": "reference", + "id": 741, + "name": "GenerateInviteOrMagiclinkParams" + }, + { + "type": "reference", + "id": 746, + "name": "GenerateRecoveryLinkParams" + }, + { + "type": "reference", + "id": 751, + "name": "GenerateEmailChangeLinkParams" + } + ] + } + }, + { + "id": 774, + "name": "GenerateLinkProperties", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "shortText": "The properties related to the email link generated" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 696, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 775, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 776, + "name": "action_link", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The email link to send to the user.\nThe action_link follows the following format: auth/v1/verify?type={verification_type}&token={hashed_token}&redirect_to={redirect_to}" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 701, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 777, + "name": "email_otp", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The raw email OTP.\nYou should send this in the email if you want your users to verify using an OTP instead of the action link." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 706, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 778, + "name": "hashed_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The hashed token appended to the action link." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 710, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 779, + "name": "redirect_to", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL appended to the action link." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 712, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 780, + "name": "verification_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The verification type that the email link is associated to." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 714, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 781, + "name": "GenerateLinkType" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [776, 777, 778, 779, 780] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 696, + "character": 37 + } + ] + } + } + }, + { + "id": 761, + "name": "GenerateLinkResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 679, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 762, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 763, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 681, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 764, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 765, + "name": "properties", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 682, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 774, + "name": "GenerateLinkProperties" + } + }, + { + "id": 766, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 683, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [765, 766] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 681, + "character": 12 + } + ] + } + } + }, + { + "id": 767, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 685, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [763, 767] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 680, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 768, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 769, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 688, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 770, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 771, + "name": "properties", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 689, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 772, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 690, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [771, 772] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 688, + "character": 12 + } + ] + } + } + }, + { + "id": 773, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 692, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [769, 773] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 687, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 781, + "name": "GenerateLinkType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 717, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change_current" + }, + { + "type": "literal", + "value": "email_change_new" + } + ] + } + }, + { + "id": 746, + "name": "GenerateRecoveryLinkParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 644, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 747, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 749, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 647, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 750, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 648, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 757, + "name": "GenerateLinkOptions" + }, + { + "type": "literal", + "value": "redirectTo" + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 748, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 645, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "recovery" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [749, 750, 748] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 644, + "character": 41 + } + ] + } + } + }, + { + "id": 735, + "name": "GenerateSignupLinkParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 630, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 736, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 738, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 632, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 740, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 634, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 757, + "name": "GenerateLinkOptions" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "data" + }, + { + "type": "literal", + "value": "redirectTo" + } + ] + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 739, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 633, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 737, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 631, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "signup" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [738, 740, 739, 737] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 630, + "character": 39 + } + ] + } + } + }, + { + "id": 440, + "name": "GoTrueClientOptions", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 54, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 441, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 449, + "name": "autoRefreshToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 454, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 448, + "name": "detectSessionInUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 452, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "Fetch" + } + }, + { + "id": 453, + "name": "flowType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 72, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 664, + "name": "AuthFlowType" + } + }, + { + "id": 443, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 58, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 444, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 58, + "character": 12 + } + ], + "indexSignature": { + "id": 445, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 446, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 455, + "name": "lock", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Provide your own locking mechanism based on the environment. By default no locking is done at this time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 431, + "name": "LockFunc" + } + }, + { + "id": 450, + "name": "persistSession", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 66, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 451, + "name": "storage", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 68, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 923, + "name": "SupportedStorage" + } + }, + { + "id": 447, + "name": "storageKey", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 60, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 442, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 56, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [449, 454, 448, 452, 453, 443, 455, 450, 451, 447, 442] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 54, + "character": 34 + } + ] + } + } + }, + { + "id": 924, + "name": "InitializeResult", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1029, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 925, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 926, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1029, + "character": 33 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 957, + "name": "AuthError" + }, + { + "type": "literal", + "value": null + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [926] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1029, + "character": 31 + } + ] + } + } + }, + { + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 798, + "name": "MFAChallengeAndVerifyParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 755, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 799, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 801, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Verification code provided by the user." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 759, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 800, + "name": "factorId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor being verified. Returned in enroll()." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 757, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [801, 800] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 755, + "character": 42 + } + ] + } + } + }, + { + "id": 795, + "name": "MFAChallengeParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 750, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 796, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 797, + "name": "factorId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor to be challenged. Returned in enroll()." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 752, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [797] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 750, + "character": 33 + } + ] + } + } + }, + { + "id": 782, + "name": "MFAEnrollParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 725, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 783, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 784, + "name": "factorType", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The type of factor being enrolled." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 727, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "totp" + } + }, + { + "id": 786, + "name": "friendlyName", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Human readable name assigned to the factor." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 731, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 785, + "name": "issuer", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Domain which the user is enrolled with." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 729, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [784, 786, 785] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 725, + "character": 30 + } + ] + } + } + }, + { + "id": 787, + "name": "MFAUnenrollParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 734, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 788, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 789, + "name": "factorId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor being unenrolled." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 736, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [789] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 734, + "character": 32 + } + ] + } + } + }, + { + "id": 790, + "name": "MFAVerifyParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 739, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 791, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 793, + "name": "challengeId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the challenge being verified. Returned in challenge()." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 744, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 794, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Verification code provided by the user." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 747, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 792, + "name": "factorId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor being verified. Returned in enroll()." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 741, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [793, 794, 792] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 739, + "character": 30 + } + ] + } + } + }, + { + "id": 706, + "name": "MobileOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 583, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "sms" + }, + { + "type": "literal", + "value": "phone_change" + } + ] + } + }, + { + "id": 497, + "name": "OAuthResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 498, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 499, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 132, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 500, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 501, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 133, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "Provider" + } + }, + { + "id": 502, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 134, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [501, 502] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 132, + "character": 12 + } + ] + } + } + }, + { + "id": 503, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 136, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [499, 503] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 131, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 504, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 505, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 139, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 506, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 507, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 140, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "Provider" + } + }, + { + "id": 508, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 141, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [507, 508] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 139, + "character": 12 + } + ] + } + } + }, + { + "id": 509, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 143, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [505, 509] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 138, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 941, + "name": "PageParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1048, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 942, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 943, + "name": "page", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The page number" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1050, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 944, + "name": "perPage", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Number of items returned per page" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1052, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [943, 944] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1048, + "character": 25 + } + ] + } + } + }, + { + "id": 934, + "name": "Pagination", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1041, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 935, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 937, + "name": "lastPage", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1044, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 936, + "name": "nextPage", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1043, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 938, + "name": "total", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1045, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [937, 936, 938] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1041, + "character": 25 + } + ], + "indexSignature": { + "id": 939, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 940, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 428, + "name": "Provider", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "shortText": "One of the providers supported by GoTrue." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 5, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "bitbucket" + }, + { + "type": "literal", + "value": "discord" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "literal", + "value": "figma" + }, + { + "type": "literal", + "value": "github" + }, + { + "type": "literal", + "value": "gitlab" + }, + { + "type": "literal", + "value": "google" + }, + { + "type": "literal", + "value": "kakao" + }, + { + "type": "literal", + "value": "keycloak" + }, + { + "type": "literal", + "value": "linkedin" + }, + { + "type": "literal", + "value": "notion" + }, + { + "type": "literal", + "value": "slack" + }, + { + "type": "literal", + "value": "spotify" + }, + { + "type": "literal", + "value": "twitch" + }, + { + "type": "literal", + "value": "twitter" + }, + { + "type": "literal", + "value": "workos" + }, + { + "type": "literal", + "value": "zoom" + } + ] + } + }, + { + "id": 708, + "name": "ResendParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 586, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 709, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 711, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 589, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 712, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 590, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 713, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 715, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 594, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 714, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 592, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [715, 714] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 590, + "character": 16 + } + ] + } + } + }, + { + "id": 710, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 588, + "character": 6 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 707, + "name": "EmailOtpType" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "email_change" + } + ] + } + ], + "qualifiedName": "Extract", + "package": "typescript", + "name": "Extract" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [711, 712, 710] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 587, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 716, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 719, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 600, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 720, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 721, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 602, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [721] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 600, + "character": 16 + } + ] + } + } + }, + { + "id": 718, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 599, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 717, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 598, + "character": 6 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 706, + "name": "MobileOtpType" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "sms" + }, + { + "type": "literal", + "value": "phone_change" + } + ] + } + ], + "qualifiedName": "Extract", + "package": "typescript", + "name": "Extract" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [719, 718, 717] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 597, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 510, + "name": "SSOResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 146, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 511, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 512, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 148, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 513, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 514, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "URL to open in a browser which will complete the sign-in flow by\ntaking the user to the identity provider's authentication flow.", + "text": "On browsers you can set the URL to `window.location.href` to take\nthe user to the authentication flow.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 156, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [514] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 148, + "character": 12 + } + ] + } + } + }, + { + "id": 515, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 158, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [512, 515] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 147, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 516, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 517, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 161, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 518, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 162, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [517, 518] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 160, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 677, + "name": "SignInWithIdTokenCredentials", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 521, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 678, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 681, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains an `at_hash` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 527, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 682, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains a `nonce` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 529, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 683, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 530, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 684, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 685, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 532, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [685] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 530, + "character": 12 + } + ] + } + } + }, + { + "id": 679, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Provider name or OIDC `iss` value identifying which provider should be used to verify the provided token. Supported names: `google`, `apple`, `azure`, `facebook`, `keycloak` (deprecated)." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 523, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "google" + }, + { + "type": "literal", + "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 680, + "name": "token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "OIDC ID token issued by the specified provider. The `iss` claim in the ID token must match the supplied provider. Some ID tokens contain an `at_hash` which require that you provide an `access_token` value to be accepted properly. If the token contains a `nonce` claim you must supply the nonce used to obtain the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 525, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [681, 682, 683, 679, 680] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 521, + "character": 43 + } + ] + } + } + }, + { + "id": 665, + "name": "SignInWithOAuthCredentials", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 506, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 666, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 668, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 509, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 669, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 672, + "name": "queryParams", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "An object of query params" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 515, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 673, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 515, + "character": 18 + } + ], + "indexSignature": { + "id": 674, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 675, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 670, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they are confirmed." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 511, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 671, + "name": "scopes", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A space-separated list of scopes granted to the OAuth application." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 513, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 676, + "name": "skipBrowserRedirect", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If set to true does not immediately redirect the current browser context to visit the OAuth authorization page for the provider." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 517, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [672, 670, 671, 676] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 509, + "character": 12 + } + ] + } + } + }, + { + "id": 667, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "One of the providers supported by GoTrue." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 508, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "Provider" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [668, 667] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 506, + "character": 41 + } + ] + } + } + }, + { + "id": 633, + "name": "SignInWithPasswordCredentials", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 439, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 634, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 635, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email address." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 442, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 637, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 445, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 638, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 639, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 447, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [639] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 445, + "character": 16 + } + ] + } + } + }, + { + "id": 636, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 444, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [635, 637, 636] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 440, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 640, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 643, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 455, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 644, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 646, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 463, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 645, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 461, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [646, 645] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 455, + "character": 16 + } + ] + } + } + }, + { + "id": 642, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 454, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 641, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's phone number." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 452, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [643, 642, 641] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 450, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 647, + "name": "SignInWithPasswordlessCredentials", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 467, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 648, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 649, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email address." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 470, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 650, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 471, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 651, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 655, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 483, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 654, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 481, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 652, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The redirect url embedded in the email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 473, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 653, + "name": "shouldCreateUser", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If set to false, this method will not create a new user. Defaults to true." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 475, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [655, 654, 652, 653] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 471, + "character": 16 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [649, 650] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 468, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 656, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 658, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 489, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 659, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 662, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 499, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 663, + "name": "channel", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Messaging channel to use (e.g. whatsapp or sms)" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 501, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "sms" + }, + { + "type": "literal", + "value": "whatsapp" + } + ] + } + }, + { + "id": 661, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 497, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 660, + "name": "shouldCreateUser", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If set to false, this method will not create a new user. Defaults to true." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 491, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [662, 663, 661, 660] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 489, + "character": 16 + } + ] + } + } + }, + { + "id": 657, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's phone number." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 488, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [658, 657] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 486, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 722, + "name": "SignInWithSSO", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 606, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 723, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 725, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 611, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 726, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 728, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 615, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 727, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 613, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [728, 727] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 611, + "character": 16 + } + ] + } + } + }, + { + "id": 724, + "name": "providerId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "UUID of the SSO provider to invoke single-sign on to." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 609, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [725, 724] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 607, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 729, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 730, + "name": "domain", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Domain name of the organization for which to invoke single-sign on." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 620, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 731, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 622, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 732, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 734, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 626, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 733, + "name": "redirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 624, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [734, 733] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 622, + "character": 16 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [730, 731] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 618, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 945, + "name": "SignOut", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 946, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 947, + "name": "scope", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines which sessions should be\nlogged out. Global means all\nsessions by this account. Local\nmeans only this session. Others\nmeans all other sessions except the\ncurrent one. When using others,\nthere is no sign-out event fired on\nthe current session!" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1066, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [947] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 22 + } + ] + } + } + }, + { + "id": 616, + "name": "SignUpWithPasswordCredentials", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 402, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 617, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 618, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's email address." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 405, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 620, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 408, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 621, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 624, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 418, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 623, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 416, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 622, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The redirect url embedded in the email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 410, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [624, 623, 622] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 408, + "character": 16 + } + ] + } + } + }, + { + "id": 619, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 407, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [618, 620, 619] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 403, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 625, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 628, + "name": "options", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 426, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 629, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 631, + "name": "captchaToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Verification token received when the user completes the captcha on the site. Requires a configured WhatsApp sender on Twilio" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 434, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 632, + "name": "channel", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Messaging channel to use (e.g. whatsapp or sms)" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 436, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "sms" + }, + { + "type": "literal", + "value": "whatsapp" + } + ] + } + }, + { + "id": 630, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 432, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [631, 632, 630] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 426, + "character": 16 + } + ] + } + } + }, + { + "id": 627, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 425, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 626, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's phone number." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 423, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [628, 627, 626] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 421, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 923, + "name": "SupportedStorage", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1027, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Storage", + "package": "typescript", + "name": "Storage" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "getItem" + }, + { + "type": "literal", + "value": "setItem" + }, + { + "type": "literal", + "value": "removeItem" + } + ] + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + ], + "name": "PromisifyMethods" + } + }, + { + "id": 519, + "name": "UserResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 165, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 520, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 521, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 167, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 522, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 523, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 168, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [523] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 167, + "character": 12 + } + ] + } + } + }, + { + "id": 524, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 170, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [521, 524] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 166, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 525, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 526, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 173, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 527, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 528, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 174, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [528] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 173, + "character": 12 + } + ] + } + } + }, + { + "id": 529, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 176, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [526, 529] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 172, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 686, + "name": "VerifyOtpParams", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 536, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 687, + "name": "VerifyMobileOtpParams" + }, + { + "type": "reference", + "id": 695, + "name": "VerifyEmailOtpParams" + }, + { + "type": "reference", + "id": 703, + "name": "VerifyTokenHashParams" + } + ] + } + }, + { + "id": 425, + "name": "lockInternals", + "kind": 32, + "kindString": "Variable", + "flags": { + "isConst": true + }, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 6, + "character": 13 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 426, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 427, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 10, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "!!(\n globalThis &&\n supportsLocalStorage() &&\n globalThis.localStorage &&\n globalThis.localStorage.getItem('supabase.gotrue-js.locks.debug') === 'true'\n )" + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [427] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 951, + "name": "isAuthApiError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 34, + "character": 16 + } + ], + "signatures": [ + { + "id": 952, + "name": "isAuthApiError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 953, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 964, + "name": "AuthApiError" + } + } + } + ] + }, + { + "id": 948, + "name": "isAuthError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 12, + "character": 16 + } + ], + "signatures": [ + { + "id": 949, + "name": "isAuthError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 950, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + } + ] + }, + { + "id": 954, + "name": "isAuthRetryableFetchError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 124, + "character": 16 + } + ], + "signatures": [ + { + "id": 955, + "name": "isAuthRetryableFetchError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 956, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 1087, + "name": "AuthRetryableFetchError" + } + } + } + ] + }, + { + "id": 412, + "name": "navigatorLock", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 53, + "character": 22 + } + ], + "signatures": [ + { + "id": 413, + "name": "navigatorLock", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Implements a global exclusive lock using the Navigator LockManager API. It\nis available on all browsers released after 2022-03-15 with Safari being the\nlast one to release support. If the API is not available, this function will\nthrow. Make sure you check availablility before configuring {@link\nGoTrueClient}.", + "text": "You can turn on debugging by setting the `supabase.gotrue-js.locks.debug`\nlocal storage item to `true`.\n\nInternals:\n\nSince the LockManager API does not preserve stack traces for the async\nfunction passed in the `request` method, a trick is used where acquiring the\nlock releases a previously started promise to run the operation in the `fn`\nfunction. The lock waits for that promise to finish (with or without error),\nwhile the function will finally wait for the result anyway.\n", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 414, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 415, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 416, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout. If 0 an error is thrown if\n the lock can't be acquired without waiting. If positive, the lock acquire\n will time out after so many milliseconds. An error is\n a timeout if it has `isAcquireTimeout` set to true." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 417, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to run once the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 418, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 419, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [964, 957, 1037, 1024, 1012, 1062, 1087, 1000, 977, 985, 1, 78, 420] + }, + { + "title": "Interfaces", + "kind": 256, + "children": [ + 539, 596, 553, 757, 916, 871, 530, 606, 614, 567, 560, 590, 542, 564, 695, 687, 703 + ] + }, + { + "title": "Type Aliases", + "kind": 4194304, + "children": [ + 430, 429, 664, 900, 891, 913, 904, 839, 815, 860, 849, 830, 802, 469, 456, 484, 859, 927, + 707, 751, 741, 760, 774, 761, 781, 746, 735, 440, 924, 431, 798, 795, 782, 787, 790, 706, + 497, 941, 934, 428, 708, 510, 677, 665, 633, 647, 722, 945, 616, 923, 519, 686 + ] + }, + { + "title": "Variables", + "kind": 32, + "children": [425] + }, + { + "title": "Functions", + "kind": 64, + "children": [951, 948, 954, 412] + } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/gotrue_dereferenced.json b/spec/enrichments/tsdoc_v2/gotrue_dereferenced.json index 1df0bc85cf5..0b98b630c72 100644 --- a/spec/enrichments/tsdoc_v2/gotrue_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/gotrue_dereferenced.json @@ -7,14 +7,14 @@ "originalName": "", "children": [ { - "id": 811, + "id": 964, "name": "AuthApiError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 812, + "id": 965, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -28,14 +28,14 @@ ], "signatures": [ { - "id": 813, + "id": 966, "name": "new AuthApiError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 814, + "id": 967, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -46,7 +46,7 @@ } }, { - "id": 815, + "id": 968, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -59,24 +59,24 @@ ], "type": { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 816, + "id": 969, "name": "status", "kind": 1024, "kindString": "Property", @@ -94,12 +94,12 @@ }, "overwrites": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } }, { - "id": 817, + "id": 970, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -113,7 +113,7 @@ ], "signatures": [ { - "id": 818, + "id": 971, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -121,14 +121,14 @@ "type": { "type": "reflection", "declaration": { - "id": 819, + "id": 972, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 821, + "id": 974, "name": "message", "kind": 1024, "kindString": "Property", @@ -147,7 +147,7 @@ "defaultValue": "..." }, { - "id": 820, + "id": 973, "name": "name", "kind": 1024, "kindString": "Property", @@ -166,7 +166,7 @@ "defaultValue": "..." }, { - "id": 822, + "id": 975, "name": "status", "kind": 1024, "kindString": "Property", @@ -189,11 +189,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 821, - 820, - 822 - ] + "children": [974, 973, 975] } ] } @@ -206,23 +202,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 812 - ] + "children": [965] }, { "title": "Properties", "kind": 1024, - "children": [ - 816 - ] + "children": [969] }, { "title": "Methods", "kind": 2048, - "children": [ - 817 - ] + "children": [970] } ], "sources": [ @@ -235,20 +225,20 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] }, { - "id": 804, + "id": 957, "name": "AuthError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 805, + "id": 958, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -262,14 +252,14 @@ ], "signatures": [ { - "id": 806, + "id": 959, "name": "new AuthError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 807, + "id": 960, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -280,7 +270,7 @@ } }, { - "id": 808, + "id": 961, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -295,7 +285,7 @@ ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" }, "overwrites": { @@ -310,7 +300,7 @@ } }, { - "id": 809, + "id": 962, "name": "status", "kind": 1024, "kindString": "Property", @@ -341,16 +331,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 805 - ] + "children": [958] }, { "title": "Properties", "kind": 1024, - "children": [ - 809 - ] + "children": [962] } ], "sources": [ @@ -371,30 +357,30 @@ "extendedBy": [ { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" }, { "type": "reference", - "id": 824, + "id": 977, "name": "AuthUnknownError" }, { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 873, + "id": 1038, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -402,20 +388,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 2 } ], "signatures": [ { - "id": 874, + "id": 1039, "name": "new AuthImplicitGrantRedirectError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 875, + "id": 1040, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -426,7 +412,7 @@ } }, { - "id": 876, + "id": 1041, "name": "details", "kind": 32768, "kindString": "Parameter", @@ -441,14 +427,14 @@ { "type": "reflection", "declaration": { - "id": 877, + "id": 1042, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 879, + "id": 1044, "name": "code", "kind": 1024, "kindString": "Property", @@ -456,7 +442,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 57 } ], @@ -466,7 +452,7 @@ } }, { - "id": 878, + "id": 1043, "name": "error", "kind": 1024, "kindString": "Property", @@ -474,7 +460,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 80, + "line": 86, "character": 42 } ], @@ -488,10 +474,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 879, - 878 - ] + "children": [1044, 1043] } ] } @@ -503,24 +486,24 @@ ], "type": { "type": "reference", - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 880, + "id": 1045, "name": "details", "kind": 1024, "kindString": "Property", @@ -528,7 +511,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 2 } ], @@ -542,14 +525,14 @@ { "type": "reflection", "declaration": { - "id": 881, + "id": 1046, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 883, + "id": 1048, "name": "code", "kind": 1024, "kindString": "Property", @@ -557,7 +540,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 28 } ], @@ -567,7 +550,7 @@ } }, { - "id": 882, + "id": 1047, "name": "error", "kind": 1024, "kindString": "Property", @@ -575,7 +558,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 13 } ], @@ -589,10 +572,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 883, - 882 - ] + "children": [1048, 1047] } ] } @@ -602,7 +582,7 @@ "defaultValue": "null" }, { - "id": 894, + "id": 1059, "name": "name", "kind": 1024, "kindString": "Property", @@ -620,12 +600,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 895, + "id": 1060, "name": "status", "kind": 1024, "kindString": "Property", @@ -643,12 +623,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 884, + "id": 1049, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -656,13 +636,13 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 85, + "line": 91, "character": 2 } ], "signatures": [ { - "id": 885, + "id": 1050, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -670,14 +650,14 @@ "type": { "type": "reflection", "declaration": { - "id": 886, + "id": 1051, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 890, + "id": 1055, "name": "details", "kind": 1024, "kindString": "Property", @@ -685,7 +665,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 90, + "line": 96, "character": 6 } ], @@ -699,14 +679,14 @@ { "type": "reflection", "declaration": { - "id": 891, + "id": 1056, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 893, + "id": 1058, "name": "code", "kind": 1024, "kindString": "Property", @@ -714,7 +694,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 28 } ], @@ -724,7 +704,7 @@ } }, { - "id": 892, + "id": 1057, "name": "error", "kind": 1024, "kindString": "Property", @@ -732,7 +712,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 79, + "line": 85, "character": 13 } ], @@ -746,10 +726,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 893, - 892 - ] + "children": [1058, 1057] } ] } @@ -759,7 +736,7 @@ "defaultValue": "..." }, { - "id": 888, + "id": 1053, "name": "message", "kind": 1024, "kindString": "Property", @@ -767,7 +744,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 88, + "line": 94, "character": 6 } ], @@ -778,7 +755,7 @@ "defaultValue": "..." }, { - "id": 887, + "id": 1052, "name": "name", "kind": 1024, "kindString": "Property", @@ -786,7 +763,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 87, + "line": 93, "character": 6 } ], @@ -797,7 +774,7 @@ "defaultValue": "..." }, { - "id": 889, + "id": 1054, "name": "status", "kind": 1024, "kindString": "Property", @@ -805,7 +782,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 89, + "line": 95, "character": 6 } ], @@ -820,26 +797,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 890, - 888, - 887, - 889 - ] + "children": [1055, 1053, 1052, 1054] } ] } }, "overwrites": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "overwrites": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -848,25 +820,263 @@ { "title": "Constructors", "kind": 512, - "children": [ - 873 - ] + "children": [1038] }, { "title": "Properties", "kind": 1024, - "children": [ - 880, - 894, - 895 - ] + "children": [1045, 1059, 1060] }, { "title": "Methods", "kind": 2048, - "children": [ - 884 - ] + "children": [1049] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 84, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 985, + "name": "CustomAuthError" + } + ] + }, + { + "id": 1024, + "name": "AuthInvalidCredentialsError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 1025, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 79, + "character": 2 + } + ], + "signatures": [ + { + "id": 1026, + "name": "new AuthInvalidCredentialsError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 1027, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 1024, + "name": "AuthInvalidCredentialsError" + }, + "overwrites": { + "type": "reference", + "id": 987, + "name": "CustomAuthError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 986, + "name": "CustomAuthError.constructor" + } + }, + { + "id": 1028, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 991, + "name": "CustomAuthError.name" + } + }, + { + "id": 1029, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "id": 992, + "name": "CustomAuthError.status" + } + }, + { + "id": 1030, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 57, + "character": 2 + } + ], + "signatures": [ + { + "id": 1031, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1032, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 1034, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 60, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1033, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 59, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 1035, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 61, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [1034, 1033, 1035] + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 994, + "name": "CustomAuthError.toJSON" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 993, + "name": "CustomAuthError.toJSON" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [1025] + }, + { + "title": "Properties", + "kind": 1024, + "children": [1028, 1029] + }, + { + "title": "Methods", + "kind": 2048, + "children": [1030] } ], "sources": [ @@ -879,20 +1089,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 859, - "name": "AuthInvalidCredentialsError", + "id": 1012, + "name": "AuthInvalidTokenResponseError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 860, + "id": 1013, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -906,44 +1116,31 @@ ], "signatures": [ { - "id": 861, - "name": "new AuthInvalidCredentialsError", + "id": 1014, + "name": "new AuthInvalidTokenResponseError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, - "parameters": [ - { - "id": 862, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], "type": { "type": "reference", - "id": 859, - "name": "AuthInvalidCredentialsError" + "id": 1012, + "name": "AuthInvalidTokenResponseError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 863, + "id": 1015, "name": "name", "kind": 1024, "kindString": "Property", @@ -961,12 +1158,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 864, + "id": 1016, "name": "status", "kind": 1024, "kindString": "Property", @@ -984,12 +1181,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 865, + "id": 1017, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -1003,7 +1200,7 @@ ], "signatures": [ { - "id": 866, + "id": 1018, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -1011,14 +1208,14 @@ "type": { "type": "reflection", "declaration": { - "id": 867, + "id": 1019, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 869, + "id": 1021, "name": "message", "kind": 1024, "kindString": "Property", @@ -1037,7 +1234,7 @@ "defaultValue": "..." }, { - "id": 868, + "id": 1020, "name": "name", "kind": 1024, "kindString": "Property", @@ -1056,7 +1253,7 @@ "defaultValue": "..." }, { - "id": 870, + "id": 1022, "name": "status", "kind": 1024, "kindString": "Property", @@ -1079,25 +1276,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 869, - 868, - 870 - ] + "children": [1021, 1020, 1022] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -1106,24 +1299,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 860 - ] + "children": [1013] }, { "title": "Properties", "kind": 1024, - "children": [ - 863, - 864 - ] + "children": [1015, 1016] }, { "title": "Methods", "kind": 2048, - "children": [ - 865 - ] + "children": [1017] } ], "sources": [ @@ -1136,20 +1322,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 898, + "id": 1063, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -1157,20 +1343,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 2 } ], "signatures": [ { - "id": 899, + "id": 1064, "name": "new AuthPKCEGrantCodeExchangeError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 900, + "id": 1065, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -1181,7 +1367,7 @@ } }, { - "id": 901, + "id": 1066, "name": "details", "kind": 32768, "kindString": "Parameter", @@ -1196,14 +1382,14 @@ { "type": "reflection", "declaration": { - "id": 902, + "id": 1067, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 904, + "id": 1069, "name": "code", "kind": 1024, "kindString": "Property", @@ -1211,7 +1397,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 57 } ], @@ -1221,7 +1407,7 @@ } }, { - "id": 903, + "id": 1068, "name": "error", "kind": 1024, "kindString": "Property", @@ -1229,7 +1415,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 97, + "line": 103, "character": 42 } ], @@ -1243,10 +1429,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 904, - 903 - ] + "children": [1069, 1068] } ] } @@ -1258,24 +1441,24 @@ ], "type": { "type": "reference", - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 905, + "id": 1070, "name": "details", "kind": 1024, "kindString": "Property", @@ -1283,7 +1466,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 2 } ], @@ -1297,14 +1480,14 @@ { "type": "reflection", "declaration": { - "id": 906, + "id": 1071, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 908, + "id": 1073, "name": "code", "kind": 1024, "kindString": "Property", @@ -1312,7 +1495,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 28 } ], @@ -1322,7 +1505,7 @@ } }, { - "id": 907, + "id": 1072, "name": "error", "kind": 1024, "kindString": "Property", @@ -1330,7 +1513,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 13 } ], @@ -1344,10 +1527,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 908, - 907 - ] + "children": [1073, 1072] } ] } @@ -1357,7 +1537,7 @@ "defaultValue": "null" }, { - "id": 919, + "id": 1084, "name": "name", "kind": 1024, "kindString": "Property", @@ -1375,12 +1555,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 920, + "id": 1085, "name": "status", "kind": 1024, "kindString": "Property", @@ -1398,12 +1578,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 909, + "id": 1074, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -1411,13 +1591,13 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 102, + "line": 108, "character": 2 } ], "signatures": [ { - "id": 910, + "id": 1075, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -1425,14 +1605,14 @@ "type": { "type": "reflection", "declaration": { - "id": 911, + "id": 1076, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 915, + "id": 1080, "name": "details", "kind": 1024, "kindString": "Property", @@ -1440,7 +1620,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 107, + "line": 113, "character": 6 } ], @@ -1454,14 +1634,14 @@ { "type": "reflection", "declaration": { - "id": 916, + "id": 1081, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 918, + "id": 1083, "name": "code", "kind": 1024, "kindString": "Property", @@ -1469,7 +1649,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 28 } ], @@ -1479,7 +1659,7 @@ } }, { - "id": 917, + "id": 1082, "name": "error", "kind": 1024, "kindString": "Property", @@ -1487,7 +1667,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 96, + "line": 102, "character": 13 } ], @@ -1501,10 +1681,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 918, - 917 - ] + "children": [1083, 1082] } ] } @@ -1514,7 +1691,7 @@ "defaultValue": "..." }, { - "id": 913, + "id": 1078, "name": "message", "kind": 1024, "kindString": "Property", @@ -1522,7 +1699,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 105, + "line": 111, "character": 6 } ], @@ -1533,7 +1710,7 @@ "defaultValue": "..." }, { - "id": 912, + "id": 1077, "name": "name", "kind": 1024, "kindString": "Property", @@ -1541,7 +1718,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 104, + "line": 110, "character": 6 } ], @@ -1552,7 +1729,7 @@ "defaultValue": "..." }, { - "id": 914, + "id": 1079, "name": "status", "kind": 1024, "kindString": "Property", @@ -1560,7 +1737,7 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 106, + "line": 112, "character": 6 } ], @@ -1575,26 +1752,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 915, - 913, - 912, - 914 - ] + "children": [1080, 1078, 1077, 1079] } ] } }, "overwrites": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "overwrites": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -1603,51 +1775,43 @@ { "title": "Constructors", "kind": 512, - "children": [ - 898 - ] + "children": [1063] }, { "title": "Properties", "kind": 1024, - "children": [ - 905, - 919, - 920 - ] + "children": [1070, 1084, 1085] }, { "title": "Methods", "kind": 2048, - "children": [ - 909 - ] + "children": [1074] } ], "sources": [ { "fileName": "src/lib/errors.ts", - "line": 95, + "line": 101, "character": 13 } ], "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 923, + "id": 1088, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -1655,20 +1819,20 @@ "sources": [ { "fileName": "src/lib/errors.ts", - "line": 113, + "line": 119, "character": 2 } ], "signatures": [ { - "id": 924, + "id": 1089, "name": "new AuthRetryableFetchError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 925, + "id": 1090, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -1679,7 +1843,7 @@ } }, { - "id": 926, + "id": 1091, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -1692,24 +1856,24 @@ ], "type": { "type": "reference", - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 927, + "id": 1092, "name": "name", "kind": 1024, "kindString": "Property", @@ -1727,12 +1891,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 928, + "id": 1093, "name": "status", "kind": 1024, "kindString": "Property", @@ -1750,12 +1914,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 929, + "id": 1094, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -1769,7 +1933,7 @@ ], "signatures": [ { - "id": 930, + "id": 1095, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -1777,14 +1941,14 @@ "type": { "type": "reflection", "declaration": { - "id": 931, + "id": 1096, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 933, + "id": 1098, "name": "message", "kind": 1024, "kindString": "Property", @@ -1803,7 +1967,7 @@ "defaultValue": "..." }, { - "id": 932, + "id": 1097, "name": "name", "kind": 1024, "kindString": "Property", @@ -1822,7 +1986,7 @@ "defaultValue": "..." }, { - "id": 934, + "id": 1099, "name": "status", "kind": 1024, "kindString": "Property", @@ -1845,25 +2009,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 933, - 932, - 934 - ] + "children": [1098, 1097, 1099] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -1872,50 +2032,43 @@ { "title": "Constructors", "kind": 512, - "children": [ - 923 - ] + "children": [1088] }, { "title": "Properties", "kind": 1024, - "children": [ - 927, - 928 - ] + "children": [1092, 1093] }, { "title": "Methods", "kind": 2048, - "children": [ - 929 - ] + "children": [1094] } ], "sources": [ { "fileName": "src/lib/errors.ts", - "line": 112, + "line": 118, "character": 13 } ], "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 847, + "id": 1000, "name": "AuthSessionMissingError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 848, + "id": 1001, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -1929,31 +2082,31 @@ ], "signatures": [ { - "id": 849, + "id": 1002, "name": "new AuthSessionMissingError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "type": { "type": "reference", - "id": 847, + "id": 1000, "name": "AuthSessionMissingError" }, "overwrites": { "type": "reference", - "id": 834, + "id": 987, "name": "CustomAuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 833, + "id": 986, "name": "CustomAuthError.constructor" } }, { - "id": 850, + "id": 1003, "name": "name", "kind": 1024, "kindString": "Property", @@ -1971,12 +2124,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 838, + "id": 991, "name": "CustomAuthError.name" } }, { - "id": 851, + "id": 1004, "name": "status", "kind": 1024, "kindString": "Property", @@ -1994,12 +2147,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 839, + "id": 992, "name": "CustomAuthError.status" } }, { - "id": 852, + "id": 1005, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -2013,7 +2166,7 @@ ], "signatures": [ { - "id": 853, + "id": 1006, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -2021,14 +2174,14 @@ "type": { "type": "reflection", "declaration": { - "id": 854, + "id": 1007, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 856, + "id": 1009, "name": "message", "kind": 1024, "kindString": "Property", @@ -2047,7 +2200,7 @@ "defaultValue": "..." }, { - "id": 855, + "id": 1008, "name": "name", "kind": 1024, "kindString": "Property", @@ -2066,7 +2219,7 @@ "defaultValue": "..." }, { - "id": 857, + "id": 1010, "name": "status", "kind": 1024, "kindString": "Property", @@ -2089,25 +2242,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 856, - 855, - 857 - ] + "children": [1009, 1008, 1010] } ] } }, "inheritedFrom": { "type": "reference", - "id": 841, + "id": 994, "name": "CustomAuthError.toJSON" } } ], "inheritedFrom": { "type": "reference", - "id": 840, + "id": 993, "name": "CustomAuthError.toJSON" } } @@ -2116,24 +2265,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 848 - ] + "children": [1001] }, { "title": "Properties", "kind": 1024, - "children": [ - 850, - 851 - ] + "children": [1003, 1004] }, { "title": "Methods", "kind": 2048, - "children": [ - 852 - ] + "children": [1005] } ], "sources": [ @@ -2146,20 +2288,20 @@ "extendedTypes": [ { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" } ] }, { - "id": 824, + "id": 977, "name": "AuthUnknownError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 825, + "id": 978, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -2173,14 +2315,14 @@ ], "signatures": [ { - "id": 826, + "id": 979, "name": "new AuthUnknownError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 827, + "id": 980, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -2191,7 +2333,7 @@ } }, { - "id": 828, + "id": 981, "name": "originalError", "kind": 32768, "kindString": "Parameter", @@ -2204,24 +2346,24 @@ ], "type": { "type": "reference", - "id": 824, + "id": 977, "name": "AuthUnknownError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 829, + "id": 982, "name": "originalError", "kind": 1024, "kindString": "Property", @@ -2239,7 +2381,7 @@ } }, { - "id": 830, + "id": 983, "name": "status", "kind": 1024, "kindString": "Property", @@ -2266,7 +2408,7 @@ }, "inheritedFrom": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } } @@ -2275,17 +2417,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 825 - ] + "children": [978] }, { "title": "Properties", "kind": 1024, - "children": [ - 829, - 830 - ] + "children": [982, 983] } ], "sources": [ @@ -2298,20 +2435,20 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] }, { - "id": 832, + "id": 985, "name": "CustomAuthError", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 833, + "id": 986, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -2325,14 +2462,14 @@ ], "signatures": [ { - "id": 834, + "id": 987, "name": "new CustomAuthError", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "parameters": [ { - "id": 835, + "id": 988, "name": "message", "kind": 32768, "kindString": "Parameter", @@ -2343,7 +2480,7 @@ } }, { - "id": 836, + "id": 989, "name": "name", "kind": 32768, "kindString": "Parameter", @@ -2354,7 +2491,7 @@ } }, { - "id": 837, + "id": 990, "name": "status", "kind": 32768, "kindString": "Parameter", @@ -2367,24 +2504,24 @@ ], "type": { "type": "reference", - "id": 832, + "id": 985, "name": "CustomAuthError" }, "overwrites": { "type": "reference", - "id": 806, + "id": 959, "name": "AuthError.constructor" } } ], "overwrites": { "type": "reference", - "id": 805, + "id": 958, "name": "AuthError.constructor" } }, { - "id": 838, + "id": 991, "name": "name", "kind": 1024, "kindString": "Property", @@ -2406,7 +2543,7 @@ } }, { - "id": 839, + "id": 992, "name": "status", "kind": 1024, "kindString": "Property", @@ -2424,12 +2561,12 @@ }, "overwrites": { "type": "reference", - "id": 809, + "id": 962, "name": "AuthError.status" } }, { - "id": 840, + "id": 993, "name": "toJSON", "kind": 2048, "kindString": "Method", @@ -2443,7 +2580,7 @@ ], "signatures": [ { - "id": 841, + "id": 994, "name": "toJSON", "kind": 4096, "kindString": "Call signature", @@ -2451,14 +2588,14 @@ "type": { "type": "reflection", "declaration": { - "id": 842, + "id": 995, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 844, + "id": 997, "name": "message", "kind": 1024, "kindString": "Property", @@ -2477,7 +2614,7 @@ "defaultValue": "..." }, { - "id": 843, + "id": 996, "name": "name", "kind": 1024, "kindString": "Property", @@ -2496,7 +2633,7 @@ "defaultValue": "..." }, { - "id": 845, + "id": 998, "name": "status", "kind": 1024, "kindString": "Property", @@ -2519,11 +2656,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 844, - 843, - 845 - ] + "children": [997, 996, 998] } ] } @@ -2536,24 +2669,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 833 - ] + "children": [986] }, { "title": "Properties", "kind": 1024, - "children": [ - 838, - 839 - ] + "children": [991, 992] }, { "title": "Methods", "kind": 2048, - "children": [ - 840 - ] + "children": [993] } ], "sources": [ @@ -2566,34 +2692,39 @@ "extendedTypes": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ], "extendedBy": [ { "type": "reference", - "id": 847, + "id": 1000, "name": "AuthSessionMissingError" }, { "type": "reference", - "id": 859, + "id": 1012, + "name": "AuthInvalidTokenResponseError" + }, + { + "type": "reference", + "id": 1024, "name": "AuthInvalidCredentialsError" }, { "type": "reference", - "id": 872, + "id": 1037, "name": "AuthImplicitGrantRedirectError" }, { "type": "reference", - "id": 897, + "id": 1062, "name": "AuthPKCEGrantCodeExchangeError" }, { "type": "reference", - "id": 922, + "id": 1087, "name": "AuthRetryableFetchError" } ] @@ -2803,11 +2934,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 11, - 7, - 6 - ] + "children": [11, 7, 6] } ] } @@ -2840,10 +2967,10 @@ ], "type": { "type": "reference", - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "dereferenced": { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -2859,14 +2986,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -2886,17 +3013,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -2912,21 +3039,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -2937,7 +3064,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -2947,7 +3074,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -2958,7 +3085,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -2972,16 +3099,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -2996,7 +3120,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -3008,14 +3132,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -3025,17 +3149,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -3051,21 +3175,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -3076,7 +3200,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -3090,15 +3214,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -3113,7 +3235,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -3129,16 +3251,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] @@ -3146,7 +3265,7 @@ } }, { - "id": 43, + "id": 44, "name": "createUser", "kind": 2048, "kindString": "Method", @@ -3154,13 +3273,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 148, + "line": 152, "character": 8 } ], "signatures": [ { - "id": 44, + "id": 45, "name": "createUser", "kind": 4096, "kindString": "Call signature", @@ -3170,24 +3289,24 @@ }, "parameters": [ { - "id": 45, + "id": 46, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -3201,7 +3320,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -3211,7 +3330,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -3225,7 +3344,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -3235,7 +3354,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -3248,7 +3367,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -3262,7 +3381,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -3276,7 +3395,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -3286,7 +3405,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -3300,7 +3419,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -3314,7 +3433,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -3327,7 +3446,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -3341,7 +3460,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -3354,7 +3473,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -3368,7 +3487,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -3382,7 +3501,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -3392,7 +3511,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -3406,7 +3525,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -3420,23 +3539,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -3446,7 +3555,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -3468,7 +3577,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -3480,7 +3589,7 @@ ] }, { - "id": 67, + "id": 68, "name": "deleteUser", "kind": 2048, "kindString": "Method", @@ -3488,13 +3597,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 264, + "line": 268, "character": 8 } ], "signatures": [ { - "id": 68, + "id": 69, "name": "deleteUser", "kind": 4096, "kindString": "Call signature", @@ -3504,7 +3613,7 @@ }, "parameters": [ { - "id": 69, + "id": 70, "name": "id", "kind": 32768, "kindString": "Parameter", @@ -3518,7 +3627,7 @@ } }, { - "id": 70, + "id": 71, "name": "shouldSoftDelete", "kind": 32768, "kindString": "Parameter", @@ -3538,7 +3647,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -3550,7 +3659,7 @@ ] }, { - "id": 40, + "id": 41, "name": "generateLink", "kind": 2048, "kindString": "Method", @@ -3558,13 +3667,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 114, + "line": 118, "character": 8 } ], "signatures": [ { - "id": 41, + "id": 42, "name": "generateLink", "kind": 4096, "kindString": "Call signature", @@ -3574,17 +3683,17 @@ }, "parameters": [ { - "id": 42, + "id": 43, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 613, + "id": 760, "name": "GenerateLinkParams", "dereferenced": { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -3592,7 +3701,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -3600,7 +3709,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -3608,21 +3717,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -3630,7 +3739,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -3640,7 +3749,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -3650,7 +3759,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -3659,7 +3768,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -3682,7 +3791,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -3690,7 +3799,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -3700,7 +3809,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -3708,7 +3817,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -3722,18 +3831,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -3741,7 +3845,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -3749,21 +3853,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -3774,7 +3878,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -3784,7 +3888,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -3794,7 +3898,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -3803,7 +3907,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -3826,7 +3930,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -3834,7 +3938,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -3857,17 +3961,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -3875,7 +3975,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -3883,21 +3983,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -3908,7 +4008,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -3918,7 +4018,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -3928,7 +4028,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -3937,7 +4037,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -3951,7 +4051,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -3959,7 +4059,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -3973,17 +4073,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -3991,7 +4087,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -3999,21 +4095,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -4024,7 +4120,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -4034,7 +4130,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -4045,7 +4141,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -4055,7 +4151,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -4065,7 +4161,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -4074,7 +4170,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -4088,7 +4184,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -4096,7 +4192,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -4119,18 +4215,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -4148,7 +4239,7 @@ "typeArguments": [ { "type": "reference", - "id": 614, + "id": 761, "name": "GenerateLinkResponse" } ], @@ -4160,7 +4251,7 @@ ] }, { - "id": 60, + "id": 61, "name": "getUserById", "kind": 2048, "kindString": "Method", @@ -4168,13 +4259,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 217, + "line": 221, "character": 8 } ], "signatures": [ { - "id": 61, + "id": 62, "name": "getUserById", "kind": 4096, "kindString": "Call signature", @@ -4184,7 +4275,7 @@ }, "parameters": [ { - "id": 62, + "id": 63, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -4203,7 +4294,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -4215,7 +4306,7 @@ ] }, { - "id": 33, + "id": 34, "name": "inviteUserByEmail", "kind": 2048, "kindString": "Method", @@ -4223,13 +4314,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 81, + "line": 85, "character": 8 } ], "signatures": [ { - "id": 34, + "id": 35, "name": "inviteUserByEmail", "kind": 4096, "kindString": "Call signature", @@ -4239,7 +4330,7 @@ }, "parameters": [ { - "id": 35, + "id": 36, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -4253,7 +4344,7 @@ } }, { - "id": 36, + "id": 37, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -4264,14 +4355,14 @@ "type": { "type": "reflection", "declaration": { - "id": 37, + "id": 38, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 38, + "id": 39, "name": "data", "kind": 1024, "kindString": "Property", @@ -4284,7 +4375,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 85, + "line": 89, "character": 6 } ], @@ -4294,7 +4385,7 @@ } }, { - "id": 39, + "id": 40, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -4307,7 +4398,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 88, + "line": 92, "character": 6 } ], @@ -4321,10 +4412,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [39, 40] } ] } @@ -4337,7 +4425,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -4349,7 +4437,7 @@ ] }, { - "id": 46, + "id": 47, "name": "listUsers", "kind": 2048, "kindString": "Method", @@ -4357,13 +4445,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 170, + "line": 174, "character": 8 } ], "signatures": [ { - "id": 47, + "id": 48, "name": "listUsers", "kind": 4096, "kindString": "Call signature", @@ -4374,7 +4462,7 @@ }, "parameters": [ { - "id": 48, + "id": 49, "name": "params", "kind": 32768, "kindString": "Parameter", @@ -4386,10 +4474,10 @@ }, "type": { "type": "reference", - "id": 794, + "id": 941, "name": "PageParams", "dereferenced": { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -4397,21 +4485,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -4424,7 +4512,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -4434,7 +4522,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -4447,7 +4535,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -4461,16 +4549,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -4489,14 +4574,14 @@ { "type": "reflection", "declaration": { - "id": 49, + "id": 50, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 50, + "id": 51, "name": "data", "kind": 1024, "kindString": "Property", @@ -4504,7 +4589,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 8 } ], @@ -4514,14 +4599,14 @@ { "type": "reflection", "declaration": { - "id": 51, + "id": 52, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 53, + "id": 54, "name": "aud", "kind": 1024, "kindString": "Property", @@ -4529,7 +4614,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 31 } ], @@ -4539,7 +4624,7 @@ } }, { - "id": 52, + "id": 53, "name": "users", "kind": 1024, "kindString": "Property", @@ -4547,7 +4632,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 16 } ], @@ -4555,7 +4640,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -4565,24 +4650,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 53, - 52 - ] + "children": [54, 53] } ] } }, { "type": "reference", - "id": 787, + "id": 934, "name": "Pagination" } ] } }, { - "id": 54, + "id": 55, "name": "error", "kind": 1024, "kindString": "Property", @@ -4590,7 +4672,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 59 } ], @@ -4604,10 +4686,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 54 - ] + "children": [51, 55] } ] } @@ -4615,14 +4694,14 @@ { "type": "reflection", "declaration": { - "id": 55, + "id": 56, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 56, + "id": 57, "name": "data", "kind": 1024, "kindString": "Property", @@ -4630,21 +4709,21 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 57, + "id": 58, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 58, + "id": 59, "name": "users", "kind": 1024, "kindString": "Property", @@ -4652,7 +4731,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 16 } ], @@ -4665,16 +4744,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 58 - ] + "children": [59] } ] } } }, { - "id": 59, + "id": 60, "name": "error", "kind": 1024, "kindString": "Property", @@ -4682,13 +4759,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 29 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -4697,10 +4774,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 56, - 59 - ] + "children": [57, 60] } ] } @@ -4724,7 +4798,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, + "line": 60, "character": 8 } ], @@ -4746,12 +4820,40 @@ "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "A valid, logged-in JWT.\n" + "shortText": "A valid, logged-in JWT." }, "type": { "type": "intrinsic", "name": "string" } + }, + { + "id": 30, + "name": "scope", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The logout sope.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + }, + "defaultValue": "'global'" } ], "type": { @@ -4760,14 +4862,14 @@ { "type": "reflection", "declaration": { - "id": 30, + "id": 31, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 31, + "id": 32, "name": "data", "kind": 1024, "kindString": "Property", @@ -4775,8 +4877,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 40 + "line": 63, + "character": 15 } ], "type": { @@ -4785,7 +4887,7 @@ } }, { - "id": 32, + "id": 33, "name": "error", "kind": 1024, "kindString": "Property", @@ -4793,8 +4895,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 52 + "line": 63, + "character": 27 } ], "type": { @@ -4806,7 +4908,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -4817,10 +4919,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 31, - 32 - ] + "children": [32, 33] } ] } @@ -4834,7 +4933,7 @@ ] }, { - "id": 63, + "id": 64, "name": "updateUserById", "kind": 2048, "kindString": "Method", @@ -4842,13 +4941,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 239, + "line": 243, "character": 8 } ], "signatures": [ { - "id": 64, + "id": 65, "name": "updateUserById", "kind": 4096, "kindString": "Call signature", @@ -4858,7 +4957,7 @@ }, "parameters": [ { - "id": 65, + "id": 66, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -4869,7 +4968,7 @@ } }, { - "id": 66, + "id": 67, "name": "attributes", "kind": 32768, "kindString": "Parameter", @@ -4879,17 +4978,17 @@ }, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -4903,7 +5002,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -4913,7 +5012,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -4927,7 +5026,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -4937,7 +5036,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -4950,7 +5049,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -4964,7 +5063,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -4978,7 +5077,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -4988,7 +5087,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -5002,7 +5101,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -5016,7 +5115,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -5029,7 +5128,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -5043,7 +5142,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -5056,7 +5155,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -5070,7 +5169,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -5084,7 +5183,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -5094,7 +5193,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -5108,7 +5207,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -5122,23 +5221,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -5148,7 +5237,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -5170,7 +5259,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -5186,30 +5275,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 16 - ] + "children": [16] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 67, - 40, - 60, - 33, - 46, - 27, - 63 - ] + "children": [44, 68, 41, 61, 34, 47, 27, 64] } ], "sources": [ @@ -5221,14 +5297,14 @@ ] }, { - "id": 77, + "id": 78, "name": "GoTrueClient", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 78, + "id": 80, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -5236,13 +5312,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 145, + "line": 167, "character": 2 } ], "signatures": [ { - "id": 79, + "id": 81, "name": "new GoTrueClient", "kind": 16384, "kindString": "Constructor signature", @@ -5252,17 +5328,17 @@ }, "parameters": [ { - "id": 80, + "id": 82, "name": "options", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "dereferenced": { - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "kind": 4194304, "kindString": "Type alias", @@ -5270,21 +5346,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 329, + "id": 441, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 337, + "id": 449, "name": "autoRefreshToken", "kind": 1024, "kindString": "Property", @@ -5294,7 +5370,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 45, + "line": 64, "character": 2 } ], @@ -5304,7 +5380,27 @@ } }, { - "id": 336, + "id": 454, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 448, "name": "detectSessionInUrl", "kind": 1024, "kindString": "Property", @@ -5314,7 +5410,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 43, + "line": 62, "character": 2 } ], @@ -5324,7 +5420,7 @@ } }, { - "id": 340, + "id": 452, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -5334,7 +5430,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 51, + "line": 70, "character": 2 } ], @@ -5344,7 +5440,7 @@ } }, { - "id": 341, + "id": 453, "name": "flowType", "kind": 1024, "kindString": "Property", @@ -5354,16 +5450,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 53, + "line": 72, "character": 2 } ], "type": { "type": "reference", - "id": 522, + "id": 664, "name": "AuthFlowType", "dereferenced": { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -5371,7 +5467,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -5392,7 +5488,7 @@ } }, { - "id": 331, + "id": 443, "name": "headers", "kind": 1024, "kindString": "Property", @@ -5402,14 +5498,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 332, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -5417,19 +5513,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 12 } ], "indexSignature": { - "id": 333, + "id": 445, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 334, + "id": 446, "name": "key", "kind": 32768, "flags": {}, @@ -5448,7 +5544,187 @@ } }, { - "id": 338, + "id": 455, + "name": "lock", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Provide your own locking mechanism based on the environment. By default no locking is done at this time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 431, + "name": "LockFunc", + "dereferenced": { + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + } + }, + { + "id": 450, "name": "persistSession", "kind": 1024, "kindString": "Property", @@ -5458,7 +5734,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 66, "character": 2 } ], @@ -5468,7 +5744,7 @@ } }, { - "id": 339, + "id": 451, "name": "storage", "kind": 1024, "kindString": "Property", @@ -5478,16 +5754,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 49, + "line": 68, "character": 2 } ], "type": { "type": "reference", - "id": 776, + "id": 923, "name": "SupportedStorage", "dereferenced": { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -5495,7 +5771,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -5540,7 +5816,7 @@ } }, { - "id": 335, + "id": 447, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -5550,7 +5826,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 41, + "line": 60, "character": 2 } ], @@ -5560,7 +5836,7 @@ } }, { - "id": 330, + "id": 442, "name": "url", "kind": 1024, "kindString": "Property", @@ -5570,7 +5846,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 37, + "line": 56, "character": 2 } ], @@ -5584,23 +5860,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 337, - 336, - 340, - 341, - 331, - 338, - 339, - 335, - 330 - ] + "children": [449, 454, 448, 452, 453, 443, 455, 450, 451, 447, 442] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 34 } ] @@ -5612,14 +5878,14 @@ ], "type": { "type": "reference", - "id": 77, + "id": 78, "name": "default" } } ] }, { - "id": 81, + "id": 84, "name": "admin", "kind": 1024, "kindString": "Property", @@ -5630,7 +5896,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 98, + "line": 115, "character": 2 } ], @@ -5843,11 +6109,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 11, - 7, - 6 - ] + "children": [11, 7, 6] } ] } @@ -5880,10 +6142,10 @@ ], "type": { "type": "reference", - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "dereferenced": { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -5899,14 +6161,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -5926,17 +6188,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -5952,21 +6214,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -5977,7 +6239,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -5987,7 +6249,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -5998,7 +6260,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -6012,16 +6274,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -6036,7 +6295,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -6048,14 +6307,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -6065,17 +6324,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -6091,21 +6350,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -6116,7 +6375,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -6130,15 +6389,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -6153,7 +6410,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -6169,16 +6426,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] @@ -6186,7 +6440,7 @@ } }, { - "id": 43, + "id": 44, "name": "createUser", "kind": 2048, "kindString": "Method", @@ -6194,13 +6448,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 148, + "line": 152, "character": 8 } ], "signatures": [ { - "id": 44, + "id": 45, "name": "createUser", "kind": 4096, "kindString": "Call signature", @@ -6210,24 +6464,24 @@ }, "parameters": [ { - "id": 45, + "id": 46, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -6241,7 +6495,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -6251,7 +6505,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -6265,7 +6519,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -6275,7 +6529,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -6288,7 +6542,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -6302,7 +6556,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -6316,7 +6570,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -6326,7 +6580,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -6340,7 +6594,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -6354,7 +6608,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -6367,7 +6621,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -6381,7 +6635,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -6394,7 +6648,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -6408,7 +6662,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -6422,7 +6676,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -6432,7 +6686,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -6446,7 +6700,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -6460,23 +6714,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -6486,7 +6730,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -6508,7 +6752,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -6520,7 +6764,7 @@ ] }, { - "id": 67, + "id": 68, "name": "deleteUser", "kind": 2048, "kindString": "Method", @@ -6528,13 +6772,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 264, + "line": 268, "character": 8 } ], "signatures": [ { - "id": 68, + "id": 69, "name": "deleteUser", "kind": 4096, "kindString": "Call signature", @@ -6544,7 +6788,7 @@ }, "parameters": [ { - "id": 69, + "id": 70, "name": "id", "kind": 32768, "kindString": "Parameter", @@ -6558,7 +6802,7 @@ } }, { - "id": 70, + "id": 71, "name": "shouldSoftDelete", "kind": 32768, "kindString": "Parameter", @@ -6578,7 +6822,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -6590,7 +6834,7 @@ ] }, { - "id": 40, + "id": 41, "name": "generateLink", "kind": 2048, "kindString": "Method", @@ -6598,13 +6842,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 114, + "line": 118, "character": 8 } ], "signatures": [ { - "id": 41, + "id": 42, "name": "generateLink", "kind": 4096, "kindString": "Call signature", @@ -6614,17 +6858,17 @@ }, "parameters": [ { - "id": 42, + "id": 43, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 613, + "id": 760, "name": "GenerateLinkParams", "dereferenced": { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -6632,7 +6876,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -6640,7 +6884,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -6648,21 +6892,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -6670,7 +6914,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -6680,7 +6924,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -6690,7 +6934,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -6699,7 +6943,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -6722,7 +6966,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -6730,7 +6974,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -6740,7 +6984,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -6748,7 +6992,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -6762,18 +7006,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -6781,7 +7020,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -6789,21 +7028,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -6814,7 +7053,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -6824,7 +7063,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -6834,7 +7073,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -6843,7 +7082,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -6866,7 +7105,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -6874,7 +7113,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -6897,17 +7136,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -6915,7 +7150,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -6923,21 +7158,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -6948,7 +7183,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -6958,7 +7193,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -6968,7 +7203,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -6977,7 +7212,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -6991,7 +7226,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -6999,7 +7234,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -7013,17 +7248,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -7031,7 +7262,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -7039,21 +7270,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -7064,7 +7295,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -7074,7 +7305,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -7085,7 +7316,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -7095,7 +7326,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -7105,7 +7336,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -7114,7 +7345,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -7128,7 +7359,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -7136,7 +7367,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -7159,18 +7390,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -7188,7 +7414,7 @@ "typeArguments": [ { "type": "reference", - "id": 614, + "id": 761, "name": "GenerateLinkResponse" } ], @@ -7200,7 +7426,7 @@ ] }, { - "id": 60, + "id": 61, "name": "getUserById", "kind": 2048, "kindString": "Method", @@ -7208,13 +7434,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 217, + "line": 221, "character": 8 } ], "signatures": [ { - "id": 61, + "id": 62, "name": "getUserById", "kind": 4096, "kindString": "Call signature", @@ -7224,7 +7450,7 @@ }, "parameters": [ { - "id": 62, + "id": 63, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -7243,7 +7469,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -7255,7 +7481,7 @@ ] }, { - "id": 33, + "id": 34, "name": "inviteUserByEmail", "kind": 2048, "kindString": "Method", @@ -7263,13 +7489,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 81, + "line": 85, "character": 8 } ], "signatures": [ { - "id": 34, + "id": 35, "name": "inviteUserByEmail", "kind": 4096, "kindString": "Call signature", @@ -7279,7 +7505,7 @@ }, "parameters": [ { - "id": 35, + "id": 36, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -7293,7 +7519,7 @@ } }, { - "id": 36, + "id": 37, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -7304,14 +7530,14 @@ "type": { "type": "reflection", "declaration": { - "id": 37, + "id": 38, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 38, + "id": 39, "name": "data", "kind": 1024, "kindString": "Property", @@ -7324,7 +7550,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 85, + "line": 89, "character": 6 } ], @@ -7334,7 +7560,7 @@ } }, { - "id": 39, + "id": 40, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -7347,7 +7573,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 88, + "line": 92, "character": 6 } ], @@ -7361,10 +7587,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [39, 40] } ] } @@ -7377,7 +7600,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -7389,7 +7612,7 @@ ] }, { - "id": 46, + "id": 47, "name": "listUsers", "kind": 2048, "kindString": "Method", @@ -7397,13 +7620,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 170, + "line": 174, "character": 8 } ], "signatures": [ { - "id": 47, + "id": 48, "name": "listUsers", "kind": 4096, "kindString": "Call signature", @@ -7414,7 +7637,7 @@ }, "parameters": [ { - "id": 48, + "id": 49, "name": "params", "kind": 32768, "kindString": "Parameter", @@ -7426,10 +7649,10 @@ }, "type": { "type": "reference", - "id": 794, + "id": 941, "name": "PageParams", "dereferenced": { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -7437,21 +7660,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -7464,7 +7687,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -7474,7 +7697,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -7487,7 +7710,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -7501,16 +7724,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -7529,14 +7749,14 @@ { "type": "reflection", "declaration": { - "id": 49, + "id": 50, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 50, + "id": 51, "name": "data", "kind": 1024, "kindString": "Property", @@ -7544,7 +7764,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 8 } ], @@ -7554,14 +7774,14 @@ { "type": "reflection", "declaration": { - "id": 51, + "id": 52, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 53, + "id": 54, "name": "aud", "kind": 1024, "kindString": "Property", @@ -7569,7 +7789,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 31 } ], @@ -7579,7 +7799,7 @@ } }, { - "id": 52, + "id": 53, "name": "users", "kind": 1024, "kindString": "Property", @@ -7587,7 +7807,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 16 } ], @@ -7595,7 +7815,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -7605,24 +7825,21 @@ { "title": "Properties", "kind": 1024, - "children": [ - 53, - 52 - ] + "children": [54, 53] } ] } }, { "type": "reference", - "id": 787, + "id": 934, "name": "Pagination" } ] } }, { - "id": 54, + "id": 55, "name": "error", "kind": 1024, "kindString": "Property", @@ -7630,7 +7847,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 173, + "line": 177, "character": 59 } ], @@ -7644,10 +7861,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 54 - ] + "children": [51, 55] } ] } @@ -7655,14 +7869,14 @@ { "type": "reflection", "declaration": { - "id": 55, + "id": 56, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 56, + "id": 57, "name": "data", "kind": 1024, "kindString": "Property", @@ -7670,21 +7884,21 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 57, + "id": 58, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 58, + "id": 59, "name": "users", "kind": 1024, "kindString": "Property", @@ -7692,7 +7906,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 16 } ], @@ -7705,16 +7919,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 58 - ] + "children": [59] } ] } } }, { - "id": 59, + "id": 60, "name": "error", "kind": 1024, "kindString": "Property", @@ -7722,13 +7934,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 174, + "line": 178, "character": 29 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -7737,10 +7949,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 56, - 59 - ] + "children": [57, 60] } ] } @@ -7764,7 +7973,7 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, + "line": 60, "character": 8 } ], @@ -7786,12 +7995,40 @@ "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "A valid, logged-in JWT.\n" + "shortText": "A valid, logged-in JWT." }, "type": { "type": "intrinsic", "name": "string" } + }, + { + "id": 30, + "name": "scope", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The logout sope.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + }, + "defaultValue": "'global'" } ], "type": { @@ -7800,14 +8037,14 @@ { "type": "reflection", "declaration": { - "id": 30, + "id": 31, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 31, + "id": 32, "name": "data", "kind": 1024, "kindString": "Property", @@ -7815,8 +8052,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 40 + "line": 63, + "character": 15 } ], "type": { @@ -7825,7 +8062,7 @@ } }, { - "id": 32, + "id": 33, "name": "error", "kind": 1024, "kindString": "Property", @@ -7833,8 +8070,8 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 59, - "character": 52 + "line": 63, + "character": 27 } ], "type": { @@ -7846,7 +8083,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -7857,10 +8094,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 31, - 32 - ] + "children": [32, 33] } ] } @@ -7874,7 +8108,7 @@ ] }, { - "id": 63, + "id": 64, "name": "updateUserById", "kind": 2048, "kindString": "Method", @@ -7882,13 +8116,13 @@ "sources": [ { "fileName": "src/GoTrueAdminApi.ts", - "line": 239, + "line": 243, "character": 8 } ], "signatures": [ { - "id": 64, + "id": 65, "name": "updateUserById", "kind": 4096, "kindString": "Call signature", @@ -7898,7 +8132,7 @@ }, "parameters": [ { - "id": 65, + "id": 66, "name": "uid", "kind": 32768, "kindString": "Parameter", @@ -7909,7 +8143,7 @@ } }, { - "id": 66, + "id": 67, "name": "attributes", "kind": 32768, "kindString": "Parameter", @@ -7919,17 +8153,17 @@ }, "type": { "type": "reference", - "id": 454, + "id": 596, "name": "AdminUserAttributes", "dereferenced": { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -7943,7 +8177,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -7953,7 +8187,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -7967,7 +8201,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -7977,7 +8211,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -7990,7 +8224,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -8004,7 +8238,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -8018,7 +8252,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -8028,7 +8262,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -8042,7 +8276,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -8056,7 +8290,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -8069,7 +8303,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -8083,7 +8317,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -8096,7 +8330,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -8110,7 +8344,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -8124,7 +8358,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -8134,7 +8368,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -8148,7 +8382,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -8162,23 +8396,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -8188,7 +8412,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -8210,7 +8434,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -8226,30 +8450,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 16 - ] + "children": [16] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 67, - 40, - 60, - 33, - 46, - 27, - 63 - ] + "children": [44, 68, 41, 61, 34, 47, 27, 64] } ], "sources": [ @@ -8263,7 +8474,7 @@ } }, { - "id": 82, + "id": 85, "name": "mfa", "kind": 1024, "kindString": "Property", @@ -8274,16 +8485,16 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 102, + "line": 119, "character": 2 } ], "type": { "type": "reference", - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "dereferenced": { - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "kind": 256, "kindString": "Interface", @@ -8293,14 +8504,14 @@ }, "children": [ { - "id": 728, + "id": 875, "name": "challenge", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 729, + "id": 876, "name": "challenge", "kind": 4096, "kindString": "Call signature", @@ -8310,17 +8521,17 @@ }, "parameters": [ { - "id": 730, + "id": 877, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 648, + "id": 795, "name": "MFAChallengeParams", "dereferenced": { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -8328,21 +8539,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -8353,7 +8564,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -8367,15 +8578,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -8390,7 +8599,7 @@ "typeArguments": [ { "type": "reference", - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse" } ], @@ -8402,14 +8611,14 @@ ] }, { - "id": 737, + "id": 884, "name": "challengeAndVerify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 738, + "id": 885, "name": "challengeAndVerify", "kind": 4096, "kindString": "Call signature", @@ -8419,17 +8628,17 @@ }, "parameters": [ { - "id": 739, + "id": 886, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "dereferenced": { - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -8437,21 +8646,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -8462,7 +8671,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -8472,7 +8681,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -8483,7 +8692,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -8497,16 +8706,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -8521,7 +8727,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -8533,14 +8739,14 @@ ] }, { - "id": 725, + "id": 872, "name": "enroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 726, + "id": 873, "name": "enroll", "kind": 4096, "kindString": "Call signature", @@ -8551,17 +8757,17 @@ }, "parameters": [ { - "id": 727, + "id": 874, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 635, + "id": 782, "name": "MFAEnrollParams", "dereferenced": { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -8569,21 +8775,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -8594,7 +8800,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -8604,7 +8810,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -8617,7 +8823,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -8627,7 +8833,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -8640,7 +8846,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -8654,17 +8860,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -8679,7 +8881,7 @@ "typeArguments": [ { "type": "reference", - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse" } ], @@ -8691,14 +8893,14 @@ ] }, { - "id": 742, + "id": 889, "name": "getAuthenticatorAssuranceLevel", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 743, + "id": 890, "name": "getAuthenticatorAssuranceLevel", "kind": 4096, "kindString": "Call signature", @@ -8712,7 +8914,7 @@ "typeArguments": [ { "type": "reference", - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" } ], @@ -8724,14 +8926,14 @@ ] }, { - "id": 740, + "id": 887, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 741, + "id": 888, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -8758,7 +8960,7 @@ "typeArguments": [ { "type": "reference", - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse" } ], @@ -8770,14 +8972,14 @@ ] }, { - "id": 734, + "id": 881, "name": "unenroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 735, + "id": 882, "name": "unenroll", "kind": 4096, "kindString": "Call signature", @@ -8787,17 +8989,17 @@ }, "parameters": [ { - "id": 736, + "id": 883, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "dereferenced": { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -8805,21 +9007,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -8830,7 +9032,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -8844,15 +9046,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -8867,7 +9067,7 @@ "typeArguments": [ { "type": "reference", - "id": 683, + "id": 830, "name": "AuthMFAUnenrollResponse" } ], @@ -8879,14 +9079,14 @@ ] }, { - "id": 731, + "id": 878, "name": "verify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 732, + "id": 879, "name": "verify", "kind": 4096, "kindString": "Call signature", @@ -8896,17 +9096,17 @@ }, "parameters": [ { - "id": 733, + "id": 880, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 643, + "id": 790, "name": "MFAVerifyParams", "dereferenced": { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -8914,21 +9114,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -8939,7 +9139,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -8949,7 +9149,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -8960,7 +9160,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -8970,7 +9170,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -8981,7 +9181,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -8995,17 +9195,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -9020,7 +9216,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -9036,21 +9232,13 @@ { "title": "Methods", "kind": 2048, - "children": [ - 728, - 737, - 725, - 742, - 740, - 734, - 731 - ] + "children": [875, 884, 872, 889, 887, 881, 878] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 815, + "line": 887, "character": 17 } ] @@ -9058,7 +9246,7 @@ } }, { - "id": 121, + "id": 131, "name": "exchangeCodeForSession", "kind": 2048, "kindString": "Method", @@ -9066,13 +9254,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 411, + "line": 485, "character": 8 } ], "signatures": [ { - "id": 122, + "id": 132, "name": "exchangeCodeForSession", "kind": 4096, "kindString": "Call signature", @@ -9082,7 +9270,7 @@ }, "parameters": [ { - "id": 123, + "id": 133, "name": "authCode", "kind": 32768, "kindString": "Parameter", @@ -9098,8 +9286,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -9110,7 +9298,7 @@ ] }, { - "id": 141, + "id": 156, "name": "getSession", "kind": 2048, "kindString": "Method", @@ -9118,13 +9306,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 693, + "line": 810, "character": 8 } ], "signatures": [ { - "id": 142, + "id": 157, "name": "getSession", "kind": 4096, "kindString": "Call signature", @@ -9141,14 +9329,14 @@ { "type": "reflection", "declaration": { - "id": 143, + "id": 158, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 144, + "id": 159, "name": "data", "kind": 1024, "kindString": "Property", @@ -9156,21 +9344,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 695, - "character": 8 + "line": 901, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 145, + "id": 160, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 146, + "id": 161, "name": "session", "kind": 1024, "kindString": "Property", @@ -9178,13 +9366,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 696, - "character": 10 + "line": 902, + "character": 14 } ], "type": { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } } @@ -9193,16 +9381,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 146 - ] + "children": [161] } ] } } }, { - "id": 147, + "id": 162, "name": "error", "kind": 1024, "kindString": "Property", @@ -9210,8 +9396,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 698, - "character": 8 + "line": 904, + "character": 12 } ], "type": { @@ -9224,10 +9410,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 144, - 147 - ] + "children": [159, 162] } ] } @@ -9235,14 +9418,14 @@ { "type": "reflection", "declaration": { - "id": 148, + "id": 163, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 149, + "id": 164, "name": "data", "kind": 1024, "kindString": "Property", @@ -9250,21 +9433,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 701, - "character": 8 + "line": 907, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 150, + "id": 165, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 151, + "id": 166, "name": "session", "kind": 1024, "kindString": "Property", @@ -9272,8 +9455,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 702, - "character": 10 + "line": 908, + "character": 14 } ], "type": { @@ -9286,16 +9469,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 151 - ] + "children": [166] } ] } } }, { - "id": 152, + "id": 167, "name": "error", "kind": 1024, "kindString": "Property", @@ -9303,13 +9484,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 704, - "character": 8 + "line": 910, + "character": 12 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -9318,10 +9499,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 149, - 152 - ] + "children": [164, 167] } ] } @@ -9329,14 +9507,14 @@ { "type": "reflection", "declaration": { - "id": 153, + "id": 168, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 154, + "id": 169, "name": "data", "kind": 1024, "kindString": "Property", @@ -9344,21 +9522,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 707, - "character": 8 + "line": 913, + "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 155, + "id": 170, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 156, + "id": 171, "name": "session", "kind": 1024, "kindString": "Property", @@ -9366,8 +9544,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 708, - "character": 10 + "line": 914, + "character": 14 } ], "type": { @@ -9380,16 +9558,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 156 - ] + "children": [171] } ] } } }, { - "id": 157, + "id": 172, "name": "error", "kind": 1024, "kindString": "Property", @@ -9397,8 +9573,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 710, - "character": 8 + "line": 916, + "character": 12 } ], "type": { @@ -9411,10 +9587,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 154, - 157 - ] + "children": [169, 172] } ] } @@ -9430,7 +9603,7 @@ ] }, { - "id": 158, + "id": 219, "name": "getUser", "kind": 2048, "kindString": "Method", @@ -9438,13 +9611,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 756, + "line": 1018, "character": 8 } ], "signatures": [ { - "id": 159, + "id": 220, "name": "getUser", "kind": 4096, "kindString": "Call signature", @@ -9454,7 +9627,7 @@ }, "parameters": [ { - "id": 160, + "id": 221, "name": "jwt", "kind": 32768, "kindString": "Parameter", @@ -9475,7 +9648,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -9487,7 +9660,7 @@ ] }, { - "id": 108, + "id": 118, "name": "initialize", "kind": 2048, "kindString": "Method", @@ -9495,13 +9668,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 197, - "character": 2 + "line": 250, + "character": 8 } ], "signatures": [ { - "id": 109, + "id": 119, "name": "initialize", "kind": 4096, "kindString": "Call signature", @@ -9514,7 +9687,7 @@ "typeArguments": [ { "type": "reference", - "id": 777, + "id": 924, "name": "InitializeResult" } ], @@ -9526,7 +9699,7 @@ ] }, { - "id": 208, + "id": 295, "name": "onAuthStateChange", "kind": 2048, "kindString": "Method", @@ -9534,13 +9707,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1071, + "line": 1412, "character": 2 } ], "signatures": [ { - "id": 209, + "id": 296, "name": "onAuthStateChange", "kind": 4096, "kindString": "Call signature", @@ -9550,7 +9723,7 @@ }, "parameters": [ { - "id": 210, + "id": 297, "name": "callback", "kind": 32768, "kindString": "Parameter", @@ -9561,33 +9734,33 @@ "type": { "type": "reflection", "declaration": { - "id": 211, + "id": 298, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 212, + "id": 299, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 213, + "id": 300, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent" } }, { - "id": 214, + "id": 301, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -9601,7 +9774,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -9609,8 +9782,25 @@ } ], "type": { - "type": "intrinsic", - "name": "void" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + ] } } ] @@ -9621,14 +9811,14 @@ "type": { "type": "reflection", "declaration": { - "id": 215, + "id": 302, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 216, + "id": 303, "name": "data", "kind": 1024, "kindString": "Property", @@ -9636,21 +9826,21 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1072, + "line": 1415, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 217, + "id": 304, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 218, + "id": 305, "name": "subscription", "kind": 1024, "kindString": "Property", @@ -9658,23 +9848,23 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1072, + "line": 1415, "character": 12 } ], "type": { "type": "reference", - "id": 464, + "id": 606, "name": "Subscription", "dereferenced": { - "id": 464, + "id": 606, "name": "Subscription", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 465, + "id": 607, "name": "id", "kind": 1024, "kindString": "Property", @@ -9685,7 +9875,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 329, + "line": 387, "character": 2 } ], @@ -9695,7 +9885,7 @@ } }, { - "id": 466, + "id": 608, "name": "callback", "kind": 2048, "kindString": "Method", @@ -9703,13 +9893,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 333, + "line": 391, "character": 2 } ], "signatures": [ { - "id": 467, + "id": 609, "name": "callback", "kind": 4096, "kindString": "Call signature", @@ -9719,17 +9909,17 @@ }, "parameters": [ { - "id": 468, + "id": 610, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent", "dereferenced": { - "id": 327, + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -9737,7 +9927,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -9769,7 +9959,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -9777,7 +9967,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -9792,7 +9982,7 @@ } }, { - "id": 469, + "id": 611, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -9806,7 +9996,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -9821,7 +10011,7 @@ ] }, { - "id": 470, + "id": 612, "name": "unsubscribe", "kind": 2048, "kindString": "Method", @@ -9829,13 +10019,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 337, + "line": 395, "character": 2 } ], "signatures": [ { - "id": 471, + "id": 613, "name": "unsubscribe", "kind": 4096, "kindString": "Call signature", @@ -9855,23 +10045,18 @@ { "title": "Properties", "kind": 1024, - "children": [ - 465 - ] + "children": [607] }, { "title": "Methods", "kind": 2048, - "children": [ - 466, - 470 - ] + "children": [608, 612] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 325, + "line": 383, "character": 17 } ] @@ -9883,9 +10068,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 218 - ] + "children": [305] } ] } @@ -9896,9 +10079,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [303] } ] } @@ -9907,7 +10088,7 @@ ] }, { - "id": 136, + "id": 149, "name": "reauthenticate", "kind": 2048, "kindString": "Method", @@ -9915,13 +10096,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 626, + "line": 729, "character": 8 } ], "signatures": [ { - "id": 137, + "id": 150, "name": "reauthenticate", "kind": 4096, "kindString": "Call signature", @@ -9934,7 +10115,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -9946,7 +10127,7 @@ ] }, { - "id": 180, + "id": 256, "name": "refreshSession", "kind": 2048, "kindString": "Method", @@ -9954,13 +10135,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 902, + "line": 1207, "character": 8 } ], "signatures": [ { - "id": 181, + "id": 257, "name": "refreshSession", "kind": 4096, "kindString": "Call signature", @@ -9970,7 +10151,7 @@ }, "parameters": [ { - "id": 182, + "id": 258, "name": "currentSession", "kind": 32768, "kindString": "Parameter", @@ -9983,14 +10164,14 @@ "type": { "type": "reflection", "declaration": { - "id": 183, + "id": 259, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 184, + "id": 260, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -9998,7 +10179,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 902, + "line": 1207, "character": 42 } ], @@ -10012,9 +10193,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 184 - ] + "children": [260] } ] } @@ -10026,7 +10205,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -10038,7 +10217,7 @@ ] }, { - "id": 138, + "id": 153, "name": "resend", "kind": 2048, "kindString": "Method", @@ -10046,13 +10225,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 651, + "line": 764, "character": 8 } ], "signatures": [ { - "id": 139, + "id": 154, "name": "resend", "kind": 4096, "kindString": "Call signature", @@ -10062,17 +10241,17 @@ }, "parameters": [ { - "id": 140, + "id": 155, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 562, + "id": 708, "name": "ResendParams", "dereferenced": { - "id": 562, + "id": 708, "name": "ResendParams", "kind": 4194304, "kindString": "Type alias", @@ -10080,7 +10259,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 516, + "line": 586, "character": 12 } ], @@ -10090,14 +10269,14 @@ { "type": "reflection", "declaration": { - "id": 563, + "id": 709, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 565, + "id": 711, "name": "email", "kind": 1024, "kindString": "Property", @@ -10105,7 +10284,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 519, + "line": 589, "character": 6 } ], @@ -10115,7 +10294,7 @@ } }, { - "id": 566, + "id": 712, "name": "options", "kind": 1024, "kindString": "Property", @@ -10125,21 +10304,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 567, + "id": 713, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 568, + "id": 715, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -10152,7 +10331,30 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 522, + "line": 594, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 714, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 592, "character": 8 } ], @@ -10166,15 +10368,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 568 - ] + "children": [715, 714] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 16 } ] @@ -10182,7 +10382,7 @@ } }, { - "id": 564, + "id": 710, "name": "type", "kind": 1024, "kindString": "Property", @@ -10190,7 +10390,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 518, + "line": 588, "character": 6 } ], @@ -10199,7 +10399,7 @@ "typeArguments": [ { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType" }, { @@ -10226,17 +10426,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 565, - 566, - 564 - ] + "children": [711, 712, 710] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 517, + "line": 587, "character": 4 } ] @@ -10245,14 +10441,14 @@ { "type": "reflection", "declaration": { - "id": 569, + "id": 716, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 572, + "id": 719, "name": "options", "kind": 1024, "kindString": "Property", @@ -10262,21 +10458,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 573, + "id": 720, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 574, + "id": 721, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -10289,7 +10485,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 530, + "line": 602, "character": 8 } ], @@ -10303,15 +10499,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574 - ] + "children": [721] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 16 } ] @@ -10319,7 +10513,7 @@ } }, { - "id": 571, + "id": 718, "name": "phone", "kind": 1024, "kindString": "Property", @@ -10327,7 +10521,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 527, + "line": 599, "character": 6 } ], @@ -10337,7 +10531,7 @@ } }, { - "id": 570, + "id": 717, "name": "type", "kind": 1024, "kindString": "Property", @@ -10345,7 +10539,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 526, + "line": 598, "character": 6 } ], @@ -10354,7 +10548,7 @@ "typeArguments": [ { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType" }, { @@ -10381,17 +10575,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 572, - 571, - 570 - ] + "children": [719, 718, 717] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 525, + "line": 597, "character": 4 } ] @@ -10408,8 +10598,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 469, + "name": "AuthOtpResponse" } ], "qualifiedName": "Promise", @@ -10420,7 +10610,7 @@ ] }, { - "id": 222, + "id": 309, "name": "resetPasswordForEmail", "kind": 2048, "kindString": "Method", @@ -10428,23 +10618,23 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1111, + "line": 1468, "character": 8 } ], "signatures": [ { - "id": 223, + "id": 310, "name": "resetPasswordForEmail", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Sends a password reset request to an email address." + "shortText": "Sends a password reset request to an email address.\nThis method supports the PKCE flow." }, "parameters": [ { - "id": 224, + "id": 311, "name": "email", "kind": 32768, "kindString": "Parameter", @@ -10458,7 +10648,7 @@ } }, { - "id": 225, + "id": 312, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -10466,14 +10656,14 @@ "type": { "type": "reflection", "declaration": { - "id": 226, + "id": 313, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 228, + "id": 315, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -10486,7 +10676,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1115, + "line": 1472, "character": 6 } ], @@ -10496,7 +10686,7 @@ } }, { - "id": 227, + "id": 314, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -10509,7 +10699,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1114, + "line": 1471, "character": 6 } ], @@ -10523,10 +10713,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 228, - 227 - ] + "children": [315, 314] } ] } @@ -10543,14 +10730,14 @@ { "type": "reflection", "declaration": { - "id": 229, + "id": 316, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 230, + "id": 317, "name": "data", "kind": 1024, "kindString": "Property", @@ -10558,14 +10745,14 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1119, + "line": 1476, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 231, + "id": 318, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -10574,7 +10761,7 @@ } }, { - "id": 232, + "id": 319, "name": "error", "kind": 1024, "kindString": "Property", @@ -10582,7 +10769,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1120, + "line": 1477, "character": 8 } ], @@ -10596,10 +10783,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230, - 232 - ] + "children": [317, 319] } ] } @@ -10607,14 +10791,14 @@ { "type": "reflection", "declaration": { - "id": 233, + "id": 320, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 234, + "id": 321, "name": "data", "kind": 1024, "kindString": "Property", @@ -10622,7 +10806,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1122, + "line": 1479, "character": 8 } ], @@ -10632,7 +10816,7 @@ } }, { - "id": 235, + "id": 322, "name": "error", "kind": 1024, "kindString": "Property", @@ -10640,13 +10824,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1122, + "line": 1479, "character": 20 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -10655,10 +10839,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 234, - 235 - ] + "children": [321, 322] } ] } @@ -10674,7 +10855,7 @@ ] }, { - "id": 174, + "id": 244, "name": "setSession", "kind": 2048, "kindString": "Method", @@ -10682,13 +10863,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 838, + "line": 1132, "character": 8 } ], "signatures": [ { - "id": 175, + "id": 245, "name": "setSession", "kind": 4096, "kindString": "Call signature", @@ -10698,7 +10879,7 @@ }, "parameters": [ { - "id": 176, + "id": 246, "name": "currentSession", "kind": 32768, "kindString": "Parameter", @@ -10709,14 +10890,14 @@ "type": { "type": "reflection", "declaration": { - "id": 177, + "id": 247, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 178, + "id": 248, "name": "access_token", "kind": 1024, "kindString": "Property", @@ -10724,7 +10905,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 839, + "line": 1133, "character": 4 } ], @@ -10734,7 +10915,7 @@ } }, { - "id": 179, + "id": 249, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -10742,7 +10923,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 840, + "line": 1134, "character": 4 } ], @@ -10756,10 +10937,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 178, - 179 - ] + "children": [248, 249] } ] } @@ -10771,7 +10949,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -10783,7 +10961,7 @@ ] }, { - "id": 124, + "id": 137, "name": "signInWithIdToken", "kind": 2048, "kindString": "Method", @@ -10791,39 +10969,33 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 441, + "line": 525, "character": 8 } ], "signatures": [ { - "id": 125, + "id": 138, "name": "signInWithIdToken", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Allows signing in with an ID token issued by certain supported providers.\nThe ID token is verified for validity and a new session is established.", - "tags": [ - { - "tag": "experimental", - "text": "\n" - } - ] + "shortText": "Allows signing in with an OIDC ID token. The authentication provider used\nshould be enabled and configured." }, "parameters": [ { - "id": 126, + "id": 139, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "dereferenced": { - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "kind": 4194304, "kindString": "Type alias", @@ -10831,34 +11003,34 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 536, + "id": 678, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 539, - "name": "nonce", + "id": 681, + "name": "access_token", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, "comment": { - "shortText": "If the ID token contains a `nonce`, then the hash of this value is compared to the value in the ID token." + "shortText": "If the ID token contains an `at_hash` claim, then the hash of this value is compared to the value in the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 471, + "line": 527, "character": 2 } ], @@ -10868,7 +11040,30 @@ } }, { - "id": 540, + "id": 682, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains a `nonce` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 529, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 683, "name": "options", "kind": 1024, "kindString": "Property", @@ -10878,21 +11073,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 541, + "id": 684, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 542, + "id": 685, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -10905,7 +11100,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 474, + "line": 532, "character": 4 } ], @@ -10919,15 +11114,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 542 - ] + "children": [685] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 12 } ] @@ -10935,18 +11128,18 @@ } }, { - "id": 537, + "id": 679, "name": "provider", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "Only Apple and Google ID tokens are supported for use from within iOS or Android applications." + "shortText": "Provider name or OIDC `iss` value identifying which provider should be used to verify the provided token. Supported names: `google`, `apple`, `azure`, `facebook`, `keycloak` (deprecated)." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 467, + "line": 523, "character": 2 } ], @@ -10960,23 +11153,35 @@ { "type": "literal", "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "intrinsic", + "name": "string" } ] } }, { - "id": 538, + "id": 680, "name": "token", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "ID token issued by Apple or Google." + "shortText": "OIDC ID token issued by the specified provider. The `iss` claim in the ID token must match the supplied provider. Some ID tokens contain an `at_hash` which require that you provide an `access_token` value to be accepted properly. If the token contains a `nonce` claim you must supply the nonce used to obtain the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 469, + "line": 525, "character": 2 } ], @@ -10990,18 +11195,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 539, - 540, - 537, - 538 - ] + "children": [681, 682, 683, 679, 680] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 43 } ] @@ -11016,8 +11216,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -11028,7 +11228,7 @@ ] }, { - "id": 118, + "id": 128, "name": "signInWithOAuth", "kind": 2048, "kindString": "Method", @@ -11036,33 +11236,33 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 397, + "line": 471, "character": 8 } ], "signatures": [ { - "id": 119, + "id": 129, "name": "signInWithOAuth", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Log in an existing user via a third-party provider." + "shortText": "Log in an existing user via a third-party provider.\nThis method supports the PKCE flow." }, "parameters": [ { - "id": 120, + "id": 130, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "dereferenced": { - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "kind": 4194304, "kindString": "Type alias", @@ -11070,21 +11270,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 524, + "id": 666, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 526, + "id": 668, "name": "options", "kind": 1024, "kindString": "Property", @@ -11094,21 +11294,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 527, + "id": 669, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 530, + "id": 672, "name": "queryParams", "kind": 1024, "kindString": "Property", @@ -11121,14 +11321,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 531, + "id": 673, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -11136,19 +11336,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 18 } ], "indexSignature": { - "id": 532, + "id": 674, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 533, + "id": 675, "name": "key", "kind": 32768, "flags": {}, @@ -11167,7 +11367,7 @@ } }, { - "id": 528, + "id": 670, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -11180,7 +11380,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 453, + "line": 511, "character": 4 } ], @@ -11190,7 +11390,7 @@ } }, { - "id": 529, + "id": 671, "name": "scopes", "kind": 1024, "kindString": "Property", @@ -11203,7 +11403,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 455, + "line": 513, "character": 4 } ], @@ -11213,7 +11413,7 @@ } }, { - "id": 534, + "id": 676, "name": "skipBrowserRedirect", "kind": 1024, "kindString": "Property", @@ -11226,7 +11426,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 459, + "line": 517, "character": 4 } ], @@ -11240,18 +11440,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 530, - 528, - 529, - 534 - ] + "children": [672, 670, 671, 676] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 12 } ] @@ -11259,7 +11454,7 @@ } }, { - "id": 525, + "id": 667, "name": "provider", "kind": 1024, "kindString": "Property", @@ -11270,16 +11465,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 450, + "line": 508, "character": 2 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider", "dereferenced": { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -11317,6 +11512,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -11329,6 +11528,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -11375,16 +11578,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 526, - 525 - ] + "children": [668, 667] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 41 } ] @@ -11399,7 +11599,7 @@ "typeArguments": [ { "type": "reference", - "id": 355, + "id": 497, "name": "OAuthResponse" } ], @@ -11411,7 +11611,7 @@ ] }, { - "id": 127, + "id": 140, "name": "signInWithOtp", "kind": 2048, "kindString": "Method", @@ -11419,34 +11619,34 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 489, + "line": 582, "character": 8 } ], "signatures": [ { - "id": 128, + "id": 141, "name": "signInWithOtp", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Log in a user using magiclink or a one-time password (OTP).", - "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\n" + "text": "If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent.\nIf the `{{ .Token }}` variable is specified in the email template, an OTP will be sent.\nIf you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins.\n\nBe aware that you may get back an error message that will not distinguish\nbetween the cases where the account does not exist or, that the account\ncan only be accessed via social login.\n\nDo note that you will need to configure a Whatsapp sender on Twilio\nif you are using phone sign in with the 'whatsapp' channel. The whatsapp\nchannel is not supported on other providers\nat this time.\nThis method supports PKCE when an email is passed.\n" }, "parameters": [ { - "id": 129, + "id": 142, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "dereferenced": { - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "kind": 4194304, "kindString": "Type alias", @@ -11454,7 +11654,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 409, + "line": 467, "character": 12 } ], @@ -11464,14 +11664,14 @@ { "type": "reflection", "declaration": { - "id": 506, + "id": 648, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 507, + "id": 649, "name": "email", "kind": 1024, "kindString": "Property", @@ -11482,7 +11682,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 412, + "line": 470, "character": 6 } ], @@ -11492,7 +11692,7 @@ } }, { - "id": 508, + "id": 650, "name": "options", "kind": 1024, "kindString": "Property", @@ -11502,21 +11702,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 509, + "id": 651, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 513, + "id": 655, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -11529,7 +11729,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 425, + "line": 483, "character": 8 } ], @@ -11539,7 +11739,7 @@ } }, { - "id": 512, + "id": 654, "name": "data", "kind": 1024, "kindString": "Property", @@ -11553,7 +11753,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 423, + "line": 481, "character": 8 } ], @@ -11563,7 +11763,7 @@ } }, { - "id": 510, + "id": 652, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -11576,7 +11776,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 415, + "line": 473, "character": 8 } ], @@ -11586,7 +11786,7 @@ } }, { - "id": 511, + "id": 653, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -11599,7 +11799,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 417, + "line": 475, "character": 8 } ], @@ -11613,18 +11813,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 513, - 512, - 510, - 511 - ] + "children": [655, 654, 652, 653] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 16 } ] @@ -11636,16 +11831,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 507, - 508 - ] + "children": [649, 650] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 410, + "line": 468, "character": 4 } ] @@ -11654,14 +11846,14 @@ { "type": "reflection", "declaration": { - "id": 514, + "id": 656, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 516, + "id": 658, "name": "options", "kind": 1024, "kindString": "Property", @@ -11671,21 +11863,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 517, + "id": 659, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 520, + "id": 662, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -11698,7 +11890,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 441, + "line": 499, "character": 8 } ], @@ -11708,7 +11900,7 @@ } }, { - "id": 521, + "id": 663, "name": "channel", "kind": 1024, "kindString": "Property", @@ -11721,7 +11913,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 443, + "line": 501, "character": 8 } ], @@ -11740,7 +11932,7 @@ } }, { - "id": 519, + "id": 661, "name": "data", "kind": 1024, "kindString": "Property", @@ -11754,7 +11946,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 439, + "line": 497, "character": 8 } ], @@ -11764,7 +11956,7 @@ } }, { - "id": 518, + "id": 660, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -11777,7 +11969,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 433, + "line": 491, "character": 8 } ], @@ -11791,18 +11983,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 520, - 521, - 519, - 518 - ] + "children": [662, 663, 661, 660] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 16 } ] @@ -11810,7 +11997,7 @@ } }, { - "id": 515, + "id": 657, "name": "phone", "kind": 1024, "kindString": "Property", @@ -11821,7 +12008,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 430, + "line": 488, "character": 6 } ], @@ -11835,16 +12022,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 516, - 515 - ] + "children": [658, 657] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 428, + "line": 486, "character": 4 } ] @@ -11861,8 +12045,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 469, + "name": "AuthOtpResponse" } ], "qualifiedName": "Promise", @@ -11873,7 +12057,7 @@ ] }, { - "id": 115, + "id": 125, "name": "signInWithPassword", "kind": 2048, "kindString": "Method", @@ -11881,13 +12065,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 347, + "line": 415, "character": 8 } ], "signatures": [ { - "id": 116, + "id": 126, "name": "signInWithPassword", "kind": 4096, "kindString": "Call signature", @@ -11898,17 +12082,17 @@ }, "parameters": [ { - "id": 117, + "id": 127, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "dereferenced": { - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -11916,7 +12100,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 381, + "line": 439, "character": 12 } ], @@ -11926,14 +12110,14 @@ { "type": "reflection", "declaration": { - "id": 492, + "id": 634, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 493, + "id": 635, "name": "email", "kind": 1024, "kindString": "Property", @@ -11944,7 +12128,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 384, + "line": 442, "character": 6 } ], @@ -11954,7 +12138,7 @@ } }, { - "id": 495, + "id": 637, "name": "options", "kind": 1024, "kindString": "Property", @@ -11964,21 +12148,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 496, + "id": 638, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 639, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -11991,7 +12175,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 389, + "line": 447, "character": 8 } ], @@ -12005,15 +12189,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497 - ] + "children": [639] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 16 } ] @@ -12021,7 +12203,7 @@ } }, { - "id": 494, + "id": 636, "name": "password", "kind": 1024, "kindString": "Property", @@ -12032,7 +12214,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 386, + "line": 444, "character": 6 } ], @@ -12046,17 +12228,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 493, - 495, - 494 - ] + "children": [635, 637, 636] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 382, + "line": 440, "character": 4 } ] @@ -12065,14 +12243,14 @@ { "type": "reflection", "declaration": { - "id": 498, + "id": 640, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 501, + "id": 643, "name": "options", "kind": 1024, "kindString": "Property", @@ -12082,21 +12260,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 502, + "id": 644, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 504, + "id": 646, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -12109,7 +12287,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 405, + "line": 463, "character": 8 } ], @@ -12119,7 +12297,7 @@ } }, { - "id": 503, + "id": 645, "name": "data", "kind": 1024, "kindString": "Property", @@ -12133,7 +12311,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 403, + "line": 461, "character": 8 } ], @@ -12147,16 +12325,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 504, - 503 - ] + "children": [646, 645] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 16 } ] @@ -12164,7 +12339,7 @@ } }, { - "id": 500, + "id": 642, "name": "password", "kind": 1024, "kindString": "Property", @@ -12175,7 +12350,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 396, + "line": 454, "character": 6 } ], @@ -12185,7 +12360,7 @@ } }, { - "id": 499, + "id": 641, "name": "phone", "kind": 1024, "kindString": "Property", @@ -12196,7 +12371,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 394, + "line": 452, "character": 6 } ], @@ -12210,17 +12385,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 501, - 500, - 499 - ] + "children": [643, 642, 641] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 392, + "line": 450, "character": 4 } ] @@ -12237,8 +12408,8 @@ "typeArguments": [ { "type": "reference", - "id": 342, - "name": "AuthResponse" + "id": 484, + "name": "AuthTokenResponse" } ], "qualifiedName": "Promise", @@ -12249,7 +12420,7 @@ ] }, { - "id": 133, + "id": 146, "name": "signInWithSSO", "kind": 2048, "kindString": "Method", @@ -12257,13 +12428,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 597, + "line": 700, "character": 8 } ], "signatures": [ { - "id": 134, + "id": 147, "name": "signInWithSSO", "kind": 4096, "kindString": "Call signature", @@ -12274,17 +12445,17 @@ }, "parameters": [ { - "id": 135, + "id": 148, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 575, + "id": 722, "name": "SignInWithSSO", "dereferenced": { - "id": 575, + "id": 722, "name": "SignInWithSSO", "kind": 4194304, "kindString": "Type alias", @@ -12292,7 +12463,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 534, + "line": 606, "character": 12 } ], @@ -12302,14 +12473,14 @@ { "type": "reflection", "declaration": { - "id": 576, + "id": 723, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 578, + "id": 725, "name": "options", "kind": 1024, "kindString": "Property", @@ -12319,21 +12490,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 579, + "id": 726, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 581, + "id": 728, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -12346,7 +12517,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 543, + "line": 615, "character": 8 } ], @@ -12356,7 +12527,7 @@ } }, { - "id": 580, + "id": 727, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -12369,7 +12540,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 541, + "line": 613, "character": 8 } ], @@ -12383,16 +12554,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 581, - 580 - ] + "children": [728, 727] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 16 } ] @@ -12400,7 +12568,7 @@ } }, { - "id": 577, + "id": 724, "name": "providerId", "kind": 1024, "kindString": "Property", @@ -12411,7 +12579,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 537, + "line": 609, "character": 6 } ], @@ -12425,16 +12593,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 578, - 577 - ] + "children": [725, 724] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 535, + "line": 607, "character": 4 } ] @@ -12443,14 +12608,14 @@ { "type": "reflection", "declaration": { - "id": 582, + "id": 729, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 583, + "id": 730, "name": "domain", "kind": 1024, "kindString": "Property", @@ -12461,7 +12626,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 548, + "line": 620, "character": 6 } ], @@ -12471,7 +12636,7 @@ } }, { - "id": 584, + "id": 731, "name": "options", "kind": 1024, "kindString": "Property", @@ -12481,21 +12646,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 585, + "id": 732, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 587, + "id": 734, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -12508,7 +12673,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 554, + "line": 626, "character": 8 } ], @@ -12518,7 +12683,7 @@ } }, { - "id": 586, + "id": 733, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -12531,7 +12696,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 552, + "line": 624, "character": 8 } ], @@ -12545,16 +12710,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 587, - 586 - ] + "children": [734, 733] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 16 } ] @@ -12566,16 +12728,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 583, - 584 - ] + "children": [730, 731] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 546, + "line": 618, "character": 4 } ] @@ -12592,7 +12751,7 @@ "typeArguments": [ { "type": "reference", - "id": 368, + "id": 510, "name": "SSOResponse" } ], @@ -12604,7 +12763,7 @@ ] }, { - "id": 204, + "id": 285, "name": "signOut", "kind": 2048, "kindString": "Method", @@ -12612,35 +12771,126 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1045, + "line": 1372, "character": 8 } ], "signatures": [ { - "id": 205, + "id": 286, "name": "signOut", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Inside a browser context, `signOut()` will remove the logged in user from the browser session\nand log them out - removing all items from localstorage and then trigger a `\"SIGNED_OUT\"` event.", - "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n" + "text": "For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`.\nThere is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason.\n\nIf using others scope, no `SIGNED_OUT` event is fired!\n" }, + "parameters": [ + { + "id": 287, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 945, + "name": "SignOut", + "dereferenced": { + "id": 945, + "name": "SignOut", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 946, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 947, + "name": "scope", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines which sessions should be\nlogged out. Global means all\nsessions by this account. Local\nmeans only this session. Others\nmeans all other sessions except the\ncurrent one. When using others,\nthere is no sign-out event fired on\nthe current session!" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1066, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [947] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 22 + } + ] + } + } + } + }, + "defaultValue": "..." + } + ], "type": { "type": "reference", "typeArguments": [ { "type": "reflection", "declaration": { - "id": 206, + "id": 288, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 207, + "id": 289, "name": "error", "kind": 1024, "kindString": "Property", @@ -12648,8 +12898,8 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1045, - "character": 29 + "line": 1372, + "character": 67 } ], "type": { @@ -12661,7 +12911,7 @@ }, { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } ] @@ -12672,9 +12922,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 207 - ] + "children": [289] } ] } @@ -12688,7 +12936,7 @@ ] }, { - "id": 112, + "id": 122, "name": "signUp", "kind": 2048, "kindString": "Method", @@ -12696,35 +12944,35 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 268, + "line": 336, "character": 8 } ], "signatures": [ { - "id": 113, + "id": 123, "name": "signUp", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { "shortText": "Creates a new user.", - "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\n", + "text": "Be aware that if a user account exists in the system you may get back an\nerror message that attempts to hide this information from the user.\nThis method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled.\n", "returns": "A logged-in session if the server has \"autoconfirm\" ON" }, "parameters": [ { - "id": 114, + "id": 124, "name": "credentials", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 474, + "id": 616, "name": "SignUpWithPasswordCredentials", "dereferenced": { - "id": 474, + "id": 616, "name": "SignUpWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -12732,7 +12980,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 344, + "line": 402, "character": 12 } ], @@ -12742,14 +12990,14 @@ { "type": "reflection", "declaration": { - "id": 475, + "id": 617, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 476, + "id": 618, "name": "email", "kind": 1024, "kindString": "Property", @@ -12760,7 +13008,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 347, + "line": 405, "character": 6 } ], @@ -12770,7 +13018,7 @@ } }, { - "id": 478, + "id": 620, "name": "options", "kind": 1024, "kindString": "Property", @@ -12780,21 +13028,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 479, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 482, + "id": 624, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -12807,7 +13055,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 360, + "line": 418, "character": 8 } ], @@ -12817,7 +13065,7 @@ } }, { - "id": 481, + "id": 623, "name": "data", "kind": 1024, "kindString": "Property", @@ -12831,7 +13079,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 358, + "line": 416, "character": 8 } ], @@ -12841,7 +13089,7 @@ } }, { - "id": 480, + "id": 622, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -12854,7 +13102,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 352, + "line": 410, "character": 8 } ], @@ -12868,17 +13116,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 482, - 481, - 480 - ] + "children": [624, 623, 622] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 16 } ] @@ -12886,7 +13130,7 @@ } }, { - "id": 477, + "id": 619, "name": "password", "kind": 1024, "kindString": "Property", @@ -12897,7 +13141,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 349, + "line": 407, "character": 6 } ], @@ -12911,17 +13155,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 476, - 478, - 477 - ] + "children": [618, 620, 619] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 345, + "line": 403, "character": 4 } ] @@ -12930,14 +13170,14 @@ { "type": "reflection", "declaration": { - "id": 483, + "id": 625, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 486, + "id": 628, "name": "options", "kind": 1024, "kindString": "Property", @@ -12947,21 +13187,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 487, + "id": 629, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 489, + "id": 631, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -12974,7 +13214,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 376, + "line": 434, "character": 8 } ], @@ -12984,7 +13224,7 @@ } }, { - "id": 490, + "id": 632, "name": "channel", "kind": 1024, "kindString": "Property", @@ -12997,7 +13237,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 378, + "line": 436, "character": 8 } ], @@ -13016,7 +13256,7 @@ } }, { - "id": 488, + "id": 630, "name": "data", "kind": 1024, "kindString": "Property", @@ -13030,7 +13270,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 374, + "line": 432, "character": 8 } ], @@ -13044,17 +13284,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 489, - 490, - 488 - ] + "children": [631, 632, 630] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 16 } ] @@ -13062,7 +13298,7 @@ } }, { - "id": 485, + "id": 627, "name": "password", "kind": 1024, "kindString": "Property", @@ -13073,7 +13309,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 367, + "line": 425, "character": 6 } ], @@ -13083,7 +13319,7 @@ } }, { - "id": 484, + "id": 626, "name": "phone", "kind": 1024, "kindString": "Property", @@ -13094,7 +13330,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 365, + "line": 423, "character": 6 } ], @@ -13108,17 +13344,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 486, - 485, - 484 - ] + "children": [628, 627, 626] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 363, + "line": 421, "character": 4 } ] @@ -13135,7 +13367,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -13147,7 +13379,7 @@ ] }, { - "id": 284, + "id": 371, "name": "startAutoRefresh", "kind": 2048, "kindString": "Method", @@ -13155,13 +13387,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1415, + "line": 1861, "character": 8 } ], "signatures": [ { - "id": 285, + "id": 372, "name": "startAutoRefresh", "kind": 4096, "kindString": "Call signature", @@ -13186,7 +13418,7 @@ ] }, { - "id": 286, + "id": 373, "name": "stopAutoRefresh", "kind": 2048, "kindString": "Method", @@ -13194,13 +13426,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 1428, + "line": 1874, "character": 8 } ], "signatures": [ { - "id": 287, + "id": 374, "name": "stopAutoRefresh", "kind": 4096, "kindString": "Call signature", @@ -13225,7 +13457,7 @@ ] }, { - "id": 161, + "id": 225, "name": "updateUser", "kind": 2048, "kindString": "Method", @@ -13233,13 +13465,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 785, + "line": 1064, "character": 8 } ], "signatures": [ { - "id": 162, + "id": 226, "name": "updateUser", "kind": 4096, "kindString": "Call signature", @@ -13249,24 +13481,24 @@ }, "parameters": [ { - "id": 163, + "id": 227, "name": "attributes", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes", "dereferenced": { - "id": 448, + "id": 590, "name": "UserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 453, + "id": 595, "name": "data", "kind": 1024, "kindString": "Property", @@ -13280,7 +13512,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 272, + "line": 330, "character": 2 } ], @@ -13290,7 +13522,7 @@ } }, { - "id": 449, + "id": 591, "name": "email", "kind": 1024, "kindString": "Property", @@ -13303,7 +13535,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -13313,7 +13545,7 @@ } }, { - "id": 452, + "id": 594, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -13327,7 +13559,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -13337,7 +13569,7 @@ } }, { - "id": 451, + "id": 593, "name": "password", "kind": 1024, "kindString": "Property", @@ -13350,7 +13582,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -13360,7 +13592,7 @@ } }, { - "id": 450, + "id": 592, "name": "phone", "kind": 1024, "kindString": "Property", @@ -13373,7 +13605,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -13387,19 +13619,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 453, - 449, - 452, - 451, - 450 - ] + "children": [595, 591, 594, 593, 592] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 243, + "line": 301, "character": 17 } ] @@ -13407,7 +13633,7 @@ } }, { - "id": 164, + "id": 228, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13415,14 +13641,14 @@ "type": { "type": "reflection", "declaration": { - "id": 165, + "id": 229, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 166, + "id": 230, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -13432,7 +13658,7 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 788, + "line": 1067, "character": 6 } ], @@ -13446,9 +13672,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 166 - ] + "children": [230] } ] } @@ -13461,7 +13685,7 @@ "typeArguments": [ { "type": "reference", - "id": 377, + "id": 519, "name": "UserResponse" } ], @@ -13473,7 +13697,7 @@ ] }, { - "id": 130, + "id": 143, "name": "verifyOtp", "kind": 2048, "kindString": "Method", @@ -13481,13 +13705,13 @@ "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 544, + "line": 637, "character": 8 } ], "signatures": [ { - "id": 131, + "id": 144, "name": "verifyOtp", "kind": 4096, "kindString": "Call signature", @@ -13497,17 +13721,17 @@ }, "parameters": [ { - "id": 132, + "id": 145, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 543, + "id": 686, "name": "VerifyOtpParams", "dereferenced": { - "id": 543, + "id": 686, "name": "VerifyOtpParams", "kind": 4194304, "kindString": "Type alias", @@ -13515,7 +13739,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 478, + "line": 536, "character": 12 } ], @@ -13523,14 +13747,14 @@ "type": "union", "types": [ { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -13540,21 +13764,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -13573,7 +13797,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -13583,7 +13807,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -13596,7 +13820,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -13610,17 +13834,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -13631,7 +13852,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -13641,7 +13862,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -13652,7 +13873,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -13662,7 +13883,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -13673,16 +13894,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -13690,7 +13911,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -13715,31 +13936,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -13750,7 +13966,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -13760,7 +13976,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -13770,21 +13986,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -13792,12 +14008,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -13807,7 +14029,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -13820,7 +14042,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -13834,17 +14056,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -13855,7 +14074,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -13865,7 +14084,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -13876,16 +14095,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -13893,7 +14112,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -13934,18 +14153,122 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, + "character": 17 + } + ] + }, + { + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, "character": 17 } ] @@ -13961,7 +14284,7 @@ "typeArguments": [ { "type": "reference", - "id": 342, + "id": 456, "name": "AuthResponse" } ], @@ -13977,56 +14300,139 @@ { "title": "Constructors", "kind": 512, - "children": [ - 78 - ] + "children": [80] }, { "title": "Properties", "kind": 1024, - "children": [ - 81, - 82 - ] + "children": [84, 85] }, { "title": "Methods", "kind": 2048, "children": [ - 121, - 141, - 158, - 108, - 208, - 136, - 180, - 138, - 222, - 174, - 124, - 118, - 127, - 115, - 133, - 204, - 112, - 284, - 286, - 161, - 130 + 131, 156, 219, 118, 295, 149, 256, 153, 309, 244, 137, 128, 140, 125, 146, 285, 122, + 371, 373, 225, 143 ] } ], "sources": [ { "fileName": "src/GoTrueClient.ts", - "line": 93, + "line": 106, "character": 21 } ] }, { - "id": 397, + "id": 420, + "name": "NavigatorLockAcquireTimeoutError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 421, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 21, + "character": 2 + } + ], + "signatures": [ + { + "id": 422, + "name": "new NavigatorLockAcquireTimeoutError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 423, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 420, + "name": "NavigatorLockAcquireTimeoutError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + }, + { + "id": 424, + "name": "isAcquireTimeout", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 19, + "character": 18 + } + ], + "type": { + "type": "literal", + "value": true + }, + "defaultValue": "true" + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [421] + }, + { + "title": "Properties", + "kind": 1024, + "children": [424] + } + ], + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 18, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ] + }, + { + "id": 539, "name": "AMREntry", "kind": 256, "kindString": "Interface", @@ -14043,7 +14449,7 @@ }, "children": [ { - "id": 398, + "id": 540, "name": "method", "kind": 1024, "kindString": "Property", @@ -14054,7 +14460,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 161, + "line": 219, "character": 2 } ], @@ -14064,7 +14470,7 @@ } }, { - "id": 399, + "id": 541, "name": "timestamp", "kind": 1024, "kindString": "Property", @@ -14075,7 +14481,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 167, + "line": 225, "character": 2 } ], @@ -14089,29 +14495,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 398, - 399 - ] + "children": [540, 541] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 159, + "line": 217, "character": 17 } ] }, { - "id": 454, + "id": 596, "name": "AdminUserAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 456, + "id": 598, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -14125,7 +14528,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 296, + "line": 354, "character": 2 } ], @@ -14135,7 +14538,7 @@ } }, { - "id": 459, + "id": 601, "name": "ban_duration", "kind": 1024, "kindString": "Property", @@ -14149,7 +14552,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 322, + "line": 380, "character": 2 } ], @@ -14159,7 +14562,7 @@ } }, { - "id": 462, + "id": 604, "name": "email", "kind": 1024, "kindString": "Property", @@ -14172,7 +14575,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 247, + "line": 305, "character": 2 } ], @@ -14186,7 +14589,7 @@ } }, { - "id": 457, + "id": 599, "name": "email_confirm", "kind": 1024, "kindString": "Property", @@ -14200,7 +14603,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 303, + "line": 361, "character": 2 } ], @@ -14210,7 +14613,7 @@ } }, { - "id": 461, + "id": 603, "name": "nonce", "kind": 1024, "kindString": "Property", @@ -14224,7 +14627,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 264, + "line": 322, "character": 2 } ], @@ -14238,7 +14641,7 @@ } }, { - "id": 460, + "id": 602, "name": "password", "kind": 1024, "kindString": "Property", @@ -14251,7 +14654,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 257, + "line": 315, "character": 2 } ], @@ -14265,7 +14668,7 @@ } }, { - "id": 463, + "id": 605, "name": "phone", "kind": 1024, "kindString": "Property", @@ -14278,7 +14681,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 252, + "line": 310, "character": 2 } ], @@ -14292,7 +14695,7 @@ } }, { - "id": 458, + "id": 600, "name": "phone_confirm", "kind": 1024, "kindString": "Property", @@ -14306,7 +14709,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 310, + "line": 368, "character": 2 } ], @@ -14316,7 +14719,7 @@ } }, { - "id": 455, + "id": 597, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -14330,7 +14733,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 286, + "line": 344, "character": 2 } ], @@ -14344,23 +14747,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 456, - 459, - 462, - 457, - 461, - 460, - 463, - 458, - 455 - ] + "children": [598, 601, 604, 599, 603, 602, 605, 600, 597] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 275, + "line": 333, "character": 17 } ], @@ -14370,7 +14763,7 @@ "typeArguments": [ { "type": "reference", - "id": 448, + "id": 590, "name": "UserAttributes" }, { @@ -14385,7 +14778,7 @@ ] }, { - "id": 411, + "id": 553, "name": "Factor", "kind": 256, "kindString": "Interface", @@ -14409,7 +14802,7 @@ }, "children": [ { - "id": 416, + "id": 558, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -14417,7 +14810,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 205, + "line": 263, "character": 2 } ], @@ -14427,7 +14820,7 @@ } }, { - "id": 414, + "id": 556, "name": "factor_type", "kind": 1024, "kindString": "Property", @@ -14438,7 +14831,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 200, + "line": 258, "character": 2 } ], @@ -14448,7 +14841,7 @@ } }, { - "id": 413, + "id": 555, "name": "friendly_name", "kind": 1024, "kindString": "Property", @@ -14461,7 +14854,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 194, + "line": 252, "character": 2 } ], @@ -14471,7 +14864,7 @@ } }, { - "id": 412, + "id": 554, "name": "id", "kind": 1024, "kindString": "Property", @@ -14482,7 +14875,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 191, + "line": 249, "character": 2 } ], @@ -14492,7 +14885,7 @@ } }, { - "id": 415, + "id": 557, "name": "status", "kind": 1024, "kindString": "Property", @@ -14503,7 +14896,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 203, + "line": 261, "character": 2 } ], @@ -14522,7 +14915,7 @@ } }, { - "id": 417, + "id": 559, "name": "updated_at", "kind": 1024, "kindString": "Property", @@ -14530,7 +14923,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 206, + "line": 264, "character": 2 } ], @@ -14544,33 +14937,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 416, - 414, - 413, - 412, - 415, - 417 - ] + "children": [558, 556, 555, 554, 557, 559] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 189, + "line": 247, "character": 17 } ] }, { - "id": 610, + "id": 757, "name": "GenerateLinkOptions", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 611, + "id": 758, "name": "data", "kind": 1024, "kindString": "Property", @@ -14584,7 +14970,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 596, + "line": 668, "character": 2 } ], @@ -14594,7 +14980,7 @@ } }, { - "id": 612, + "id": 759, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -14607,7 +14993,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 598, + "line": 670, "character": 2 } ], @@ -14621,22 +15007,19 @@ { "title": "Properties", "kind": 1024, - "children": [ - 611, - 612 - ] + "children": [758, 759] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 590, + "line": 662, "character": 17 } ] }, { - "id": 769, + "id": 916, "name": "GoTrueAdminMFAApi", "kind": 256, "kindString": "Interface", @@ -14652,14 +15035,14 @@ }, "children": [ { - "id": 773, + "id": 920, "name": "deleteFactor", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 774, + "id": 921, "name": "deleteFactor", "kind": 4096, "kindString": "Call signature", @@ -14679,17 +15062,17 @@ }, "parameters": [ { - "id": 775, + "id": 922, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "dereferenced": { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -14705,21 +15088,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -14730,7 +15113,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -14740,7 +15123,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -14751,7 +15134,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -14765,16 +15148,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -14789,7 +15169,7 @@ "typeArguments": [ { "type": "reference", - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse" } ], @@ -14801,14 +15181,14 @@ ] }, { - "id": 770, + "id": 917, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 771, + "id": 918, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -14818,17 +15198,17 @@ }, "parameters": [ { - "id": 772, + "id": 919, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "dereferenced": { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -14844,21 +15224,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -14869,7 +15249,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -14883,15 +15263,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -14906,7 +15284,7 @@ "typeArguments": [ { "type": "reference", - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse" } ], @@ -14922,22 +15300,19 @@ { "title": "Methods", "kind": 2048, - "children": [ - 773, - 770 - ] + "children": [920, 917] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 928, + "line": 1000, "character": 17 } ] }, { - "id": 724, + "id": 871, "name": "GoTrueMFAApi", "kind": 256, "kindString": "Interface", @@ -14947,14 +15322,14 @@ }, "children": [ { - "id": 728, + "id": 875, "name": "challenge", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 729, + "id": 876, "name": "challenge", "kind": 4096, "kindString": "Call signature", @@ -14964,17 +15339,17 @@ }, "parameters": [ { - "id": 730, + "id": 877, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 648, + "id": 795, "name": "MFAChallengeParams", "dereferenced": { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -14982,21 +15357,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15007,7 +15382,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -15021,15 +15396,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -15044,7 +15417,7 @@ "typeArguments": [ { "type": "reference", - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse" } ], @@ -15056,14 +15429,14 @@ ] }, { - "id": 737, + "id": 884, "name": "challengeAndVerify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 738, + "id": 885, "name": "challengeAndVerify", "kind": 4096, "kindString": "Call signature", @@ -15073,17 +15446,17 @@ }, "parameters": [ { - "id": 739, + "id": 886, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "dereferenced": { - "id": 651, + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -15091,21 +15464,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -15116,7 +15489,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -15126,7 +15499,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15137,7 +15510,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -15151,16 +15524,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -15175,7 +15545,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -15187,14 +15557,14 @@ ] }, { - "id": 725, + "id": 872, "name": "enroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 726, + "id": 873, "name": "enroll", "kind": 4096, "kindString": "Call signature", @@ -15205,17 +15575,17 @@ }, "parameters": [ { - "id": 727, + "id": 874, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 635, + "id": 782, "name": "MFAEnrollParams", "dereferenced": { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -15223,21 +15593,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -15248,7 +15618,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -15258,7 +15628,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -15271,7 +15641,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -15281,7 +15651,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -15294,7 +15664,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -15308,17 +15678,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -15333,7 +15699,7 @@ "typeArguments": [ { "type": "reference", - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse" } ], @@ -15345,14 +15711,14 @@ ] }, { - "id": 742, + "id": 889, "name": "getAuthenticatorAssuranceLevel", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 743, + "id": 890, "name": "getAuthenticatorAssuranceLevel", "kind": 4096, "kindString": "Call signature", @@ -15366,7 +15732,7 @@ "typeArguments": [ { "type": "reference", - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse" } ], @@ -15378,14 +15744,14 @@ ] }, { - "id": 740, + "id": 887, "name": "listFactors", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 741, + "id": 888, "name": "listFactors", "kind": 4096, "kindString": "Call signature", @@ -15412,7 +15778,7 @@ "typeArguments": [ { "type": "reference", - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse" } ], @@ -15424,14 +15790,14 @@ ] }, { - "id": 734, + "id": 881, "name": "unenroll", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 735, + "id": 882, "name": "unenroll", "kind": 4096, "kindString": "Call signature", @@ -15441,17 +15807,17 @@ }, "parameters": [ { - "id": 736, + "id": 883, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "dereferenced": { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -15459,21 +15825,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15484,7 +15850,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -15498,15 +15864,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -15521,7 +15885,7 @@ "typeArguments": [ { "type": "reference", - "id": 683, + "id": 830, "name": "AuthMFAUnenrollResponse" } ], @@ -15533,14 +15897,14 @@ ] }, { - "id": 731, + "id": 878, "name": "verify", "kind": 2048, "kindString": "Method", "flags": {}, "signatures": [ { - "id": 732, + "id": 879, "name": "verify", "kind": 4096, "kindString": "Call signature", @@ -15550,17 +15914,17 @@ }, "parameters": [ { - "id": 733, + "id": 880, "name": "params", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 643, + "id": 790, "name": "MFAVerifyParams", "dereferenced": { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -15568,21 +15932,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -15593,7 +15957,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -15603,7 +15967,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -15614,7 +15978,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -15624,7 +15988,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -15635,7 +15999,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -15649,17 +16013,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -15674,7 +16034,7 @@ "typeArguments": [ { "type": "reference", - "id": 655, + "id": 802, "name": "AuthMFAVerifyResponse" } ], @@ -15690,34 +16050,26 @@ { "title": "Methods", "kind": 2048, - "children": [ - 728, - 737, - 725, - 742, - 740, - 734, - 731 - ] + "children": [875, 884, 872, 889, 887, 881, 878] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 815, + "line": 887, "character": 17 } ] }, { - "id": 388, + "id": 530, "name": "Session", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 391, + "id": 533, "name": "access_token", "kind": 1024, "kindString": "Property", @@ -15728,7 +16080,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 134, + "line": 192, "character": 2 } ], @@ -15738,7 +16090,7 @@ } }, { - "id": 394, + "id": 536, "name": "expires_at", "kind": 1024, "kindString": "Property", @@ -15751,7 +16103,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 146, + "line": 204, "character": 2 } ], @@ -15761,7 +16113,7 @@ } }, { - "id": 393, + "id": 535, "name": "expires_in", "kind": 1024, "kindString": "Property", @@ -15772,7 +16124,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 142, + "line": 200, "character": 2 } ], @@ -15782,7 +16134,7 @@ } }, { - "id": 390, + "id": 532, "name": "provider_refresh_token", "kind": 1024, "kindString": "Property", @@ -15795,7 +16147,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 130, + "line": 188, "character": 2 } ], @@ -15814,7 +16166,7 @@ } }, { - "id": 389, + "id": 531, "name": "provider_token", "kind": 1024, "kindString": "Property", @@ -15827,7 +16179,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 125, + "line": 183, "character": 2 } ], @@ -15846,7 +16198,7 @@ } }, { - "id": 392, + "id": 534, "name": "refresh_token", "kind": 1024, "kindString": "Property", @@ -15857,7 +16209,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 138, + "line": 196, "character": 2 } ], @@ -15867,7 +16219,7 @@ } }, { - "id": 395, + "id": 537, "name": "token_type", "kind": 1024, "kindString": "Property", @@ -15875,7 +16227,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 147, + "line": 205, "character": 2 } ], @@ -15885,7 +16237,7 @@ } }, { - "id": 396, + "id": 538, "name": "user", "kind": 1024, "kindString": "Property", @@ -15893,23 +16245,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 148, + "line": 206, "character": 2 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User", "dereferenced": { - "id": 425, + "id": 567, "name": "User", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 436, + "id": 578, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -15919,7 +16271,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 229, + "line": 287, "character": 2 } ], @@ -15929,7 +16281,7 @@ } }, { - "id": 427, + "id": 569, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -15937,23 +16289,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 220, + "line": 278, "character": 2 } ], "type": { "type": "reference", - "id": 418, + "id": 560, "name": "UserAppMetadata", "dereferenced": { - "id": 418, + "id": 560, "name": "UserAppMetadata", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 419, + "id": 561, "name": "provider", "kind": 1024, "kindString": "Property", @@ -15963,7 +16315,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 210, + "line": 268, "character": 2 } ], @@ -15977,27 +16329,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 419 - ] + "children": [561] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 209, + "line": 267, "character": 17 } ], "indexSignature": { - "id": 420, + "id": 562, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 421, + "id": 563, "name": "key", "kind": 32768, "flags": {}, @@ -16016,7 +16366,7 @@ } }, { - "id": 429, + "id": 571, "name": "aud", "kind": 1024, "kindString": "Property", @@ -16024,7 +16374,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 222, + "line": 280, "character": 2 } ], @@ -16034,7 +16384,7 @@ } }, { - "id": 430, + "id": 572, "name": "confirmation_sent_at", "kind": 1024, "kindString": "Property", @@ -16044,7 +16394,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 223, + "line": 281, "character": 2 } ], @@ -16054,7 +16404,7 @@ } }, { - "id": 440, + "id": 582, "name": "confirmed_at", "kind": 1024, "kindString": "Property", @@ -16064,7 +16414,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 233, + "line": 291, "character": 2 } ], @@ -16074,7 +16424,7 @@ } }, { - "id": 439, + "id": 581, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -16082,7 +16432,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 232, + "line": 290, "character": 2 } ], @@ -16092,7 +16442,7 @@ } }, { - "id": 437, + "id": 579, "name": "email", "kind": 1024, "kindString": "Property", @@ -16102,7 +16452,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 230, + "line": 288, "character": 2 } ], @@ -16112,7 +16462,7 @@ } }, { - "id": 432, + "id": 574, "name": "email_change_sent_at", "kind": 1024, "kindString": "Property", @@ -16122,7 +16472,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 225, + "line": 283, "character": 2 } ], @@ -16132,7 +16482,7 @@ } }, { - "id": 441, + "id": 583, "name": "email_confirmed_at", "kind": 1024, "kindString": "Property", @@ -16142,7 +16492,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 234, + "line": 292, "character": 2 } ], @@ -16152,7 +16502,7 @@ } }, { - "id": 447, + "id": 589, "name": "factors", "kind": 1024, "kindString": "Property", @@ -16162,7 +16512,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 240, + "line": 298, "character": 2 } ], @@ -16170,13 +16520,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 426, + "id": 568, "name": "id", "kind": 1024, "kindString": "Property", @@ -16184,7 +16534,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 219, + "line": 277, "character": 2 } ], @@ -16194,7 +16544,7 @@ } }, { - "id": 446, + "id": 588, "name": "identities", "kind": 1024, "kindString": "Property", @@ -16204,7 +16554,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 239, + "line": 297, "character": 2 } ], @@ -16212,13 +16562,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 400, + "id": 542, "name": "UserIdentity" } } }, { - "id": 435, + "id": 577, "name": "invited_at", "kind": 1024, "kindString": "Property", @@ -16228,7 +16578,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 228, + "line": 286, "character": 2 } ], @@ -16238,7 +16588,7 @@ } }, { - "id": 443, + "id": 585, "name": "last_sign_in_at", "kind": 1024, "kindString": "Property", @@ -16248,7 +16598,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 236, + "line": 294, "character": 2 } ], @@ -16258,7 +16608,7 @@ } }, { - "id": 433, + "id": 575, "name": "new_email", "kind": 1024, "kindString": "Property", @@ -16268,7 +16618,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 226, + "line": 284, "character": 2 } ], @@ -16278,7 +16628,7 @@ } }, { - "id": 434, + "id": 576, "name": "new_phone", "kind": 1024, "kindString": "Property", @@ -16288,7 +16638,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 227, + "line": 285, "character": 2 } ], @@ -16298,7 +16648,7 @@ } }, { - "id": 438, + "id": 580, "name": "phone", "kind": 1024, "kindString": "Property", @@ -16308,7 +16658,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 231, + "line": 289, "character": 2 } ], @@ -16318,7 +16668,7 @@ } }, { - "id": 442, + "id": 584, "name": "phone_confirmed_at", "kind": 1024, "kindString": "Property", @@ -16328,7 +16678,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 235, + "line": 293, "character": 2 } ], @@ -16338,7 +16688,7 @@ } }, { - "id": 431, + "id": 573, "name": "recovery_sent_at", "kind": 1024, "kindString": "Property", @@ -16348,7 +16698,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 224, + "line": 282, "character": 2 } ], @@ -16358,7 +16708,7 @@ } }, { - "id": 444, + "id": 586, "name": "role", "kind": 1024, "kindString": "Property", @@ -16368,7 +16718,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 237, + "line": 295, "character": 2 } ], @@ -16378,7 +16728,7 @@ } }, { - "id": 445, + "id": 587, "name": "updated_at", "kind": 1024, "kindString": "Property", @@ -16388,7 +16738,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 238, + "line": 296, "character": 2 } ], @@ -16398,7 +16748,7 @@ } }, { - "id": 428, + "id": 570, "name": "user_metadata", "kind": 1024, "kindString": "Property", @@ -16406,16 +16756,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 221, + "line": 279, "character": 2 } ], "type": { "type": "reference", - "id": 422, + "id": 564, "name": "UserMetadata", "dereferenced": { - "id": 422, + "id": 564, "name": "UserMetadata", "kind": 256, "kindString": "Interface", @@ -16423,19 +16773,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 214, + "line": 272, "character": 17 } ], "indexSignature": { - "id": 423, + "id": 565, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 424, + "id": 566, "name": "key", "kind": 32768, "flags": {}, @@ -16459,35 +16809,15 @@ "title": "Properties", "kind": 1024, "children": [ - 436, - 427, - 429, - 430, - 440, - 439, - 437, - 432, - 441, - 447, - 426, - 446, - 435, - 443, - 433, - 434, - 438, - 442, - 431, - 444, - 445, - 428 + 578, 569, 571, 572, 582, 581, 579, 574, 583, 589, 568, 588, 577, 585, 575, 576, + 580, 584, 573, 586, 587, 570 ] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 218, + "line": 276, "character": 17 } ] @@ -16499,35 +16829,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 391, - 394, - 393, - 390, - 389, - 392, - 395, - 396 - ] + "children": [533, 536, 535, 532, 531, 534, 537, 538] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 121, + "line": 179, "character": 17 } ] }, { - "id": 464, + "id": 606, "name": "Subscription", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 465, + "id": 607, "name": "id", "kind": 1024, "kindString": "Property", @@ -16538,7 +16859,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 329, + "line": 387, "character": 2 } ], @@ -16548,7 +16869,7 @@ } }, { - "id": 466, + "id": 608, "name": "callback", "kind": 2048, "kindString": "Method", @@ -16556,13 +16877,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 333, + "line": 391, "character": 2 } ], "signatures": [ { - "id": 467, + "id": 609, "name": "callback", "kind": 4096, "kindString": "Call signature", @@ -16572,17 +16893,17 @@ }, "parameters": [ { - "id": 468, + "id": 610, "name": "event", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 327, + "id": 430, "name": "AuthChangeEvent", "dereferenced": { - "id": 327, + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -16590,7 +16911,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -16622,7 +16943,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -16630,7 +16951,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -16645,7 +16966,7 @@ } }, { - "id": 469, + "id": 611, "name": "session", "kind": 32768, "kindString": "Parameter", @@ -16659,7 +16980,7 @@ }, { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } ] @@ -16674,7 +16995,7 @@ ] }, { - "id": 470, + "id": 612, "name": "unsubscribe", "kind": 2048, "kindString": "Method", @@ -16682,13 +17003,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 337, + "line": 395, "character": 2 } ], "signatures": [ { - "id": 471, + "id": 613, "name": "unsubscribe", "kind": 4096, "kindString": "Call signature", @@ -16708,36 +17029,31 @@ { "title": "Properties", "kind": 1024, - "children": [ - 465 - ] + "children": [607] }, { "title": "Methods", "kind": 2048, - "children": [ - 466, - 470 - ] + "children": [608, 612] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 325, + "line": 383, "character": 17 } ] }, { - "id": 472, + "id": 614, "name": "UpdatableFactorAttributes", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 473, + "id": 615, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -16745,7 +17061,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 341, + "line": 399, "character": 2 } ], @@ -16759,28 +17075,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 473 - ] + "children": [615] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 340, + "line": 398, "character": 17 } ] }, { - "id": 425, + "id": 567, "name": "User", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 436, + "id": 578, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -16790,7 +17104,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 229, + "line": 287, "character": 2 } ], @@ -16800,7 +17114,7 @@ } }, { - "id": 427, + "id": 569, "name": "app_metadata", "kind": 1024, "kindString": "Property", @@ -16808,23 +17122,23 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 220, + "line": 278, "character": 2 } ], "type": { "type": "reference", - "id": 418, + "id": 560, "name": "UserAppMetadata", "dereferenced": { - "id": 418, + "id": 560, "name": "UserAppMetadata", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 419, + "id": 561, "name": "provider", "kind": 1024, "kindString": "Property", @@ -16834,7 +17148,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 210, + "line": 268, "character": 2 } ], @@ -16848,27 +17162,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 419 - ] + "children": [561] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 209, + "line": 267, "character": 17 } ], "indexSignature": { - "id": 420, + "id": 562, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 421, + "id": 563, "name": "key", "kind": 32768, "flags": {}, @@ -16887,7 +17199,7 @@ } }, { - "id": 429, + "id": 571, "name": "aud", "kind": 1024, "kindString": "Property", @@ -16895,7 +17207,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 222, + "line": 280, "character": 2 } ], @@ -16905,7 +17217,7 @@ } }, { - "id": 430, + "id": 572, "name": "confirmation_sent_at", "kind": 1024, "kindString": "Property", @@ -16915,7 +17227,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 223, + "line": 281, "character": 2 } ], @@ -16925,7 +17237,7 @@ } }, { - "id": 440, + "id": 582, "name": "confirmed_at", "kind": 1024, "kindString": "Property", @@ -16935,7 +17247,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 233, + "line": 291, "character": 2 } ], @@ -16945,7 +17257,7 @@ } }, { - "id": 439, + "id": 581, "name": "created_at", "kind": 1024, "kindString": "Property", @@ -16953,7 +17265,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 232, + "line": 290, "character": 2 } ], @@ -16963,7 +17275,7 @@ } }, { - "id": 437, + "id": 579, "name": "email", "kind": 1024, "kindString": "Property", @@ -16973,7 +17285,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 230, + "line": 288, "character": 2 } ], @@ -16983,7 +17295,7 @@ } }, { - "id": 432, + "id": 574, "name": "email_change_sent_at", "kind": 1024, "kindString": "Property", @@ -16993,7 +17305,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 225, + "line": 283, "character": 2 } ], @@ -17003,7 +17315,7 @@ } }, { - "id": 441, + "id": 583, "name": "email_confirmed_at", "kind": 1024, "kindString": "Property", @@ -17013,7 +17325,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 234, + "line": 292, "character": 2 } ], @@ -17023,7 +17335,7 @@ } }, { - "id": 447, + "id": 589, "name": "factors", "kind": 1024, "kindString": "Property", @@ -17033,7 +17345,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 240, + "line": 298, "character": 2 } ], @@ -17041,13 +17353,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 426, + "id": 568, "name": "id", "kind": 1024, "kindString": "Property", @@ -17055,7 +17367,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 219, + "line": 277, "character": 2 } ], @@ -17065,7 +17377,7 @@ } }, { - "id": 446, + "id": 588, "name": "identities", "kind": 1024, "kindString": "Property", @@ -17075,7 +17387,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 239, + "line": 297, "character": 2 } ], @@ -17083,13 +17395,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 400, + "id": 542, "name": "UserIdentity" } } }, { - "id": 435, + "id": 577, "name": "invited_at", "kind": 1024, "kindString": "Property", @@ -17099,7 +17411,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 228, + "line": 286, "character": 2 } ], @@ -17109,7 +17421,542 @@ } }, { - "id": 443, + "id": 585, + "name": "last_sign_in_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 294, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 575, + "name": "new_email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 284, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 576, + "name": "new_phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 285, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 580, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 289, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 584, + "name": "phone_confirmed_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 293, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 573, + "name": "recovery_sent_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 282, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 586, + "name": "role", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 295, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 587, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 296, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 570, + "name": "user_metadata", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 279, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 564, + "name": "UserMetadata", + "dereferenced": { + "id": 564, + "name": "UserMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 272, + "character": 17 + } + ], + "indexSignature": { + "id": 565, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 566, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 578, 569, 571, 572, 582, 581, 579, 574, 583, 589, 568, 588, 577, 585, 575, 576, 580, + 584, 573, 586, 587, 570 + ] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 276, + "character": 17 + } + ] + }, + { + "id": 560, + "name": "UserAppMetadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 561, + "name": "provider", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 268, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [561] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 267, + "character": 17 + } + ], + "indexSignature": { + "id": 562, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 563, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + }, + { + "id": 590, + "name": "UserAttributes", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 595, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", + "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 330, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 591, + "name": "email", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's email." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 305, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 594, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", + "text": "Call reauthenticate() to obtain the nonce first.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 322, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 593, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's password." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 315, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 592, + "name": "phone", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The user's phone." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 310, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [595, 591, 594, 593, 592] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 301, + "character": 17 + } + ] + }, + { + "id": 542, + "name": "UserIdentity", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 550, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 235, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 543, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 229, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 545, + "name": "identity_data", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 231, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 546, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 547, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 548, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 551, "name": "last_sign_in_at", "kind": 1024, "kindString": "Property", @@ -17129,17 +17976,15 @@ } }, { - "id": 433, - "name": "new_email", + "id": 549, + "name": "provider", "kind": 1024, "kindString": "Property", - "flags": { - "isOptional": true - }, + "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", - "line": 226, + "line": 234, "character": 2 } ], @@ -17149,88 +17994,8 @@ } }, { - "id": 434, - "name": "new_phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 227, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 438, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 231, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 442, - "name": "phone_confirmed_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 235, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 431, - "name": "recovery_sent_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 224, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 444, - "name": "role", + "id": 552, + "name": "updated_at", "kind": 1024, "kindString": "Property", "flags": { @@ -17249,488 +18014,7 @@ } }, { - "id": 445, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 238, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 428, - "name": "user_metadata", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 221, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 422, - "name": "UserMetadata", - "dereferenced": { - "id": 422, - "name": "UserMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 214, - "character": 17 - } - ], - "indexSignature": { - "id": 423, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 424, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 436, - 427, - 429, - 430, - 440, - 439, - 437, - 432, - 441, - 447, - 426, - 446, - 435, - 443, - 433, - 434, - 438, - 442, - 431, - 444, - 445, - 428 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 218, - "character": 17 - } - ] - }, - { - "id": 418, - "name": "UserAppMetadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 419, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 210, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 419 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 209, - "character": 17 - } - ], - "indexSignature": { - "id": 420, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 421, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - }, - { - "id": 448, - "name": "UserAttributes", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 453, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom data object to store the user's metadata. This maps to the `auth.users.user_metadata` column.", - "text": "The `data` should be a JSON object that includes user-specific info, such as their first and last name.\n\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 272, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 449, - "name": "email", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's email." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 247, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 452, - "name": "nonce", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The nonce sent for reauthentication if the user's password is to be updated.", - "text": "Call reauthenticate() to obtain the nonce first.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 264, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 451, - "name": "password", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's password." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 257, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 450, - "name": "phone", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The user's phone." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 252, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 453, - 449, - 452, - 451, - 450 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 243, - "character": 17 - } - ] - }, - { - "id": 400, - "name": "UserIdentity", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 408, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 177, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 401, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 171, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 403, - "name": "identity_data", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 173, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 404, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 405, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 406, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 409, - "name": "last_sign_in_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 178, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 407, - "name": "provider", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 176, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 410, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 179, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 402, + "id": 544, "name": "user_id", "kind": 1024, "kindString": "Property", @@ -17738,7 +18022,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 172, + "line": 230, "character": 2 } ], @@ -17752,27 +18036,19 @@ { "title": "Properties", "kind": 1024, - "children": [ - 408, - 401, - 403, - 409, - 407, - 410, - 402 - ] + "children": [550, 543, 545, 551, 549, 552, 544] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 170, + "line": 228, "character": 17 } ] }, { - "id": 422, + "id": 564, "name": "UserMetadata", "kind": 256, "kindString": "Interface", @@ -17780,19 +18056,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 214, + "line": 272, "character": 17 } ], "indexSignature": { - "id": 423, + "id": 565, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 424, + "id": 566, "name": "key", "kind": 32768, "flags": {}, @@ -17809,14 +18085,14 @@ } }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -17827,7 +18103,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -17837,7 +18113,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -17847,21 +18123,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -17869,12 +18145,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -17884,7 +18166,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -17897,7 +18179,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -17911,17 +18193,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -17932,7 +18211,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -17942,7 +18221,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -17953,16 +18232,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -17970,7 +18249,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -18011,31 +18290,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, "character": 17 } ] }, { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -18045,21 +18319,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -18078,7 +18352,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -18088,7 +18362,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -18101,7 +18375,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -18115,17 +18389,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -18136,7 +18407,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -18146,7 +18417,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -18157,7 +18428,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -18167,7 +18438,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -18178,16 +18449,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -18195,7 +18466,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -18220,24 +18491,128 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 327, + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, + "character": 17 + } + ] + }, + { + "id": 430, "name": "AuthChangeEvent", "kind": 4194304, "kindString": "Type alias", @@ -18245,7 +18620,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 26, + "line": 28, "character": 12 } ], @@ -18277,7 +18652,7 @@ "value": "USER_UPDATED" }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -18285,7 +18660,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -18298,7 +18673,7 @@ } }, { - "id": 326, + "id": 429, "name": "AuthChangeEventMFA", "kind": 4194304, "kindString": "Type alias", @@ -18306,7 +18681,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 24, + "line": 26, "character": 12 } ], @@ -18316,7 +18691,7 @@ } }, { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -18324,7 +18699,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -18343,7 +18718,7 @@ } }, { - "id": 753, + "id": 900, "name": "AuthMFAAdminDeleteFactorParams", "kind": 4194304, "kindString": "Type alias", @@ -18359,21 +18734,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 754, + "id": 901, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 755, + "id": 902, "name": "id", "kind": 1024, "kindString": "Property", @@ -18384,7 +18759,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 896, + "line": 968, "character": 2 } ], @@ -18394,7 +18769,7 @@ } }, { - "id": 756, + "id": 903, "name": "userId", "kind": 1024, "kindString": "Property", @@ -18405,7 +18780,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 899, + "line": 971, "character": 2 } ], @@ -18419,16 +18794,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 755, - 756 - ] + "children": [902, 903] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 894, + "line": 966, "character": 45 } ] @@ -18436,7 +18808,7 @@ } }, { - "id": 744, + "id": 891, "name": "AuthMFAAdminDeleteFactorResponse", "kind": 4194304, "kindString": "Type alias", @@ -18452,7 +18824,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 881, + "line": 953, "character": 12 } ], @@ -18462,14 +18834,14 @@ { "type": "reflection", "declaration": { - "id": 745, + "id": 892, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 746, + "id": 893, "name": "data", "kind": 1024, "kindString": "Property", @@ -18477,21 +18849,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 883, + "line": 955, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 747, + "id": 894, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 748, + "id": 895, "name": "id", "kind": 1024, "kindString": "Property", @@ -18502,7 +18874,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 885, + "line": 957, "character": 8 } ], @@ -18516,15 +18888,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 748 - ] + "children": [895] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 883, + "line": 955, "character": 12 } ] @@ -18532,7 +18902,7 @@ } }, { - "id": 749, + "id": 896, "name": "error", "kind": 1024, "kindString": "Property", @@ -18540,7 +18910,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 887, + "line": 959, "character": 6 } ], @@ -18554,16 +18924,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 746, - 749 - ] + "children": [893, 896] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 882, + "line": 954, "character": 4 } ] @@ -18572,14 +18939,14 @@ { "type": "reflection", "declaration": { - "id": 750, + "id": 897, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 751, + "id": 898, "name": "data", "kind": 1024, "kindString": "Property", @@ -18587,7 +18954,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 6 } ], @@ -18597,7 +18964,7 @@ } }, { - "id": 752, + "id": 899, "name": "error", "kind": 1024, "kindString": "Property", @@ -18605,13 +18972,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -18620,16 +18987,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 751, - 752 - ] + "children": [898, 899] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 889, + "line": 961, "character": 4 } ] @@ -18639,7 +19003,7 @@ } }, { - "id": 766, + "id": 913, "name": "AuthMFAAdminListFactorsParams", "kind": 4194304, "kindString": "Type alias", @@ -18655,21 +19019,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 767, + "id": 914, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 768, + "id": 915, "name": "userId", "kind": 1024, "kindString": "Property", @@ -18680,7 +19044,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 920, + "line": 992, "character": 2 } ], @@ -18694,15 +19058,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 768 - ] + "children": [915] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 918, + "line": 990, "character": 44 } ] @@ -18710,7 +19072,7 @@ } }, { - "id": 757, + "id": 904, "name": "AuthMFAAdminListFactorsResponse", "kind": 4194304, "kindString": "Type alias", @@ -18726,7 +19088,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 905, + "line": 977, "character": 12 } ], @@ -18736,14 +19098,14 @@ { "type": "reflection", "declaration": { - "id": 758, + "id": 905, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 759, + "id": 906, "name": "data", "kind": 1024, "kindString": "Property", @@ -18751,21 +19113,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 907, + "line": 979, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 760, + "id": 907, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 761, + "id": 908, "name": "factors", "kind": 1024, "kindString": "Property", @@ -18776,7 +19138,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 909, + "line": 981, "character": 8 } ], @@ -18784,7 +19146,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } @@ -18794,15 +19156,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 761 - ] + "children": [908] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 907, + "line": 979, "character": 12 } ] @@ -18810,7 +19170,7 @@ } }, { - "id": 762, + "id": 909, "name": "error", "kind": 1024, "kindString": "Property", @@ -18818,7 +19178,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 911, + "line": 983, "character": 6 } ], @@ -18832,16 +19192,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 759, - 762 - ] + "children": [906, 909] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 906, + "line": 978, "character": 4 } ] @@ -18850,14 +19207,14 @@ { "type": "reflection", "declaration": { - "id": 763, + "id": 910, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 764, + "id": 911, "name": "data", "kind": 1024, "kindString": "Property", @@ -18865,7 +19222,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 6 } ], @@ -18875,7 +19232,7 @@ } }, { - "id": 765, + "id": 912, "name": "error", "kind": 1024, "kindString": "Property", @@ -18883,13 +19240,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -18898,16 +19255,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 764, - 765 - ] + "children": [911, 912] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 913, + "line": 985, "character": 4 } ] @@ -18917,7 +19271,7 @@ } }, { - "id": 692, + "id": 839, "name": "AuthMFAChallengeResponse", "kind": 4194304, "kindString": "Type alias", @@ -18925,7 +19279,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 758, + "line": 830, "character": 12 } ], @@ -18935,14 +19289,14 @@ { "type": "reflection", "declaration": { - "id": 693, + "id": 840, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 694, + "id": 841, "name": "data", "kind": 1024, "kindString": "Property", @@ -18950,21 +19304,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 760, + "line": 832, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 695, + "id": 842, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 697, + "id": 844, "name": "expires_at", "kind": 1024, "kindString": "Property", @@ -18975,7 +19329,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 765, + "line": 837, "character": 8 } ], @@ -18985,7 +19339,7 @@ } }, { - "id": 696, + "id": 843, "name": "id", "kind": 1024, "kindString": "Property", @@ -18996,7 +19350,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 762, + "line": 834, "character": 8 } ], @@ -19010,16 +19364,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 697, - 696 - ] + "children": [844, 843] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 760, + "line": 832, "character": 12 } ] @@ -19027,7 +19378,7 @@ } }, { - "id": 698, + "id": 845, "name": "error", "kind": 1024, "kindString": "Property", @@ -19035,7 +19386,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 767, + "line": 839, "character": 6 } ], @@ -19049,16 +19400,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 694, - 698 - ] + "children": [841, 845] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 759, + "line": 831, "character": 4 } ] @@ -19067,14 +19415,14 @@ { "type": "reflection", "declaration": { - "id": 699, + "id": 846, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 700, + "id": 847, "name": "data", "kind": 1024, "kindString": "Property", @@ -19082,7 +19430,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 6 } ], @@ -19092,7 +19440,7 @@ } }, { - "id": 701, + "id": 848, "name": "error", "kind": 1024, "kindString": "Property", @@ -19100,13 +19448,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -19115,16 +19463,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 700, - 701 - ] + "children": [847, 848] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 769, + "line": 841, "character": 4 } ] @@ -19134,7 +19479,7 @@ } }, { - "id": 668, + "id": 815, "name": "AuthMFAEnrollResponse", "kind": 4194304, "kindString": "Type alias", @@ -19142,7 +19487,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 715, + "line": 787, "character": 12 } ], @@ -19152,14 +19497,14 @@ { "type": "reflection", "declaration": { - "id": 669, + "id": 816, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 670, + "id": 817, "name": "data", "kind": 1024, "kindString": "Property", @@ -19167,21 +19512,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 717, + "line": 789, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 671, + "id": 818, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 672, + "id": 819, "name": "id", "kind": 1024, "kindString": "Property", @@ -19192,7 +19537,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 719, + "line": 791, "character": 8 } ], @@ -19202,7 +19547,7 @@ } }, { - "id": 674, + "id": 821, "name": "totp", "kind": 1024, "kindString": "Property", @@ -19213,21 +19558,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 725, + "line": 797, "character": 8 } ], "type": { "type": "reflection", "declaration": { - "id": 675, + "id": 822, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 676, + "id": 823, "name": "qr_code", "kind": 1024, "kindString": "Property", @@ -19238,7 +19583,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 729, + "line": 801, "character": 10 } ], @@ -19248,7 +19593,7 @@ } }, { - "id": 677, + "id": 824, "name": "secret", "kind": 1024, "kindString": "Property", @@ -19259,7 +19604,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 734, + "line": 806, "character": 10 } ], @@ -19269,7 +19614,7 @@ } }, { - "id": 678, + "id": 825, "name": "uri", "kind": 1024, "kindString": "Property", @@ -19280,7 +19625,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 738, + "line": 810, "character": 10 } ], @@ -19294,17 +19639,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 676, - 677, - 678 - ] + "children": [823, 824, 825] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 725, + "line": 797, "character": 14 } ] @@ -19312,7 +19653,7 @@ } }, { - "id": 673, + "id": 820, "name": "type", "kind": 1024, "kindString": "Property", @@ -19323,7 +19664,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 722, + "line": 794, "character": 8 } ], @@ -19337,17 +19678,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 672, - 674, - 673 - ] + "children": [819, 821, 820] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 717, + "line": 789, "character": 12 } ] @@ -19355,7 +19692,7 @@ } }, { - "id": 679, + "id": 826, "name": "error", "kind": 1024, "kindString": "Property", @@ -19363,7 +19700,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 741, + "line": 813, "character": 6 } ], @@ -19377,16 +19714,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 670, - 679 - ] + "children": [817, 826] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 716, + "line": 788, "character": 4 } ] @@ -19395,14 +19729,14 @@ { "type": "reflection", "declaration": { - "id": 680, + "id": 827, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 681, + "id": 828, "name": "data", "kind": 1024, "kindString": "Property", @@ -19410,7 +19744,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 744, + "line": 816, "character": 6 } ], @@ -19420,7 +19754,7 @@ } }, { - "id": 682, + "id": 829, "name": "error", "kind": 1024, "kindString": "Property", @@ -19428,13 +19762,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 745, + "line": 817, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -19443,16 +19777,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 681, - 682 - ] + "children": [828, 829] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 743, + "line": 815, "character": 4 } ] @@ -19462,7 +19793,7 @@ } }, { - "id": 713, + "id": 860, "name": "AuthMFAGetAuthenticatorAssuranceLevelResponse", "kind": 4194304, "kindString": "Type alias", @@ -19470,7 +19801,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 786, + "line": 858, "character": 12 } ], @@ -19480,14 +19811,14 @@ { "type": "reflection", "declaration": { - "id": 714, + "id": 861, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 715, + "id": 862, "name": "data", "kind": 1024, "kindString": "Property", @@ -19495,21 +19826,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 788, + "line": 860, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 716, + "id": 863, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 719, + "id": 866, "name": "currentAuthenticationMethods", "kind": 1024, "kindString": "Property", @@ -19520,7 +19851,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 805, + "line": 877, "character": 8 } ], @@ -19528,13 +19859,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 397, + "id": 539, "name": "AMREntry" } } }, { - "id": 717, + "id": 864, "name": "currentLevel", "kind": 1024, "kindString": "Property", @@ -19545,7 +19876,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 790, + "line": 862, "character": 8 } ], @@ -19554,7 +19885,7 @@ "types": [ { "type": "reference", - "id": 712, + "id": 859, "name": "AuthenticatorAssuranceLevels" }, { @@ -19565,7 +19896,7 @@ } }, { - "id": 718, + "id": 865, "name": "nextLevel", "kind": 1024, "kindString": "Property", @@ -19582,7 +19913,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 798, + "line": 870, "character": 8 } ], @@ -19591,7 +19922,7 @@ "types": [ { "type": "reference", - "id": 712, + "id": 859, "name": "AuthenticatorAssuranceLevels" }, { @@ -19606,17 +19937,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 719, - 717, - 718 - ] + "children": [866, 864, 865] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 788, + "line": 860, "character": 12 } ] @@ -19624,7 +19951,7 @@ } }, { - "id": 720, + "id": 867, "name": "error", "kind": 1024, "kindString": "Property", @@ -19632,7 +19959,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 807, + "line": 879, "character": 6 } ], @@ -19646,16 +19973,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 715, - 720 - ] + "children": [862, 867] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 787, + "line": 859, "character": 4 } ] @@ -19664,14 +19988,14 @@ { "type": "reflection", "declaration": { - "id": 721, + "id": 868, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 722, + "id": 869, "name": "data", "kind": 1024, "kindString": "Property", @@ -19679,7 +20003,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 6 } ], @@ -19689,7 +20013,7 @@ } }, { - "id": 723, + "id": 870, "name": "error", "kind": 1024, "kindString": "Property", @@ -19697,13 +20021,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 18 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -19712,16 +20036,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 722, - 723 - ] + "children": [869, 870] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 809, + "line": 881, "character": 4 } ] @@ -19731,7 +20052,7 @@ } }, { - "id": 702, + "id": 849, "name": "AuthMFAListFactorsResponse", "kind": 4194304, "kindString": "Type alias", @@ -19739,7 +20060,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 771, + "line": 843, "character": 12 } ], @@ -19749,14 +20070,14 @@ { "type": "reflection", "declaration": { - "id": 703, + "id": 850, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 704, + "id": 851, "name": "data", "kind": 1024, "kindString": "Property", @@ -19764,21 +20085,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 773, + "line": 845, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 705, + "id": 852, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 706, + "id": 853, "name": "all", "kind": 1024, "kindString": "Property", @@ -19789,7 +20110,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 775, + "line": 847, "character": 8 } ], @@ -19797,13 +20118,13 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } }, { - "id": 707, + "id": 854, "name": "totp", "kind": 1024, "kindString": "Property", @@ -19814,7 +20135,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 778, + "line": 850, "character": 8 } ], @@ -19822,7 +20143,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 411, + "id": 553, "name": "Factor" } } @@ -19832,16 +20153,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 706, - 707 - ] + "children": [853, 854] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 773, + "line": 845, "character": 12 } ] @@ -19849,7 +20167,466 @@ } }, { - "id": 708, + "id": 855, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 852, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [851, 855] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 844, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 856, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 857, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 858, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [857, 858] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 854, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 830, + "name": "AuthMFAUnenrollResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 820, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 831, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 832, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 833, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 834, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "ID of the factor that was successfully unenrolled." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 824, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [834] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 822, + "character": 12 + } + ] + } + } + }, + { + "id": 835, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 826, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [832, 835] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 821, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 836, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 837, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 838, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 18 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [837, 838] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 828, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 802, + "name": "AuthMFAVerifyResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 762, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 803, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 804, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 805, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 806, + "name": "access_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "New access token (JWT) after successful verification." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 766, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 808, + "name": "expires_in", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Number of seconds in which the access token will expire." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 772, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 809, + "name": "refresh_token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Refresh token you can use to obtain new access tokens when expired." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 775, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 807, + "name": "token_type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Type of token, typically `Bearer`." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 769, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 810, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Updated user profile." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 778, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [806, 808, 809, 807, 810] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 764, + "character": 12 + } + ] + } + } + }, + { + "id": 811, "name": "error", "kind": 1024, "kindString": "Property", @@ -19871,16 +20648,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 704, - 708 - ] + "children": [804, 811] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 772, + "line": 763, "character": 4 } ] @@ -19889,14 +20663,14 @@ { "type": "reflection", "declaration": { - "id": 709, + "id": 812, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 710, + "id": 813, "name": "data", "kind": 1024, "kindString": "Property", @@ -19904,7 +20678,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 782, + "line": 783, "character": 6 } ], @@ -19914,7 +20688,7 @@ } }, { - "id": 711, + "id": 814, "name": "error", "kind": 1024, "kindString": "Property", @@ -19922,13 +20696,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 782, - "character": 18 + "line": 784, + "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -19937,10 +20711,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 710, - 711 - ] + "children": [813, 814] } ], "sources": [ @@ -19956,15 +20727,19 @@ } }, { - "id": 683, - "name": "AuthMFAUnenrollResponse", + "id": 469, + "name": "AuthOtpResponse", "kind": 4194304, "kindString": "Type alias", "flags": {}, + "comment": { + "shortText": "AuthOtpResponse is returned when OTP is used.", + "text": "{@see AuthRsponse}\n" + }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 748, + "line": 104, "character": 12 } ], @@ -19974,14 +20749,14 @@ { "type": "reflection", "declaration": { - "id": 684, + "id": 470, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 685, + "id": 471, "name": "data", "kind": 1024, "kindString": "Property", @@ -19989,500 +20764,50 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 750, + "line": 106, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 686, + "id": 472, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 687, - "name": "id", + "id": 475, + "name": "messageId", "kind": 1024, "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "ID of the factor that was successfully unenrolled." + "flags": { + "isOptional": true }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 752, - "character": 8 + "line": 106, + "character": 41 } ], "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 687 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 750, - "character": 12 - } - ] - } - } - }, - { - "id": 688, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 754, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 685, - 688 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 749, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 689, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 690, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 691, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 18 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 690, - 691 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 756, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 655, - "name": "AuthMFAVerifyResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 690, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 656, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 657, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 658, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 659, - "name": "access_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "New access token (JWT) after successful verification." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 694, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] } }, { - "id": 661, - "name": "expires_in", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Number of seconds in which the access token will expire." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 700, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 662, - "name": "refresh_token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Refresh token you can use to obtain new access tokens when expired." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 703, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 660, - "name": "token_type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Type of token, typically `Bearer`." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 697, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 663, - "name": "user", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Updated user profile." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 706, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 425, - "name": "User" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 659, - 661, - 662, - 660, - 663 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 692, - "character": 12 - } - ] - } - } - }, - { - "id": 664, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 708, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 657, - 664 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 691, - "character": 4 - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 665, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 666, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 711, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 667, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 712, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 804, - "name": "AuthError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 666, - 667 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 710, - "character": 4 - } - ] - } - } - ] - } - }, - { - "id": 342, - "name": "AuthResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 56, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 343, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 344, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 58, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 345, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 347, + "id": 474, "name": "session", "kind": 1024, "kindString": "Property", @@ -20490,7 +20815,296 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 60, + "line": 106, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 473, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [475, 474, 473] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 106, + "character": 12 + } + ] + } + } + }, + { + "id": 476, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 107, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [471, 476] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 105, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 477, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 478, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 479, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 482, + "name": "messageId", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 41 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "literal", + "value": null + } + ] + } + }, + { + "id": 481, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 26 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 480, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [482, 481, 480] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 12 + } + ] + } + } + }, + { + "id": 483, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 111, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [478, 483] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 109, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 456, + "name": "AuthResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 83, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 457, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 458, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 85, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 459, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 461, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, "character": 8 } ], @@ -20499,7 +21113,7 @@ "types": [ { "type": "reference", - "id": 388, + "id": 530, "name": "Session" }, { @@ -20510,7 +21124,7 @@ } }, { - "id": 346, + "id": 460, "name": "user", "kind": 1024, "kindString": "Property", @@ -20518,7 +21132,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 59, + "line": 86, "character": 8 } ], @@ -20527,7 +21141,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 567, "name": "User" }, { @@ -20542,16 +21156,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 347, - 346 - ] + "children": [461, 460] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 58, + "line": 85, "character": 12 } ] @@ -20559,7 +21170,7 @@ } }, { - "id": 348, + "id": 462, "name": "error", "kind": 1024, "kindString": "Property", @@ -20567,7 +21178,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 62, + "line": 89, "character": 6 } ], @@ -20581,16 +21192,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 344, - 348 - ] + "children": [458, 462] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 57, + "line": 84, "character": 4 } ] @@ -20599,14 +21207,14 @@ { "type": "reflection", "declaration": { - "id": 349, + "id": 463, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 350, + "id": 464, "name": "data", "kind": 1024, "kindString": "Property", @@ -20614,21 +21222,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 65, + "line": 92, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 351, + "id": 465, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 353, + "id": 467, "name": "session", "kind": 1024, "kindString": "Property", @@ -20636,7 +21244,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 67, + "line": 94, "character": 8 } ], @@ -20646,7 +21254,7 @@ } }, { - "id": 352, + "id": 466, "name": "user", "kind": 1024, "kindString": "Property", @@ -20654,7 +21262,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 66, + "line": 93, "character": 8 } ], @@ -20668,16 +21276,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 353, - 352 - ] + "children": [467, 466] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 65, + "line": 92, "character": 12 } ] @@ -20685,7 +21290,7 @@ } }, { - "id": 354, + "id": 468, "name": "error", "kind": 1024, "kindString": "Property", @@ -20693,13 +21298,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 69, + "line": 96, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -20708,16 +21313,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 350, - 354 - ] + "children": [464, 468] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 64, + "line": 91, "character": 4 } ] @@ -20727,7 +21329,269 @@ } }, { - "id": 712, + "id": 484, + "name": "AuthTokenResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 114, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 485, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 486, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 487, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 489, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 118, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 530, + "name": "Session" + } + }, + { + "id": 488, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 117, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 567, + "name": "User" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [489, 488] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 116, + "character": 12 + } + ] + } + } + }, + { + "id": 490, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 120, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [486, 490] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 115, + "character": 4 + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 491, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 492, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 493, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 495, + "name": "session", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 125, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 494, + "name": "user", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 124, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [495, 494] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 123, + "character": 12 + } + ] + } + } + }, + { + "id": 496, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 127, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 957, + "name": "AuthError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [492, 496] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 122, + "character": 4 + } + ] + } + } + ] + } + }, + { + "id": 859, "name": "AuthenticatorAssuranceLevels", "kind": 4194304, "kindString": "Type alias", @@ -20735,7 +21599,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 784, + "line": 856, "character": 12 } ], @@ -20754,7 +21618,7 @@ } }, { - "id": 780, + "id": 927, "name": "CallRefreshTokenResult", "kind": 4194304, "kindString": "Type alias", @@ -20762,7 +21626,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 959, + "line": 1031, "character": 12 } ], @@ -20772,14 +21636,14 @@ { "type": "reflection", "declaration": { - "id": 781, + "id": 928, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 783, + "id": 930, "name": "error", "kind": 1024, "kindString": "Property", @@ -20787,7 +21651,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 962, + "line": 1034, "character": 6 } ], @@ -20797,7 +21661,7 @@ } }, { - "id": 782, + "id": 929, "name": "session", "kind": 1024, "kindString": "Property", @@ -20805,13 +21669,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 961, + "line": 1033, "character": 6 } ], "type": { "type": "reference", - "id": 388, + "id": 530, "name": "Session" } } @@ -20820,16 +21684,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 783, - 782 - ] + "children": [930, 929] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 960, + "line": 1032, "character": 4 } ] @@ -20838,14 +21699,14 @@ { "type": "reflection", "declaration": { - "id": 784, + "id": 931, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 786, + "id": 933, "name": "error", "kind": 1024, "kindString": "Property", @@ -20853,18 +21714,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 966, + "line": 1038, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } }, { - "id": 785, + "id": 932, "name": "session", "kind": 1024, "kindString": "Property", @@ -20872,7 +21733,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 965, + "line": 1037, "character": 6 } ], @@ -20886,16 +21747,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 786, - 785 - ] + "children": [933, 932] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 964, + "line": 1036, "character": 4 } ] @@ -20905,7 +21763,7 @@ } }, { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -20913,7 +21771,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -20948,7 +21806,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -20956,21 +21814,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -20981,7 +21839,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -20991,7 +21849,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -21002,7 +21860,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -21012,7 +21870,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -21022,7 +21880,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -21031,7 +21889,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21045,7 +21903,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -21053,7 +21911,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -21076,18 +21934,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -21095,7 +21948,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21103,21 +21956,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -21128,7 +21981,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -21138,7 +21991,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -21148,7 +22001,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -21157,7 +22010,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21180,7 +22033,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -21188,7 +22041,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -21211,17 +22064,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -21229,7 +22078,7 @@ } }, { - "id": 613, + "id": 760, "name": "GenerateLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21237,7 +22086,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 601, + "line": 673, "character": 12 } ], @@ -21245,7 +22094,7 @@ "type": "union", "types": [ { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21253,21 +22102,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -21275,7 +22124,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -21285,7 +22134,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -21295,7 +22144,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -21304,7 +22153,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21327,7 +22176,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -21335,7 +22184,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -21345,7 +22194,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -21353,7 +22202,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -21367,18 +22216,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -21386,7 +22230,7 @@ } }, { - "id": 594, + "id": 741, "name": "GenerateInviteOrMagiclinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21394,21 +22238,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 595, + "id": 742, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 597, + "id": 744, "name": "email", "kind": 1024, "kindString": "Property", @@ -21419,7 +22263,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 568, + "line": 640, "character": 2 } ], @@ -21429,7 +22273,7 @@ } }, { - "id": 598, + "id": 745, "name": "options", "kind": 1024, "kindString": "Property", @@ -21439,7 +22283,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 569, + "line": 641, "character": 2 } ], @@ -21448,7 +22292,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21471,7 +22315,7 @@ } }, { - "id": 596, + "id": 743, "name": "type", "kind": 1024, "kindString": "Property", @@ -21479,7 +22323,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 566, + "line": 638, "character": 2 } ], @@ -21502,17 +22346,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 597, - 598, - 596 - ] + "children": [744, 745, 743] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 565, + "line": 637, "character": 46 } ] @@ -21520,7 +22360,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21528,21 +22368,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -21553,7 +22393,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -21563,7 +22403,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -21573,7 +22413,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -21582,7 +22422,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21596,7 +22436,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -21604,7 +22444,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -21618,17 +22458,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -21636,7 +22472,7 @@ } }, { - "id": 604, + "id": 751, "name": "GenerateEmailChangeLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -21644,21 +22480,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 605, + "id": 752, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 607, + "id": 754, "name": "email", "kind": 1024, "kindString": "Property", @@ -21669,7 +22505,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 582, + "line": 654, "character": 2 } ], @@ -21679,7 +22515,7 @@ } }, { - "id": 608, + "id": 755, "name": "newEmail", "kind": 1024, "kindString": "Property", @@ -21690,7 +22526,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 586, + "line": 658, "character": 2 } ], @@ -21700,7 +22536,7 @@ } }, { - "id": 609, + "id": 756, "name": "options", "kind": 1024, "kindString": "Property", @@ -21710,7 +22546,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 587, + "line": 659, "character": 2 } ], @@ -21719,7 +22555,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -21733,7 +22569,7 @@ } }, { - "id": 606, + "id": 753, "name": "type", "kind": 1024, "kindString": "Property", @@ -21741,7 +22577,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 580, + "line": 652, "character": 2 } ], @@ -21764,18 +22600,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 607, - 608, - 609, - 606 - ] + "children": [754, 755, 756, 753] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 579, + "line": 651, "character": 44 } ] @@ -21786,7 +22617,7 @@ } }, { - "id": 627, + "id": 774, "name": "GenerateLinkProperties", "kind": 4194304, "kindString": "Type alias", @@ -21797,21 +22628,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 624, + "line": 696, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 628, + "id": 775, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 629, + "id": 776, "name": "action_link", "kind": 1024, "kindString": "Property", @@ -21822,7 +22653,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 629, + "line": 701, "character": 2 } ], @@ -21832,7 +22663,7 @@ } }, { - "id": 630, + "id": 777, "name": "email_otp", "kind": 1024, "kindString": "Property", @@ -21843,7 +22674,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 634, + "line": 706, "character": 2 } ], @@ -21853,7 +22684,7 @@ } }, { - "id": 631, + "id": 778, "name": "hashed_token", "kind": 1024, "kindString": "Property", @@ -21864,7 +22695,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 638, + "line": 710, "character": 2 } ], @@ -21874,7 +22705,7 @@ } }, { - "id": 632, + "id": 779, "name": "redirect_to", "kind": 1024, "kindString": "Property", @@ -21885,7 +22716,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 640, + "line": 712, "character": 2 } ], @@ -21895,7 +22726,7 @@ } }, { - "id": 633, + "id": 780, "name": "verification_type", "kind": 1024, "kindString": "Property", @@ -21906,16 +22737,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 642, + "line": 714, "character": 2 } ], "type": { "type": "reference", - "id": 634, + "id": 781, "name": "GenerateLinkType", "dereferenced": { - "id": 634, + "id": 781, "name": "GenerateLinkType", "kind": 4194304, "kindString": "Type alias", @@ -21923,7 +22754,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 645, + "line": 717, "character": 12 } ], @@ -21964,19 +22795,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 629, - 630, - 631, - 632, - 633 - ] + "children": [776, 777, 778, 779, 780] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 624, + "line": 696, "character": 37 } ] @@ -21984,7 +22809,7 @@ } }, { - "id": 614, + "id": 761, "name": "GenerateLinkResponse", "kind": 4194304, "kindString": "Type alias", @@ -21992,7 +22817,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 607, + "line": 679, "character": 12 } ], @@ -22002,14 +22827,14 @@ { "type": "reflection", "declaration": { - "id": 615, + "id": 762, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 616, + "id": 763, "name": "data", "kind": 1024, "kindString": "Property", @@ -22017,21 +22842,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 609, + "line": 681, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 617, + "id": 764, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 618, + "id": 765, "name": "properties", "kind": 1024, "kindString": "Property", @@ -22039,18 +22864,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 610, + "line": 682, "character": 8 } ], "type": { "type": "reference", - "id": 627, + "id": 774, "name": "GenerateLinkProperties" } }, { - "id": 619, + "id": 766, "name": "user", "kind": 1024, "kindString": "Property", @@ -22058,13 +22883,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 611, + "line": 683, "character": 8 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -22073,16 +22898,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 618, - 619 - ] + "children": [765, 766] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 609, + "line": 681, "character": 12 } ] @@ -22090,7 +22912,7 @@ } }, { - "id": 620, + "id": 767, "name": "error", "kind": 1024, "kindString": "Property", @@ -22098,7 +22920,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 613, + "line": 685, "character": 6 } ], @@ -22112,16 +22934,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 616, - 620 - ] + "children": [763, 767] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 608, + "line": 680, "character": 4 } ] @@ -22130,14 +22949,14 @@ { "type": "reflection", "declaration": { - "id": 621, + "id": 768, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 622, + "id": 769, "name": "data", "kind": 1024, "kindString": "Property", @@ -22145,21 +22964,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 616, + "line": 688, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 623, + "id": 770, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 624, + "id": 771, "name": "properties", "kind": 1024, "kindString": "Property", @@ -22167,7 +22986,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 617, + "line": 689, "character": 8 } ], @@ -22177,7 +22996,7 @@ } }, { - "id": 625, + "id": 772, "name": "user", "kind": 1024, "kindString": "Property", @@ -22185,7 +23004,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 618, + "line": 690, "character": 8 } ], @@ -22199,16 +23018,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 624, - 625 - ] + "children": [771, 772] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 616, + "line": 688, "character": 12 } ] @@ -22216,7 +23032,7 @@ } }, { - "id": 626, + "id": 773, "name": "error", "kind": 1024, "kindString": "Property", @@ -22224,13 +23040,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 620, + "line": 692, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -22239,16 +23055,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 622, - 626 - ] + "children": [769, 773] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 615, + "line": 687, "character": 4 } ] @@ -22258,7 +23071,7 @@ } }, { - "id": 634, + "id": 781, "name": "GenerateLinkType", "kind": 4194304, "kindString": "Type alias", @@ -22266,7 +23079,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 645, + "line": 717, "character": 12 } ], @@ -22301,7 +23114,7 @@ } }, { - "id": 599, + "id": 746, "name": "GenerateRecoveryLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -22309,21 +23122,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 600, + "id": 747, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 602, + "id": 749, "name": "email", "kind": 1024, "kindString": "Property", @@ -22334,7 +23147,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 575, + "line": 647, "character": 2 } ], @@ -22344,7 +23157,7 @@ } }, { - "id": 603, + "id": 750, "name": "options", "kind": 1024, "kindString": "Property", @@ -22354,7 +23167,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 576, + "line": 648, "character": 2 } ], @@ -22363,7 +23176,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -22377,7 +23190,7 @@ } }, { - "id": 601, + "id": 748, "name": "type", "kind": 1024, "kindString": "Property", @@ -22385,7 +23198,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 573, + "line": 645, "character": 2 } ], @@ -22399,17 +23212,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 602, - 603, - 601 - ] + "children": [749, 750, 748] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 572, + "line": 644, "character": 41 } ] @@ -22417,7 +23226,7 @@ } }, { - "id": 588, + "id": 735, "name": "GenerateSignupLinkParams", "kind": 4194304, "kindString": "Type alias", @@ -22425,21 +23234,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 736, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 591, + "id": 738, "name": "email", "kind": 1024, "kindString": "Property", @@ -22447,7 +23256,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 560, + "line": 632, "character": 2 } ], @@ -22457,7 +23266,7 @@ } }, { - "id": 593, + "id": 740, "name": "options", "kind": 1024, "kindString": "Property", @@ -22467,7 +23276,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 562, + "line": 634, "character": 2 } ], @@ -22476,7 +23285,7 @@ "typeArguments": [ { "type": "reference", - "id": 610, + "id": 757, "name": "GenerateLinkOptions" }, { @@ -22499,7 +23308,7 @@ } }, { - "id": 592, + "id": 739, "name": "password", "kind": 1024, "kindString": "Property", @@ -22507,7 +23316,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 561, + "line": 633, "character": 2 } ], @@ -22517,7 +23326,7 @@ } }, { - "id": 590, + "id": 737, "name": "type", "kind": 1024, "kindString": "Property", @@ -22525,7 +23334,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 559, + "line": 631, "character": 2 } ], @@ -22539,18 +23348,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 591, - 593, - 592, - 590 - ] + "children": [738, 740, 739, 737] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 558, + "line": 630, "character": 39 } ] @@ -22558,7 +23362,7 @@ } }, { - "id": 328, + "id": 440, "name": "GoTrueClientOptions", "kind": 4194304, "kindString": "Type alias", @@ -22566,21 +23370,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 329, + "id": 441, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 337, + "id": 449, "name": "autoRefreshToken", "kind": 1024, "kindString": "Property", @@ -22590,7 +23394,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 45, + "line": 64, "character": 2 } ], @@ -22600,7 +23404,27 @@ } }, { - "id": 336, + "id": 454, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 448, "name": "detectSessionInUrl", "kind": 1024, "kindString": "Property", @@ -22610,7 +23434,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 43, + "line": 62, "character": 2 } ], @@ -22620,7 +23444,7 @@ } }, { - "id": 340, + "id": 452, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -22630,7 +23454,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 51, + "line": 70, "character": 2 } ], @@ -22640,7 +23464,7 @@ } }, { - "id": 341, + "id": 453, "name": "flowType", "kind": 1024, "kindString": "Property", @@ -22650,16 +23474,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 53, + "line": 72, "character": 2 } ], "type": { "type": "reference", - "id": 522, + "id": 664, "name": "AuthFlowType", "dereferenced": { - "id": 522, + "id": 664, "name": "AuthFlowType", "kind": 4194304, "kindString": "Type alias", @@ -22667,7 +23491,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 447, + "line": 505, "character": 12 } ], @@ -22688,7 +23512,7 @@ } }, { - "id": 331, + "id": 443, "name": "headers", "kind": 1024, "kindString": "Property", @@ -22698,14 +23522,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 332, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -22713,19 +23537,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 39, + "line": 58, "character": 12 } ], "indexSignature": { - "id": 333, + "id": 445, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 334, + "id": 446, "name": "key", "kind": 32768, "flags": {}, @@ -22744,7 +23568,187 @@ } }, { - "id": 338, + "id": 455, + "name": "lock", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Provide your own locking mechanism based on the environment. By default no locking is done at this time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 431, + "name": "LockFunc", + "dereferenced": { + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + } + }, + { + "id": 450, "name": "persistSession", "kind": 1024, "kindString": "Property", @@ -22754,7 +23758,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 66, "character": 2 } ], @@ -22764,7 +23768,7 @@ } }, { - "id": 339, + "id": 451, "name": "storage", "kind": 1024, "kindString": "Property", @@ -22774,16 +23778,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 49, + "line": 68, "character": 2 } ], "type": { "type": "reference", - "id": 776, + "id": 923, "name": "SupportedStorage", "dereferenced": { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -22791,7 +23795,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -22836,7 +23840,7 @@ } }, { - "id": 335, + "id": 447, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -22846,7 +23850,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 41, + "line": 60, "character": 2 } ], @@ -22856,7 +23860,7 @@ } }, { - "id": 330, + "id": 442, "name": "url", "kind": 1024, "kindString": "Property", @@ -22866,7 +23870,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 37, + "line": 56, "character": 2 } ], @@ -22880,23 +23884,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 337, - 336, - 340, - 341, - 331, - 338, - 339, - 335, - 330 - ] + "children": [449, 454, 448, 452, 453, 443, 455, 450, 451, 447, 442] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 35, + "line": 54, "character": 34 } ] @@ -22904,7 +23898,7 @@ } }, { - "id": 777, + "id": 924, "name": "InitializeResult", "kind": 4194304, "kindString": "Type alias", @@ -22912,21 +23906,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 778, + "id": 925, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 779, + "id": 926, "name": "error", "kind": 1024, "kindString": "Property", @@ -22934,7 +23928,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 33 } ], @@ -22943,7 +23937,7 @@ "types": [ { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" }, { @@ -22958,15 +23952,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 779 - ] + "children": [926] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 957, + "line": 1029, "character": 31 } ] @@ -22974,7 +23966,157 @@ } }, { - "id": 651, + "id": 431, + "name": "LockFunc", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 432, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 23 + } + ], + "signatures": [ + { + "id": 433, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Provide your own global lock implementation instead of the default\nimplementation. The function should acquire a lock for the duration of the\n`fn` async function, such that no other client instances will be able to\nhold it at the same time.", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 439, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 434, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 435, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout should occur. If positive it\n should throw an Error with an `isAcquireTimeout`\n property set to true if the operation fails to be\n acquired after this much time (ms)." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 436, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to execute when the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 437, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 69 + } + ], + "signatures": [ + { + "id": 438, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 439, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 798, "name": "MFAChallengeAndVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -22982,21 +24124,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 652, + "id": 799, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 654, + "id": 801, "name": "code", "kind": 1024, "kindString": "Property", @@ -23007,7 +24149,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 687, + "line": 759, "character": 2 } ], @@ -23017,7 +24159,7 @@ } }, { - "id": 653, + "id": 800, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -23028,7 +24170,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 685, + "line": 757, "character": 2 } ], @@ -23042,16 +24184,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 654, - 653 - ] + "children": [801, 800] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 683, + "line": 755, "character": 42 } ] @@ -23059,7 +24198,7 @@ } }, { - "id": 648, + "id": 795, "name": "MFAChallengeParams", "kind": 4194304, "kindString": "Type alias", @@ -23067,21 +24206,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 649, + "id": 796, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 650, + "id": 797, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -23092,7 +24231,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 680, + "line": 752, "character": 2 } ], @@ -23106,15 +24245,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 650 - ] + "children": [797] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 678, + "line": 750, "character": 33 } ] @@ -23122,7 +24259,7 @@ } }, { - "id": 635, + "id": 782, "name": "MFAEnrollParams", "kind": 4194304, "kindString": "Type alias", @@ -23130,21 +24267,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 636, + "id": 783, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 637, + "id": 784, "name": "factorType", "kind": 1024, "kindString": "Property", @@ -23155,7 +24292,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 655, + "line": 727, "character": 2 } ], @@ -23165,7 +24302,7 @@ } }, { - "id": 639, + "id": 786, "name": "friendlyName", "kind": 1024, "kindString": "Property", @@ -23178,7 +24315,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 659, + "line": 731, "character": 2 } ], @@ -23188,7 +24325,7 @@ } }, { - "id": 638, + "id": 785, "name": "issuer", "kind": 1024, "kindString": "Property", @@ -23201,7 +24338,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 657, + "line": 729, "character": 2 } ], @@ -23215,17 +24352,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 637, - 639, - 638 - ] + "children": [784, 786, 785] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 653, + "line": 725, "character": 30 } ] @@ -23233,7 +24366,7 @@ } }, { - "id": 640, + "id": 787, "name": "MFAUnenrollParams", "kind": 4194304, "kindString": "Type alias", @@ -23241,21 +24374,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 641, + "id": 788, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 642, + "id": 789, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -23266,7 +24399,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 664, + "line": 736, "character": 2 } ], @@ -23280,15 +24413,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 642 - ] + "children": [789] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 662, + "line": 734, "character": 32 } ] @@ -23296,7 +24427,7 @@ } }, { - "id": 643, + "id": 790, "name": "MFAVerifyParams", "kind": 4194304, "kindString": "Type alias", @@ -23304,21 +24435,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 644, + "id": 791, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 646, + "id": 793, "name": "challengeId", "kind": 1024, "kindString": "Property", @@ -23329,7 +24460,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 672, + "line": 744, "character": 2 } ], @@ -23339,7 +24470,7 @@ } }, { - "id": 647, + "id": 794, "name": "code", "kind": 1024, "kindString": "Property", @@ -23350,7 +24481,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 675, + "line": 747, "character": 2 } ], @@ -23360,7 +24491,7 @@ } }, { - "id": 645, + "id": 792, "name": "factorId", "kind": 1024, "kindString": "Property", @@ -23371,7 +24502,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 669, + "line": 741, "character": 2 } ], @@ -23385,17 +24516,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 646, - 647, - 645 - ] + "children": [793, 794, 792] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 667, + "line": 739, "character": 30 } ] @@ -23403,7 +24530,7 @@ } }, { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -23411,7 +24538,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -23430,7 +24557,7 @@ } }, { - "id": 355, + "id": 497, "name": "OAuthResponse", "kind": 4194304, "kindString": "Type alias", @@ -23438,7 +24565,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 130, "character": 12 } ], @@ -23448,14 +24575,14 @@ { "type": "reflection", "declaration": { - "id": 356, + "id": 498, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 357, + "id": 499, "name": "data", "kind": 1024, "kindString": "Property", @@ -23463,21 +24590,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 74, + "line": 132, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 358, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 359, + "id": 501, "name": "provider", "kind": 1024, "kindString": "Property", @@ -23485,18 +24612,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 75, + "line": 133, "character": 8 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider" } }, { - "id": 360, + "id": 502, "name": "url", "kind": 1024, "kindString": "Property", @@ -23504,7 +24631,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 76, + "line": 134, "character": 8 } ], @@ -23518,16 +24645,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 359, - 360 - ] + "children": [501, 502] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 74, + "line": 132, "character": 12 } ] @@ -23535,7 +24659,7 @@ } }, { - "id": 361, + "id": 503, "name": "error", "kind": 1024, "kindString": "Property", @@ -23543,7 +24667,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 136, "character": 6 } ], @@ -23557,16 +24681,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 357, - 361 - ] + "children": [499, 503] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 73, + "line": 131, "character": 4 } ] @@ -23575,14 +24696,14 @@ { "type": "reflection", "declaration": { - "id": 362, + "id": 504, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 363, + "id": 505, "name": "data", "kind": 1024, "kindString": "Property", @@ -23590,21 +24711,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 81, + "line": 139, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 364, + "id": 506, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 365, + "id": 507, "name": "provider", "kind": 1024, "kindString": "Property", @@ -23612,18 +24733,18 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 82, + "line": 140, "character": 8 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider" } }, { - "id": 366, + "id": 508, "name": "url", "kind": 1024, "kindString": "Property", @@ -23631,7 +24752,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 83, + "line": 141, "character": 8 } ], @@ -23645,16 +24766,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 365, - 366 - ] + "children": [507, 508] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 81, + "line": 139, "character": 12 } ] @@ -23662,7 +24780,7 @@ } }, { - "id": 367, + "id": 509, "name": "error", "kind": 1024, "kindString": "Property", @@ -23670,13 +24788,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 85, + "line": 143, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -23685,16 +24803,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 367 - ] + "children": [505, 509] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 80, + "line": 138, "character": 4 } ] @@ -23704,7 +24819,7 @@ } }, { - "id": 794, + "id": 941, "name": "PageParams", "kind": 4194304, "kindString": "Type alias", @@ -23712,21 +24827,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 795, + "id": 942, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 796, + "id": 943, "name": "page", "kind": 1024, "kindString": "Property", @@ -23739,7 +24854,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 978, + "line": 1050, "character": 2 } ], @@ -23749,7 +24864,7 @@ } }, { - "id": 797, + "id": 944, "name": "perPage", "kind": 1024, "kindString": "Property", @@ -23762,7 +24877,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 980, + "line": 1052, "character": 2 } ], @@ -23776,16 +24891,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 796, - 797 - ] + "children": [943, 944] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 976, + "line": 1048, "character": 25 } ] @@ -23793,7 +24905,7 @@ } }, { - "id": 787, + "id": 934, "name": "Pagination", "kind": 4194304, "kindString": "Type alias", @@ -23801,21 +24913,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 969, + "line": 1041, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 788, + "id": 935, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 790, + "id": 937, "name": "lastPage", "kind": 1024, "kindString": "Property", @@ -23823,7 +24935,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 972, + "line": 1044, "character": 2 } ], @@ -23833,7 +24945,7 @@ } }, { - "id": 789, + "id": 936, "name": "nextPage", "kind": 1024, "kindString": "Property", @@ -23841,7 +24953,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 971, + "line": 1043, "character": 2 } ], @@ -23860,7 +24972,7 @@ } }, { - "id": 791, + "id": 938, "name": "total", "kind": 1024, "kindString": "Property", @@ -23868,7 +24980,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 973, + "line": 1045, "character": 2 } ], @@ -23882,29 +24994,25 @@ { "title": "Properties", "kind": 1024, - "children": [ - 790, - 789, - 791 - ] + "children": [937, 936, 938] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 969, + "line": 1041, "character": 25 } ], "indexSignature": { - "id": 792, + "id": 939, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 793, + "id": 940, "name": "key", "kind": 32768, "flags": {}, @@ -23923,7 +25031,7 @@ } }, { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -23961,6 +25069,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -23973,6 +25085,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -24013,7 +25129,7 @@ } }, { - "id": 562, + "id": 708, "name": "ResendParams", "kind": 4194304, "kindString": "Type alias", @@ -24021,7 +25137,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 516, + "line": 586, "character": 12 } ], @@ -24031,14 +25147,14 @@ { "type": "reflection", "declaration": { - "id": 563, + "id": 709, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 565, + "id": 711, "name": "email", "kind": 1024, "kindString": "Property", @@ -24046,7 +25162,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 519, + "line": 589, "character": 6 } ], @@ -24056,7 +25172,7 @@ } }, { - "id": 566, + "id": 712, "name": "options", "kind": 1024, "kindString": "Property", @@ -24066,21 +25182,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 567, + "id": 713, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 568, + "id": 715, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -24093,7 +25209,30 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 522, + "line": 594, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 714, + "name": "emailRedirectTo", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A URL to send the user to after they have signed-in." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 592, "character": 8 } ], @@ -24107,15 +25246,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 568 - ] + "children": [715, 714] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 520, + "line": 590, "character": 16 } ] @@ -24123,7 +25260,7 @@ } }, { - "id": 564, + "id": 710, "name": "type", "kind": 1024, "kindString": "Property", @@ -24131,7 +25268,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 518, + "line": 588, "character": 6 } ], @@ -24140,7 +25277,7 @@ "typeArguments": [ { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType" }, { @@ -24167,17 +25304,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 565, - 566, - 564 - ] + "children": [711, 712, 710] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 517, + "line": 587, "character": 4 } ] @@ -24186,14 +25319,14 @@ { "type": "reflection", "declaration": { - "id": 569, + "id": 716, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 572, + "id": 719, "name": "options", "kind": 1024, "kindString": "Property", @@ -24203,21 +25336,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 573, + "id": 720, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 574, + "id": 721, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -24230,7 +25363,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 530, + "line": 602, "character": 8 } ], @@ -24244,15 +25377,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574 - ] + "children": [721] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 528, + "line": 600, "character": 16 } ] @@ -24260,7 +25391,7 @@ } }, { - "id": 571, + "id": 718, "name": "phone", "kind": 1024, "kindString": "Property", @@ -24268,7 +25399,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 527, + "line": 599, "character": 6 } ], @@ -24278,7 +25409,7 @@ } }, { - "id": 570, + "id": 717, "name": "type", "kind": 1024, "kindString": "Property", @@ -24286,7 +25417,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 526, + "line": 598, "character": 6 } ], @@ -24295,7 +25426,7 @@ "typeArguments": [ { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType" }, { @@ -24322,17 +25453,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 572, - 571, - 570 - ] + "children": [719, 718, 717] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 525, + "line": 597, "character": 4 } ] @@ -24342,7 +25469,7 @@ } }, { - "id": 368, + "id": 510, "name": "SSOResponse", "kind": 4194304, "kindString": "Type alias", @@ -24350,7 +25477,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 88, + "line": 146, "character": 12 } ], @@ -24360,14 +25487,14 @@ { "type": "reflection", "declaration": { - "id": 369, + "id": 511, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 370, + "id": 512, "name": "data", "kind": 1024, "kindString": "Property", @@ -24375,21 +25502,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 90, + "line": 148, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 371, + "id": 513, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 372, + "id": 514, "name": "url", "kind": 1024, "kindString": "Property", @@ -24401,7 +25528,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 98, + "line": 156, "character": 8 } ], @@ -24415,15 +25542,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 372 - ] + "children": [514] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 90, + "line": 148, "character": 12 } ] @@ -24431,7 +25556,7 @@ } }, { - "id": 373, + "id": 515, "name": "error", "kind": 1024, "kindString": "Property", @@ -24439,7 +25564,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 100, + "line": 158, "character": 6 } ], @@ -24453,16 +25578,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 370, - 373 - ] + "children": [512, 515] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 89, + "line": 147, "character": 4 } ] @@ -24471,14 +25593,14 @@ { "type": "reflection", "declaration": { - "id": 374, + "id": 516, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 375, + "id": 517, "name": "data", "kind": 1024, "kindString": "Property", @@ -24486,7 +25608,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 103, + "line": 161, "character": 6 } ], @@ -24496,7 +25618,7 @@ } }, { - "id": 376, + "id": 518, "name": "error", "kind": 1024, "kindString": "Property", @@ -24504,13 +25626,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 104, + "line": 162, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -24519,16 +25641,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 375, - 376 - ] + "children": [517, 518] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 102, + "line": 160, "character": 4 } ] @@ -24538,7 +25657,7 @@ } }, { - "id": 535, + "id": 677, "name": "SignInWithIdTokenCredentials", "kind": 4194304, "kindString": "Type alias", @@ -24546,34 +25665,34 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 536, + "id": 678, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 539, - "name": "nonce", + "id": 681, + "name": "access_token", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, "comment": { - "shortText": "If the ID token contains a `nonce`, then the hash of this value is compared to the value in the ID token." + "shortText": "If the ID token contains an `at_hash` claim, then the hash of this value is compared to the value in the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 471, + "line": 527, "character": 2 } ], @@ -24583,7 +25702,30 @@ } }, { - "id": 540, + "id": 682, + "name": "nonce", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If the ID token contains a `nonce` claim, then the hash of this value is compared to the value in the ID token." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 529, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 683, "name": "options", "kind": 1024, "kindString": "Property", @@ -24593,21 +25735,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 541, + "id": 684, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 542, + "id": 685, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -24620,7 +25762,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 474, + "line": 532, "character": 4 } ], @@ -24634,15 +25776,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 542 - ] + "children": [685] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 472, + "line": 530, "character": 12 } ] @@ -24650,18 +25790,18 @@ } }, { - "id": 537, + "id": 679, "name": "provider", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "Only Apple and Google ID tokens are supported for use from within iOS or Android applications." + "shortText": "Provider name or OIDC `iss` value identifying which provider should be used to verify the provided token. Supported names: `google`, `apple`, `azure`, `facebook`, `keycloak` (deprecated)." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 467, + "line": 523, "character": 2 } ], @@ -24675,23 +25815,35 @@ { "type": "literal", "value": "apple" + }, + { + "type": "literal", + "value": "azure" + }, + { + "type": "literal", + "value": "facebook" + }, + { + "type": "intrinsic", + "name": "string" } ] } }, { - "id": 538, + "id": 680, "name": "token", "kind": 1024, "kindString": "Property", "flags": {}, "comment": { - "shortText": "ID token issued by Apple or Google." + "shortText": "OIDC ID token issued by the specified provider. The `iss` claim in the ID token must match the supplied provider. Some ID tokens contain an `at_hash` which require that you provide an `access_token` value to be accepted properly. If the token contains a `nonce` claim you must supply the nonce used to obtain the ID token." }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 469, + "line": 525, "character": 2 } ], @@ -24705,18 +25857,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 539, - 540, - 537, - 538 - ] + "children": [681, 682, 683, 679, 680] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 463, + "line": 521, "character": 43 } ] @@ -24724,7 +25871,7 @@ } }, { - "id": 523, + "id": 665, "name": "SignInWithOAuthCredentials", "kind": 4194304, "kindString": "Type alias", @@ -24732,21 +25879,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 524, + "id": 666, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 526, + "id": 668, "name": "options", "kind": 1024, "kindString": "Property", @@ -24756,21 +25903,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 527, + "id": 669, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 530, + "id": 672, "name": "queryParams", "kind": 1024, "kindString": "Property", @@ -24783,14 +25930,14 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 4 } ], "type": { "type": "reflection", "declaration": { - "id": 531, + "id": 673, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -24798,19 +25945,19 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 457, + "line": 515, "character": 18 } ], "indexSignature": { - "id": 532, + "id": 674, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 533, + "id": 675, "name": "key", "kind": 32768, "flags": {}, @@ -24829,7 +25976,7 @@ } }, { - "id": 528, + "id": 670, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -24842,7 +25989,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 453, + "line": 511, "character": 4 } ], @@ -24852,7 +25999,7 @@ } }, { - "id": 529, + "id": 671, "name": "scopes", "kind": 1024, "kindString": "Property", @@ -24865,7 +26012,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 455, + "line": 513, "character": 4 } ], @@ -24875,7 +26022,7 @@ } }, { - "id": 534, + "id": 676, "name": "skipBrowserRedirect", "kind": 1024, "kindString": "Property", @@ -24888,7 +26035,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 459, + "line": 517, "character": 4 } ], @@ -24902,18 +26049,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 530, - 528, - 529, - 534 - ] + "children": [672, 670, 671, 676] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 451, + "line": 509, "character": 12 } ] @@ -24921,7 +26063,7 @@ } }, { - "id": 525, + "id": 667, "name": "provider", "kind": 1024, "kindString": "Property", @@ -24932,16 +26074,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 450, + "line": 508, "character": 2 } ], "type": { "type": "reference", - "id": 325, + "id": 428, "name": "Provider", "dereferenced": { - "id": 325, + "id": 428, "name": "Provider", "kind": 4194304, "kindString": "Type alias", @@ -24979,6 +26121,10 @@ "type": "literal", "value": "facebook" }, + { + "type": "literal", + "value": "figma" + }, { "type": "literal", "value": "github" @@ -24991,6 +26137,10 @@ "type": "literal", "value": "google" }, + { + "type": "literal", + "value": "kakao" + }, { "type": "literal", "value": "keycloak" @@ -25037,16 +26187,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 526, - 525 - ] + "children": [668, 667] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 448, + "line": 506, "character": 41 } ] @@ -25054,7 +26201,7 @@ } }, { - "id": 491, + "id": 633, "name": "SignInWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -25062,7 +26209,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 381, + "line": 439, "character": 12 } ], @@ -25072,14 +26219,14 @@ { "type": "reflection", "declaration": { - "id": 492, + "id": 634, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 493, + "id": 635, "name": "email", "kind": 1024, "kindString": "Property", @@ -25090,7 +26237,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 384, + "line": 442, "character": 6 } ], @@ -25100,7 +26247,7 @@ } }, { - "id": 495, + "id": 637, "name": "options", "kind": 1024, "kindString": "Property", @@ -25110,21 +26257,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 496, + "id": 638, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 639, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -25137,7 +26284,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 389, + "line": 447, "character": 8 } ], @@ -25151,15 +26298,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497 - ] + "children": [639] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 387, + "line": 445, "character": 16 } ] @@ -25167,7 +26312,7 @@ } }, { - "id": 494, + "id": 636, "name": "password", "kind": 1024, "kindString": "Property", @@ -25178,7 +26323,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 386, + "line": 444, "character": 6 } ], @@ -25192,17 +26337,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 493, - 495, - 494 - ] + "children": [635, 637, 636] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 382, + "line": 440, "character": 4 } ] @@ -25211,14 +26352,14 @@ { "type": "reflection", "declaration": { - "id": 498, + "id": 640, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 501, + "id": 643, "name": "options", "kind": 1024, "kindString": "Property", @@ -25228,21 +26369,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 502, + "id": 644, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 504, + "id": 646, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -25255,7 +26396,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 405, + "line": 463, "character": 8 } ], @@ -25265,7 +26406,7 @@ } }, { - "id": 503, + "id": 645, "name": "data", "kind": 1024, "kindString": "Property", @@ -25279,7 +26420,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 403, + "line": 461, "character": 8 } ], @@ -25293,16 +26434,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 504, - 503 - ] + "children": [646, 645] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 397, + "line": 455, "character": 16 } ] @@ -25310,7 +26448,7 @@ } }, { - "id": 500, + "id": 642, "name": "password", "kind": 1024, "kindString": "Property", @@ -25321,7 +26459,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 396, + "line": 454, "character": 6 } ], @@ -25331,7 +26469,7 @@ } }, { - "id": 499, + "id": 641, "name": "phone", "kind": 1024, "kindString": "Property", @@ -25342,7 +26480,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 394, + "line": 452, "character": 6 } ], @@ -25356,17 +26494,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 501, - 500, - 499 - ] + "children": [643, 642, 641] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 392, + "line": 450, "character": 4 } ] @@ -25376,7 +26510,7 @@ } }, { - "id": 505, + "id": 647, "name": "SignInWithPasswordlessCredentials", "kind": 4194304, "kindString": "Type alias", @@ -25384,7 +26518,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 409, + "line": 467, "character": 12 } ], @@ -25394,14 +26528,14 @@ { "type": "reflection", "declaration": { - "id": 506, + "id": 648, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 507, + "id": 649, "name": "email", "kind": 1024, "kindString": "Property", @@ -25412,7 +26546,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 412, + "line": 470, "character": 6 } ], @@ -25422,7 +26556,7 @@ } }, { - "id": 508, + "id": 650, "name": "options", "kind": 1024, "kindString": "Property", @@ -25432,21 +26566,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 509, + "id": 651, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 513, + "id": 655, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -25459,7 +26593,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 425, + "line": 483, "character": 8 } ], @@ -25469,7 +26603,7 @@ } }, { - "id": 512, + "id": 654, "name": "data", "kind": 1024, "kindString": "Property", @@ -25483,7 +26617,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 423, + "line": 481, "character": 8 } ], @@ -25493,7 +26627,7 @@ } }, { - "id": 510, + "id": 652, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -25506,7 +26640,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 415, + "line": 473, "character": 8 } ], @@ -25516,7 +26650,7 @@ } }, { - "id": 511, + "id": 653, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -25529,7 +26663,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 417, + "line": 475, "character": 8 } ], @@ -25543,18 +26677,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 513, - 512, - 510, - 511 - ] + "children": [655, 654, 652, 653] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 413, + "line": 471, "character": 16 } ] @@ -25566,16 +26695,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 507, - 508 - ] + "children": [649, 650] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 410, + "line": 468, "character": 4 } ] @@ -25584,14 +26710,14 @@ { "type": "reflection", "declaration": { - "id": 514, + "id": 656, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 516, + "id": 658, "name": "options", "kind": 1024, "kindString": "Property", @@ -25601,21 +26727,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 517, + "id": 659, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 520, + "id": 662, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -25628,7 +26754,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 441, + "line": 499, "character": 8 } ], @@ -25638,7 +26764,7 @@ } }, { - "id": 521, + "id": 663, "name": "channel", "kind": 1024, "kindString": "Property", @@ -25651,7 +26777,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 443, + "line": 501, "character": 8 } ], @@ -25670,7 +26796,7 @@ } }, { - "id": 519, + "id": 661, "name": "data", "kind": 1024, "kindString": "Property", @@ -25684,7 +26810,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 439, + "line": 497, "character": 8 } ], @@ -25694,7 +26820,7 @@ } }, { - "id": 518, + "id": 660, "name": "shouldCreateUser", "kind": 1024, "kindString": "Property", @@ -25707,7 +26833,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 433, + "line": 491, "character": 8 } ], @@ -25721,18 +26847,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 520, - 521, - 519, - 518 - ] + "children": [662, 663, 661, 660] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 431, + "line": 489, "character": 16 } ] @@ -25740,7 +26861,7 @@ } }, { - "id": 515, + "id": 657, "name": "phone", "kind": 1024, "kindString": "Property", @@ -25751,7 +26872,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 430, + "line": 488, "character": 6 } ], @@ -25765,16 +26886,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 516, - 515 - ] + "children": [658, 657] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 428, + "line": 486, "character": 4 } ] @@ -25784,7 +26902,7 @@ } }, { - "id": 575, + "id": 722, "name": "SignInWithSSO", "kind": 4194304, "kindString": "Type alias", @@ -25792,7 +26910,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 534, + "line": 606, "character": 12 } ], @@ -25802,14 +26920,14 @@ { "type": "reflection", "declaration": { - "id": 576, + "id": 723, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 578, + "id": 725, "name": "options", "kind": 1024, "kindString": "Property", @@ -25819,21 +26937,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 579, + "id": 726, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 581, + "id": 728, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -25846,7 +26964,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 543, + "line": 615, "character": 8 } ], @@ -25856,7 +26974,7 @@ } }, { - "id": 580, + "id": 727, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -25869,7 +26987,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 541, + "line": 613, "character": 8 } ], @@ -25883,16 +27001,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 581, - 580 - ] + "children": [728, 727] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 539, + "line": 611, "character": 16 } ] @@ -25900,7 +27015,7 @@ } }, { - "id": 577, + "id": 724, "name": "providerId", "kind": 1024, "kindString": "Property", @@ -25911,7 +27026,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 537, + "line": 609, "character": 6 } ], @@ -25925,16 +27040,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 578, - 577 - ] + "children": [725, 724] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 535, + "line": 607, "character": 4 } ] @@ -25943,14 +27055,14 @@ { "type": "reflection", "declaration": { - "id": 582, + "id": 729, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 583, + "id": 730, "name": "domain", "kind": 1024, "kindString": "Property", @@ -25961,7 +27073,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 548, + "line": 620, "character": 6 } ], @@ -25971,7 +27083,7 @@ } }, { - "id": 584, + "id": 731, "name": "options", "kind": 1024, "kindString": "Property", @@ -25981,21 +27093,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 585, + "id": 732, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 587, + "id": 734, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -26008,7 +27120,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 554, + "line": 626, "character": 8 } ], @@ -26018,7 +27130,7 @@ } }, { - "id": 586, + "id": 733, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -26031,7 +27143,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 552, + "line": 624, "character": 8 } ], @@ -26045,16 +27157,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 587, - 586 - ] + "children": [734, 733] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 550, + "line": 622, "character": 16 } ] @@ -26066,16 +27175,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 583, - 584 - ] + "children": [730, 731] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 546, + "line": 618, "character": 4 } ] @@ -26085,7 +27191,83 @@ } }, { - "id": 474, + "id": 945, + "name": "SignOut", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 946, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 947, + "name": "scope", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Determines which sessions should be\nlogged out. Global means all\nsessions by this account. Local\nmeans only this session. Others\nmeans all other sessions except the\ncurrent one. When using others,\nthere is no sign-out event fired on\nthe current session!" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1066, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "global" + }, + { + "type": "literal", + "value": "local" + }, + { + "type": "literal", + "value": "others" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [947] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1055, + "character": 22 + } + ] + } + } + }, + { + "id": 616, "name": "SignUpWithPasswordCredentials", "kind": 4194304, "kindString": "Type alias", @@ -26093,7 +27275,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 344, + "line": 402, "character": 12 } ], @@ -26103,14 +27285,14 @@ { "type": "reflection", "declaration": { - "id": 475, + "id": 617, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 476, + "id": 618, "name": "email", "kind": 1024, "kindString": "Property", @@ -26121,7 +27303,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 347, + "line": 405, "character": 6 } ], @@ -26131,7 +27313,7 @@ } }, { - "id": 478, + "id": 620, "name": "options", "kind": 1024, "kindString": "Property", @@ -26141,21 +27323,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 479, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 482, + "id": 624, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -26168,7 +27350,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 360, + "line": 418, "character": 8 } ], @@ -26178,7 +27360,7 @@ } }, { - "id": 481, + "id": 623, "name": "data", "kind": 1024, "kindString": "Property", @@ -26192,7 +27374,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 358, + "line": 416, "character": 8 } ], @@ -26202,7 +27384,7 @@ } }, { - "id": 480, + "id": 622, "name": "emailRedirectTo", "kind": 1024, "kindString": "Property", @@ -26215,7 +27397,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 352, + "line": 410, "character": 8 } ], @@ -26229,17 +27411,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 482, - 481, - 480 - ] + "children": [624, 623, 622] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 350, + "line": 408, "character": 16 } ] @@ -26247,7 +27425,7 @@ } }, { - "id": 477, + "id": 619, "name": "password", "kind": 1024, "kindString": "Property", @@ -26258,7 +27436,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 349, + "line": 407, "character": 6 } ], @@ -26272,17 +27450,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 476, - 478, - 477 - ] + "children": [618, 620, 619] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 345, + "line": 403, "character": 4 } ] @@ -26291,14 +27465,14 @@ { "type": "reflection", "declaration": { - "id": 483, + "id": 625, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 486, + "id": 628, "name": "options", "kind": 1024, "kindString": "Property", @@ -26308,21 +27482,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 487, + "id": 629, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 489, + "id": 631, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -26335,7 +27509,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 376, + "line": 434, "character": 8 } ], @@ -26345,7 +27519,7 @@ } }, { - "id": 490, + "id": 632, "name": "channel", "kind": 1024, "kindString": "Property", @@ -26358,7 +27532,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 378, + "line": 436, "character": 8 } ], @@ -26377,7 +27551,7 @@ } }, { - "id": 488, + "id": 630, "name": "data", "kind": 1024, "kindString": "Property", @@ -26391,7 +27565,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 374, + "line": 432, "character": 8 } ], @@ -26405,17 +27579,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 489, - 490, - 488 - ] + "children": [631, 632, 630] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 368, + "line": 426, "character": 16 } ] @@ -26423,7 +27593,7 @@ } }, { - "id": 485, + "id": 627, "name": "password", "kind": 1024, "kindString": "Property", @@ -26434,7 +27604,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 367, + "line": 425, "character": 6 } ], @@ -26444,7 +27614,7 @@ } }, { - "id": 484, + "id": 626, "name": "phone", "kind": 1024, "kindString": "Property", @@ -26455,7 +27625,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 365, + "line": 423, "character": 6 } ], @@ -26469,17 +27639,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 486, - 485, - 484 - ] + "children": [628, 627, 626] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 363, + "line": 421, "character": 4 } ] @@ -26489,7 +27655,7 @@ } }, { - "id": 776, + "id": 923, "name": "SupportedStorage", "kind": 4194304, "kindString": "Type alias", @@ -26497,7 +27663,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 955, + "line": 1027, "character": 12 } ], @@ -26540,7 +27706,7 @@ } }, { - "id": 377, + "id": 519, "name": "UserResponse", "kind": 4194304, "kindString": "Type alias", @@ -26548,7 +27714,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 107, + "line": 165, "character": 12 } ], @@ -26558,14 +27724,14 @@ { "type": "reflection", "declaration": { - "id": 378, + "id": 520, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 379, + "id": 521, "name": "data", "kind": 1024, "kindString": "Property", @@ -26573,21 +27739,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 109, + "line": 167, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 380, + "id": 522, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 381, + "id": 523, "name": "user", "kind": 1024, "kindString": "Property", @@ -26595,13 +27761,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 110, + "line": 168, "character": 8 } ], "type": { "type": "reference", - "id": 425, + "id": 567, "name": "User" } } @@ -26610,15 +27776,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 381 - ] + "children": [523] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 109, + "line": 167, "character": 12 } ] @@ -26626,7 +27790,7 @@ } }, { - "id": 382, + "id": 524, "name": "error", "kind": 1024, "kindString": "Property", @@ -26634,7 +27798,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 112, + "line": 170, "character": 6 } ], @@ -26648,16 +27812,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 379, - 382 - ] + "children": [521, 524] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 108, + "line": 166, "character": 4 } ] @@ -26666,14 +27827,14 @@ { "type": "reflection", "declaration": { - "id": 383, + "id": 525, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 384, + "id": 526, "name": "data", "kind": 1024, "kindString": "Property", @@ -26681,21 +27842,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 115, + "line": 173, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 385, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 386, + "id": 528, "name": "user", "kind": 1024, "kindString": "Property", @@ -26703,7 +27864,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 116, + "line": 174, "character": 8 } ], @@ -26717,15 +27878,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 386 - ] + "children": [528] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 115, + "line": 173, "character": 12 } ] @@ -26733,7 +27892,7 @@ } }, { - "id": 387, + "id": 529, "name": "error", "kind": 1024, "kindString": "Property", @@ -26741,13 +27900,13 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 118, + "line": 176, "character": 6 } ], "type": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } @@ -26756,16 +27915,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 384, - 387 - ] + "children": [526, 529] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 114, + "line": 172, "character": 4 } ] @@ -26775,7 +27931,7 @@ } }, { - "id": 543, + "id": 686, "name": "VerifyOtpParams", "kind": 4194304, "kindString": "Type alias", @@ -26783,7 +27939,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 478, + "line": 536, "character": 12 } ], @@ -26791,14 +27947,14 @@ "type": "union", "types": [ { - "id": 544, + "id": 687, "name": "VerifyMobileOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 548, + "id": 691, "name": "options", "kind": 1024, "kindString": "Property", @@ -26808,21 +27964,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 486, + "line": 544, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 692, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 551, + "id": 694, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -26841,7 +27997,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 495, + "line": 553, "character": 4 } ], @@ -26851,7 +28007,7 @@ } }, { - "id": 550, + "id": 693, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -26864,7 +28020,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 488, + "line": 546, "character": 4 } ], @@ -26878,17 +28034,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 551, - 550 - ] + "children": [694, 693] } ] } } }, { - "id": 545, + "id": 688, "name": "phone", "kind": 1024, "kindString": "Property", @@ -26899,7 +28052,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 481, + "line": 539, "character": 2 } ], @@ -26909,7 +28062,7 @@ } }, { - "id": 546, + "id": 689, "name": "token", "kind": 1024, "kindString": "Property", @@ -26920,7 +28073,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 483, + "line": 541, "character": 2 } ], @@ -26930,7 +28083,7 @@ } }, { - "id": 547, + "id": 690, "name": "type", "kind": 1024, "kindString": "Property", @@ -26941,16 +28094,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 485, + "line": 543, "character": 2 } ], "type": { "type": "reference", - "id": 560, + "id": 706, "name": "MobileOtpType", "dereferenced": { - "id": 560, + "id": 706, "name": "MobileOtpType", "kind": 4194304, "kindString": "Type alias", @@ -26958,7 +28111,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 513, + "line": 583, "character": 12 } ], @@ -26983,31 +28136,26 @@ { "title": "Properties", "kind": 1024, - "children": [ - 548, - 545, - 546, - 547 - ] + "children": [691, 688, 689, 690] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 479, + "line": 537, "character": 17 } ] }, { - "id": 552, + "id": 695, "name": "VerifyEmailOtpParams", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 553, + "id": 696, "name": "email", "kind": 1024, "kindString": "Property", @@ -27018,7 +28166,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 500, + "line": 558, "character": 2 } ], @@ -27028,7 +28176,7 @@ } }, { - "id": 556, + "id": 699, "name": "options", "kind": 1024, "kindString": "Property", @@ -27038,21 +28186,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 505, + "line": 563, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 557, + "id": 700, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 559, + "id": 702, "name": "captchaToken", "kind": 1024, "kindString": "Property", @@ -27060,12 +28208,18 @@ "isOptional": true }, "comment": { - "shortText": "Verification token received when the user completes the captcha on the site." + "shortText": "Verification token received when the user completes the captcha on the site.", + "tags": [ + { + "tag": "deprecated", + "text": "\n" + } + ] }, "sources": [ { "fileName": "src/lib/types.ts", - "line": 509, + "line": 571, "character": 4 } ], @@ -27075,7 +28229,7 @@ } }, { - "id": 558, + "id": 701, "name": "redirectTo", "kind": 1024, "kindString": "Property", @@ -27088,7 +28242,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 507, + "line": 565, "character": 4 } ], @@ -27102,17 +28256,14 @@ { "title": "Properties", "kind": 1024, - "children": [ - 559, - 558 - ] + "children": [702, 701] } ] } } }, { - "id": 554, + "id": 697, "name": "token", "kind": 1024, "kindString": "Property", @@ -27123,7 +28274,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 502, + "line": 560, "character": 2 } ], @@ -27133,7 +28284,7 @@ } }, { - "id": 555, + "id": 698, "name": "type", "kind": 1024, "kindString": "Property", @@ -27144,16 +28295,16 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 504, + "line": 562, "character": 2 } ], "type": { "type": "reference", - "id": 561, + "id": 707, "name": "EmailOtpType", "dereferenced": { - "id": 561, + "id": 707, "name": "EmailOtpType", "kind": 4194304, "kindString": "Type alias", @@ -27161,7 +28312,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 514, + "line": 584, "character": 12 } ], @@ -27202,18 +28353,122 @@ { "title": "Properties", "kind": 1024, - "children": [ - 553, - 556, - 554, - 555 - ] + "children": [696, 699, 697, 698] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 498, + "line": 556, + "character": 17 + } + ] + }, + { + "id": 703, + "name": "VerifyTokenHashParams", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 704, + "name": "token_hash", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The token hash used in an email link" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 577, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 705, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The user's verification type." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 580, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 707, + "name": "EmailOtpType", + "dereferenced": { + "id": 707, + "name": "EmailOtpType", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 584, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "signup" + }, + { + "type": "literal", + "value": "invite" + }, + { + "type": "literal", + "value": "magiclink" + }, + { + "type": "literal", + "value": "recovery" + }, + { + "type": "literal", + "value": "email_change" + }, + { + "type": "literal", + "value": "email" + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [704, 705] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 575, "character": 17 } ] @@ -27222,7 +28477,78 @@ } }, { - "id": 801, + "id": 425, + "name": "lockInternals", + "kind": 32, + "kindString": "Variable", + "flags": { + "isConst": true + }, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 6, + "character": 13 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 426, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 427, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 10, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "!!(\n globalThis &&\n supportsLocalStorage() &&\n globalThis.localStorage &&\n globalThis.localStorage.getItem('supabase.gotrue-js.locks.debug') === 'true'\n )" + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [427] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 951, "name": "isAuthApiError", "kind": 64, "kindString": "Function", @@ -27236,14 +28562,14 @@ ], "signatures": [ { - "id": 802, + "id": 952, "name": "isAuthApiError", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 803, + "id": 953, "name": "error", "kind": 32768, "kindString": "Parameter", @@ -27260,7 +28586,7 @@ "asserts": false, "targetType": { "type": "reference", - "id": 811, + "id": 964, "name": "AuthApiError" } } @@ -27268,7 +28594,7 @@ ] }, { - "id": 798, + "id": 948, "name": "isAuthError", "kind": 64, "kindString": "Function", @@ -27282,14 +28608,14 @@ ], "signatures": [ { - "id": 799, + "id": 949, "name": "isAuthError", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 800, + "id": 950, "name": "error", "kind": 32768, "kindString": "Parameter", @@ -27306,115 +28632,218 @@ "asserts": false, "targetType": { "type": "reference", - "id": 804, + "id": 957, "name": "AuthError" } } } ] + }, + { + "id": 954, + "name": "isAuthRetryableFetchError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 124, + "character": 16 + } + ], + "signatures": [ + { + "id": 955, + "name": "isAuthRetryableFetchError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 956, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 1087, + "name": "AuthRetryableFetchError" + } + } + } + ] + }, + { + "id": 412, + "name": "navigatorLock", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/locks.ts", + "line": 53, + "character": 22 + } + ], + "signatures": [ + { + "id": 413, + "name": "navigatorLock", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Implements a global exclusive lock using the Navigator LockManager API. It\nis available on all browsers released after 2022-03-15 with Safari being the\nlast one to release support. If the API is not available, this function will\nthrow. Make sure you check availablility before configuring {@link\nGoTrueClient}.", + "text": "You can turn on debugging by setting the `supabase.gotrue-js.locks.debug`\nlocal storage item to `true`.\n\nInternals:\n\nSince the LockManager API does not preserve stack traces for the async\nfunction passed in the `request` method, a trick is used where acquiring the\nlock releases a previously started promise to run the operation in the `fn`\nfunction. The lock waits for that promise to finish (with or without error),\nwhile the function will finally wait for the result anyway.\n", + "tags": [ + { + "tag": "experimental", + "text": "\n" + } + ] + }, + "typeParameter": [ + { + "id": 414, + "name": "R", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 415, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Name of the lock to be acquired." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 416, + "name": "acquireTimeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "If negative, no timeout. If 0 an error is thrown if\n the lock can't be acquired without waiting. If positive, the lock acquire\n will time out after so many milliseconds. An error is\n a timeout if it has `isAcquireTimeout` set to true." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 417, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operation to run once the lock is acquired.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 418, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 419, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 414, + "name": "R" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] } ], "groups": [ { "title": "Classes", "kind": 128, - "children": [ - 811, - 804, - 872, - 859, - 897, - 922, - 847, - 824, - 832, - 1, - 77 - ] + "children": [964, 957, 1037, 1024, 1012, 1062, 1087, 1000, 977, 985, 1, 78, 420] }, { "title": "Interfaces", "kind": 256, "children": [ - 397, - 454, - 411, - 610, - 769, - 724, - 388, - 464, - 472, - 425, - 418, - 448, - 400, - 422, - 552, - 544 + 539, 596, 553, 757, 916, 871, 530, 606, 614, 567, 560, 590, 542, 564, 695, 687, 703 ] }, { "title": "Type Aliases", "kind": 4194304, "children": [ - 327, - 326, - 522, - 753, - 744, - 766, - 757, - 692, - 668, - 713, - 702, - 683, - 655, - 342, - 712, - 780, - 561, - 604, - 594, - 613, - 627, - 614, - 634, - 599, - 588, - 328, - 777, - 651, - 648, - 635, - 640, - 643, - 560, - 355, - 794, - 787, - 325, - 562, - 368, - 535, - 523, - 491, - 505, - 575, - 474, - 776, - 377, - 543 + 430, 429, 664, 900, 891, 913, 904, 839, 815, 860, 849, 830, 802, 469, 456, 484, 859, 927, + 707, 751, 741, 760, 774, 761, 781, 746, 735, 440, 924, 431, 798, 795, 782, 787, 790, 706, + 497, 941, 934, 428, 708, 510, 677, 665, 633, 647, 722, 945, 616, 923, 519, 686 ] }, + { + "title": "Variables", + "kind": 32, + "children": [425] + }, { "title": "Functions", "kind": 64, - "children": [ - 801, - 798 - ] + "children": [951, 948, 954, 412] } ], "sources": [ @@ -27424,4 +28853,4 @@ "character": 0 } ] -} \ No newline at end of file +} diff --git a/spec/enrichments/tsdoc_v2/postgrest.json b/spec/enrichments/tsdoc_v2/postgrest.json index 667700a2d8c..bf422e3f5a5 100644 --- a/spec/enrichments/tsdoc_v2/postgrest.json +++ b/spec/enrichments/tsdoc_v2/postgrest.json @@ -1,13428 +1,14418 @@ { - "id": 0, - "name": "@supabase/postgrest-js", - "kind": 1, - "kindString": "Project", - "flags": {}, - "originalName": "", - "children": [ - { - "id": 536, - "name": "PostgrestBuilder", - "kind": 128, - "kindString": "Class", - "flags": { - "isAbstract": true - }, - "children": [ - { - "id": 537, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 18, - "character": 2 - } - ], - "signatures": [ - { - "id": 538, - "name": "new PostgrestBuilder", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "typeParameter": [ - { - "id": 539, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "parameters": [ - { - "id": 540, - "name": "builder", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "default" - } - } - ], - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 545, - "name": "body", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 12, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "id": 548, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 15, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 549, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 550, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 551, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 552, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 543, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 10, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 553, - "name": "isMaybeSingle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 16, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 541, - "name": "method", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "GET" - }, - { - "type": "literal", - "value": "HEAD" - }, - { - "type": "literal", - "value": "POST" - }, - { - "type": "literal", - "value": "PATCH" - }, - { - "type": "literal", - "value": "DELETE" - } - ] - } - }, - { - "id": 544, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 11, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 546, - "name": "shouldThrowOnError", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 13, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - }, - { - "id": 547, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 14, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - } - }, - { - "id": 542, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 9, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - }, - { - "id": 556, - "name": "then", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 48, - "character": 2 - } - ], - "signatures": [ - { - "id": 557, - "name": "then", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 558, - "name": "TResult1", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - }, - { - "id": 559, - "name": "TResult2", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "never" - } - } - ], - "parameters": [ - { - "id": 560, - "name": "onfulfilled", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 561, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 562, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 563, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - }, - { - "id": 564, - "name": "onrejected", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 565, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 566, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 567, - "name": "reason", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ] - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - }, - "implementationOf": { - "type": "reference", - "name": "PromiseLike.then" - } - } - ], - "implementationOf": { - "type": "reference", - "name": "PromiseLike.then" - } - }, - { - "id": 554, - "name": "throwOnError", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 43, - "character": 2 - } - ], - "signatures": [ - { - "id": 555, - "name": "throwOnError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", - "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" - }, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "default" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 537 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 556, - 554 - ] - } - ], - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 5, - "character": 30 - } - ], - "typeParameter": [ - { - "id": 568, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 437, - "name": "PostgrestTransformBuilder" - } - ], - "implementedTypes": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 539, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - }, - { - "id": 1, - "name": "PostgrestClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "comment": { - "shortText": "PostgREST client." - }, - "children": [ - { - "id": 2, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 41, - "character": 2 - } - ], - "signatures": [ - { - "id": 3, - "name": "new PostgrestClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "comment": { - "shortText": "Creates a PostgREST client." - }, - "typeParameter": [ - { - "id": 4, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 5, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - } - ] - } - } - }, - { - "id": 6, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - } - ], - "parameters": [ - { - "id": 7, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "URL of the PostgREST endpoint" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 8, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 9, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 12, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 50, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 13, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 14, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Custom fetch\n" - }, - "parameters": [ - { - "id": 15, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 16, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 10, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Custom headers" - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 48, - "character": 6 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 11, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Postgres schema to switch to" - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 49, - "character": 6 - } - ], - "type": { - "type": "reference", - "id": 5, - "name": "SchemaName" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 12, - 10, - 11 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 1, - "typeArguments": [ - { - "type": "reference", - "id": 4, - "name": "Database" - }, - { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - { - "type": "reference", - "id": 6, - "name": "Schema" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 20, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 29, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 21, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 22, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 23, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 24, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 18, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 27, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 19, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 28, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 5, - "name": "SchemaName" - } - }, - { - "id": 17, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 26, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 25, - "name": "from", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 59, - "character": 2 - } - ], - "signatures": [ - { - "id": 26, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a query on a table or a view." - }, - "typeParameter": [ - { - "id": 27, - "name": "TableName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 28, - "name": "Table", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericTable" - } - } - ], - "parameters": [ - { - "id": 29, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The table or view name to query\n" - }, - "type": { - "type": "reference", - "id": 27, - "name": "TableName" - } - } - ], - "type": { - "type": "reference", - "id": 49, - "typeArguments": [ - { - "type": "reference", - "id": 6, - "name": "Schema" - }, - { - "type": "reference", - "id": 28, - "name": "Table" - } - ], - "name": "default" - } - }, - { - "id": 30, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a query on a table or a view." - }, - "typeParameter": [ - { - "id": 31, - "name": "ViewName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 32, - "name": "View", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericView" - } - } - ], - "parameters": [ - { - "id": 33, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The table or view name to query\n" - }, - "type": { - "type": "reference", - "id": 31, - "name": "ViewName" - } - } - ], - "type": { - "type": "reference", - "id": 49, - "typeArguments": [ - { - "type": "reference", - "id": 6, - "name": "Schema" - }, - { - "type": "reference", - "id": 32, - "name": "View" - } - ], - "name": "default" - } - }, - { - "id": 34, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a query on a table or a view." - }, - "parameters": [ - { - "id": 35, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The table or view name to query\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 49, - "typeArguments": [ - { - "type": "reference", - "id": 6, - "name": "Schema" - }, - { - "type": "intrinsic", - "name": "any" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 36, - "name": "rpc", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 102, - "character": 2 - } - ], - "signatures": [ - { - "id": 37, - "name": "rpc", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a function call." - }, - "typeParameter": [ - { - "id": 38, - "name": "FunctionName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 39, - "name": "Function_", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericFunction" - } - } - ], - "parameters": [ - { - "id": 40, - "name": "fn", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The function name to call" - }, - "type": { - "type": "reference", - "id": 38, - "name": "FunctionName" - } - }, - { - "id": 41, - "name": "args", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The arguments to pass to the function call" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Args" - }, - "objectType": { - "type": "reference", - "id": 39, - "name": "Function_" - } - }, - "defaultValue": "{}" - }, - { - "id": 42, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 43, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 45, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count rows returned by the\nfunction. Only applicable for [set-returning\nfunctions](https://www.postgresql.org/docs/current/functions-srf.html).\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 113, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - }, - { - "id": 44, - "name": "head", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count." - }, - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 112, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 45, - 44 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 6, - "name": "Schema" - }, - { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Returns" - }, - "objectType": { - "type": "reference", - "id": 39, - "name": "Function_" - } - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "any" - } - }, - "trueType": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "number" - }, - "objectType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - } - }, - "extendsType": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Returns" - }, - "objectType": { - "type": "reference", - "id": 39, - "name": "Function_" - } - } - ], - "name": "default" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 2 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 20, - 18, - 19, - 17 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 25, - 36 - ] - } - ], - "sources": [ - { - "fileName": "src/PostgrestClient.ts", - "line": 17, - "character": 21 - } - ], - "typeParameter": [ - { - "id": 46, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "comment": { - "shortText": "Types for the schema from the [type\ngenerator](https://supabase.com/docs/reference/javascript/next/typescript-support)\n" - }, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 47, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "comment": { - "shortText": "Postgres schema to switch to. Must be a string\nliteral, the same one passed to the constructor. If the schema is not\n`\"public\"`, this must be supplied manually.\n" - }, - "type": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - } - ] - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - } - ] - } - } - }, - { - "id": 48, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - } - ] - }, - { - "id": 114, - "name": "PostgrestFilterBuilder", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 115, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 116, - "name": "new PostgrestFilterBuilder", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "typeParameter": [ - { - "id": 117, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 118, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 119, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "parameters": [ - { - "id": 120, - "name": "builder", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 439, - "name": "default.constructor" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 438, - "name": "default.constructor" - } - }, - { - "id": 411, - "name": "body", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 12, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - }, - "inheritedFrom": { - "type": "reference", - "id": 510, - "name": "default.body" - } - }, - { - "id": 414, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 15, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 415, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 416, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 417, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 418, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "id": 513, - "name": "default.fetch" - } - }, - { - "id": 409, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 10, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - "inheritedFrom": { - "type": "reference", - "id": 508, - "name": "default.headers" - } - }, - { - "id": 419, - "name": "isMaybeSingle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 16, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "id": 518, - "name": "default.isMaybeSingle" - } - }, - { - "id": 407, - "name": "method", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "GET" - }, - { - "type": "literal", - "value": "HEAD" - }, - { - "type": "literal", - "value": "POST" - }, - { - "type": "literal", - "value": "PATCH" - }, - { - "type": "literal", - "value": "DELETE" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "id": 506, - "name": "default.method" - } - }, - { - "id": 410, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 11, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 509, - "name": "default.schema" - } - }, - { - "id": 412, - "name": "shouldThrowOnError", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 13, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false", - "inheritedFrom": { - "type": "reference", - "id": 511, - "name": "default.shouldThrowOnError" - } - }, - { - "id": 413, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 14, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - }, - "inheritedFrom": { - "type": "reference", - "id": 512, - "name": "default.signal" - } - }, - { - "id": 408, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 9, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - }, - "inheritedFrom": { - "type": "reference", - "id": 507, - "name": "default.url" - } - }, - { - "id": 379, - "name": "abortSignal", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, - "character": 2 - } - ], - "signatures": [ - { - "id": 380, - "name": "abortSignal", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Set the AbortSignal for the fetch request." - }, - "parameters": [ - { - "id": 381, - "name": "signal", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The AbortSignal to use for the fetch request\n" - }, - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 479, - "name": "default.abortSignal" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 478, - "name": "default.abortSignal" - } - }, - { - "id": 241, - "name": "containedBy", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 261, - "character": 2 - } - ], - "signatures": [ - { - "id": 242, - "name": "containedBy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\nevery element appearing in `column` is contained by `value`." - }, - "typeParameter": [ - { - "id": 243, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 244, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range column to filter on" - }, - "type": { - "type": "reference", - "id": 243, - "name": "ColumnName" - } - }, - { - "id": 245, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 243, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 246, - "name": "containedBy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\nevery element appearing in `column` is contained by `value`." - }, - "parameters": [ - { - "id": 247, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 248, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 233, - "name": "contains", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 234, - "character": 2 - } - ], - "signatures": [ - { - "id": 234, - "name": "contains", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\n`column` contains every element appearing in `value`." - }, - "typeParameter": [ - { - "id": 235, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 236, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range column to filter on" - }, - "type": { - "type": "reference", - "id": 235, - "name": "ColumnName" - } - }, - { - "id": 237, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 235, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 238, - "name": "contains", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\n`column` contains every element appearing in `value`." - }, - "parameters": [ - { - "id": 239, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 240, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The jsonb, array, or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 388, - "name": "csv", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, - "character": 2 - } - ], - "signatures": [ - { - "id": 389, - "name": "csv", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a string in CSV format." - }, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 488, - "name": "default.csv" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 487, - "name": "default.csv" - } - }, - { - "id": 121, - "name": "eq", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 33, - "character": 2 - } - ], - "signatures": [ - { - "id": 122, - "name": "eq", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is equal to `value`.", - "text": "To check if the value of `column` is NULL, you should use `.is()` instead.\n" - }, - "typeParameter": [ - { - "id": 123, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 124, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 123, - "name": "ColumnName" - } - }, - { - "id": 125, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 123, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 126, - "name": "eq", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is equal to `value`.", - "text": "To check if the value of `column` is NULL, you should use `.is()` instead.\n" - }, - "parameters": [ - { - "id": 127, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 128, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 392, - "name": "explain", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, - "character": 2 - } - ], - "signatures": [ - { - "id": 393, - "name": "explain", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as the EXPLAIN plan for the query." - }, - "parameters": [ - { - "id": 394, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 395, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 396, - "name": "analyze", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the query will be executed and the\nactual run time will be returned\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 399, - "name": "buffers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on buffer usage\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 401, - "name": "format", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The format of the output, can be `\"text\"` (default)\nor `\"json\"`\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, - "character": 4 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "text" - }, - { - "type": "literal", - "value": "json" - } - ] - } - }, - { - "id": 398, - "name": "settings", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on configuration\nparameters that affect query planning\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 397, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the query identifier will be returned\nand `data` will include the output columns of the query\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 400, - "name": "wal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on WAL record generation\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 396, - 399, - 401, - 398, - 397, - 400 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "default" - }, - { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "name": "default" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "id": 492, - "name": "default.explain" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 491, - "name": "default.explain" - } - }, - { - "id": 335, - "name": "filter", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 480, - "character": 2 - } - ], - "signatures": [ - { - "id": 336, - "name": "filter", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows which satisfy the filter. This is an escape hatch - you\nshould use the specific filter methods wherever possible.", - "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" - }, - "typeParameter": [ - { - "id": 337, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 338, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 337, - "name": "ColumnName" - } - }, - { - "id": 339, - "name": "operator", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The operator to filter with, following PostgREST syntax" - }, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "FilterOperator" - }, - { - "type": "literal", - "value": "not.eq" - }, - { - "type": "literal", - "value": "not.neq" - }, - { - "type": "literal", - "value": "not.gt" - }, - { - "type": "literal", - "value": "not.gte" - }, - { - "type": "literal", - "value": "not.lt" - }, - { - "type": "literal", - "value": "not.lte" - }, - { - "type": "literal", - "value": "not.like" - }, - { - "type": "literal", - "value": "not.ilike" - }, - { - "type": "literal", - "value": "not.is" - }, - { - "type": "literal", - "value": "not.in" - }, - { - "type": "literal", - "value": "not.cs" - }, - { - "type": "literal", - "value": "not.cd" - }, - { - "type": "literal", - "value": "not.sl" - }, - { - "type": "literal", - "value": "not.sr" - }, - { - "type": "literal", - "value": "not.nxl" - }, - { - "type": "literal", - "value": "not.nxr" - }, - { - "type": "literal", - "value": "not.adj" - }, - { - "type": "literal", - "value": "not.ov" - }, - { - "type": "literal", - "value": "not.fts" - }, - { - "type": "literal", - "value": "not.plfts" - }, - { - "type": "literal", - "value": "not.phfts" - }, - { - "type": "literal", - "value": "not.wfts" - } - ] - } - }, - { - "id": 340, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with, following PostgREST syntax\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 341, - "name": "filter", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows which satisfy the filter. This is an escape hatch - you\nshould use the specific filter methods wherever possible.", - "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" - }, - "parameters": [ - { - "id": 342, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 343, - "name": "operator", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The operator to filter with, following PostgREST syntax" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 344, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with, following PostgREST syntax\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 390, - "name": "geojson", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, - "character": 2 - } - ], - "signatures": [ - { - "id": 391, - "name": "geojson", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as an object in [GeoJSON](https://geojson.org) format." - }, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 490, - "name": "default.geojson" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 489, - "name": "default.geojson" - } - }, - { - "id": 137, - "name": "gt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 61, - "character": 2 - } - ], - "signatures": [ - { - "id": 138, - "name": "gt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is greater than `value`." - }, - "typeParameter": [ - { - "id": 139, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 140, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 139, - "name": "ColumnName" - } - }, - { - "id": 141, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 139, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 142, - "name": "gt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is greater than `value`." - }, - "parameters": [ - { - "id": 143, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 144, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 145, - "name": "gte", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 74, - "character": 2 - } - ], - "signatures": [ - { - "id": 146, - "name": "gte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is greater than or equal to `value`." - }, - "typeParameter": [ - { - "id": 147, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 148, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 147, - "name": "ColumnName" - } - }, - { - "id": 149, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 147, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 150, - "name": "gte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is greater than or equal to `value`." - }, - "parameters": [ - { - "id": 151, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 152, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 193, - "name": "ilike", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 152, - "character": 2 - } - ], - "signatures": [ - { - "id": 194, - "name": "ilike", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches `pattern` case-insensitively." - }, - "typeParameter": [ - { - "id": 195, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 196, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 195, - "name": "ColumnName" - } - }, - { - "id": 197, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 198, - "name": "ilike", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches `pattern` case-insensitively." - }, - "parameters": [ - { - "id": 199, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 200, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 201, - "name": "ilikeAllOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 165, - "character": 2 - } - ], - "signatures": [ - { - "id": 202, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 203, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 204, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 203, - "name": "ColumnName" - } - }, - { - "id": 205, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 206, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 207, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 208, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 209, - "name": "ilikeAnyOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 178, - "character": 2 - } - ], - "signatures": [ - { - "id": 210, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 211, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 212, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 211, - "name": "ColumnName" - } - }, - { - "id": 213, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 214, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 215, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 216, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 225, - "name": "in", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 213, - "character": 2 - } - ], - "signatures": [ - { - "id": 226, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "typeParameter": [ - { - "id": 227, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 228, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 227, - "name": "ColumnName" - } - }, - { - "id": 229, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values array to filter with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 227, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 230, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "parameters": [ - { - "id": 231, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 232, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values array to filter with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 217, - "name": "is", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 191, - "character": 2 - } - ], - "signatures": [ - { - "id": 218, - "name": "is", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` IS `value`.", - "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" - }, - "typeParameter": [ - { - "id": 219, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 220, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 219, - "name": "ColumnName" - } - }, - { - "id": 221, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intersection", - "types": [ - { - "type": "intersection", - "types": [ - { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 219, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - }, - { - "type": "literal", - "value": null - } - ] - }, - { - "type": "intersection", - "types": [ - { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 219, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - }, - { - "type": "literal", - "value": false - } - ] - }, - { - "type": "intersection", - "types": [ - { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 219, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - }, - { - "type": "literal", - "value": true - } - ] - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 222, - "name": "is", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` IS `value`.", - "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" - }, - "parameters": [ - { - "id": 223, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 224, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "boolean" - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 169, - "name": "like", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 113, - "character": 2 - } - ], - "signatures": [ - { - "id": 170, - "name": "like", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches `pattern` case-sensitively." - }, - "typeParameter": [ - { - "id": 171, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 172, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 171, - "name": "ColumnName" - } - }, - { - "id": 173, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 174, - "name": "like", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches `pattern` case-sensitively." - }, - "parameters": [ - { - "id": 175, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 176, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 177, - "name": "likeAllOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 126, - "character": 2 - } - ], - "signatures": [ - { - "id": 178, - "name": "likeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-sensitively." - }, - "typeParameter": [ - { - "id": 179, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 180, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 179, - "name": "ColumnName" - } - }, - { - "id": 181, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 182, - "name": "likeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-sensitively." - }, - "parameters": [ - { - "id": 183, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 184, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 185, - "name": "likeAnyOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 139, - "character": 2 - } - ], - "signatures": [ - { - "id": 186, - "name": "likeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-sensitively." - }, - "typeParameter": [ - { - "id": 187, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 188, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 187, - "name": "ColumnName" - } - }, - { - "id": 189, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 190, - "name": "likeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-sensitively." - }, - "parameters": [ - { - "id": 191, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 192, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 366, - "name": "limit", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, - "character": 2 - } - ], - "signatures": [ - { - "id": 367, - "name": "limit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Limit the query result by `count`." - }, - "parameters": [ - { - "id": 368, - "name": "count", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The maximum number of rows to return" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 369, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 370, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 371, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, - "character": 43 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 371 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 466, - "name": "default.limit" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 465, - "name": "default.limit" - } - }, - { - "id": 153, - "name": "lt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 87, - "character": 2 - } - ], - "signatures": [ - { - "id": 154, - "name": "lt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is less than `value`." - }, - "typeParameter": [ - { - "id": 155, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 156, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 155, - "name": "ColumnName" - } - }, - { - "id": 157, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 155, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 158, - "name": "lt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is less than `value`." - }, - "parameters": [ - { - "id": 159, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 160, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 161, - "name": "lte", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 100, - "character": 2 - } - ], - "signatures": [ - { - "id": 162, - "name": "lte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is less than or equal to `value`." - }, - "typeParameter": [ - { - "id": 163, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 164, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 163, - "name": "ColumnName" - } - }, - { - "id": 165, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 163, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 166, - "name": "lte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is less than or equal to `value`." - }, - "parameters": [ - { - "id": 167, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 168, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 313, - "name": "match", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 421, - "character": 2 - } - ], - "signatures": [ - { - "id": 314, - "name": "match", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where each column in `query` keys is equal to its\nassociated value. Shorthand for multiple `.eq()`s." - }, - "typeParameter": [ - { - "id": 315, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 316, - "name": "query", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The object to filter with, with column names as keys mapped\nto their filter values\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 315, - "name": "ColumnName" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 315, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 317, - "name": "match", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where each column in `query` keys is equal to its\nassociated value. Shorthand for multiple `.eq()`s." - }, - "parameters": [ - { - "id": 318, - "name": "query", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The object to filter with, with column names as keys mapped\nto their filter values\n" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 385, - "name": "maybeSingle", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, - "character": 2 - } - ], - "signatures": [ - { - "id": 386, - "name": "maybeSingle", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a single object instead of an array of objects.", - "text": "Query result must be zero or one row (e.g. using `.limit(1)`), otherwise\nthis returns an error.\n" - }, - "typeParameter": [ - { - "id": 387, - "name": "ResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "conditional", - "checkType": { - "type": "reference", - "id": 119, - "name": "Result" - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "reference", - "name": "ResultOne" - } - }, - "trueType": { - "type": "reference", - "name": "ResultOne" - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - } - } - ], - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 387, - "name": "ResultOne" - } - ] - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 485, - "name": "default.maybeSingle" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 484, - "name": "default.maybeSingle" - } - }, - { - "id": 129, - "name": "neq", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 48, - "character": 2 - } - ], - "signatures": [ - { - "id": 130, - "name": "neq", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is not equal to `value`." - }, - "typeParameter": [ - { - "id": 131, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 132, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 131, - "name": "ColumnName" - } - }, - { - "id": 133, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 131, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 134, - "name": "neq", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is not equal to `value`." - }, - "parameters": [ - { - "id": 135, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 136, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 319, - "name": "not", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 437, - "character": 2 - } - ], - "signatures": [ - { - "id": 320, - "name": "not", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows which doesn't satisfy the filter.", - "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" - }, - "typeParameter": [ - { - "id": 321, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 322, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 321, - "name": "ColumnName" - } - }, - { - "id": 323, - "name": "operator", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The operator to be negated to filter with, following\nPostgREST syntax" - }, - "type": { - "type": "reference", - "name": "FilterOperator" - } - }, - { - "id": 324, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with, following PostgREST syntax\n" - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 321, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 325, - "name": "not", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows which doesn't satisfy the filter.", - "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" - }, - "parameters": [ - { - "id": 326, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 327, - "name": "operator", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The operator to be negated to filter with, following\nPostgREST syntax" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 328, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The value to filter with, following PostgREST syntax\n" - }, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 329, - "name": "or", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, - "character": 2 - } - ], - "signatures": [ - { - "id": 330, - "name": "or", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows which satisfy at least one of the filters.", - "text": "Unlike most filters, `filters` is used as-is and needs to follow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure it's properly sanitized.\n\nIt's currently not possible to do an `.or()` filter across multiple tables.\n" - }, - "parameters": [ - { - "id": 331, - "name": "filters", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The filters to use, following PostgREST syntax" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 332, - "name": "foreignTable", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Set this to filter on foreign tables instead of the\ncurrent table\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 333, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 334, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, - "character": 42 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 334 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 350, - "name": "order", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, - "character": 2 - } - ], - "signatures": [ - { - "id": 351, - "name": "order", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Order the query result by `column`.", - "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" - }, - "typeParameter": [ - { - "id": 352, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 353, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to order by" - }, - "type": { - "type": "reference", - "id": 352, - "name": "ColumnName" - } - }, - { - "id": 354, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 355, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 356, - "name": "ascending", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the result will be in ascending order" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 358, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to order a foreign table by foreign\ncolumns\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 59 - } - ], - "type": { - "type": "intrinsic", - "name": "undefined" - } - }, - { - "id": 357, - "name": "nullsFirst", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 37 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 356, - 358, - 357 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 450, - "name": "default.order" - } - }, - { - "id": 359, - "name": "order", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Order the query result by `column`.", - "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" - }, - "parameters": [ - { - "id": 360, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to order by" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 361, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 362, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 363, - "name": "ascending", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the result will be in ascending order" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 365, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Set this to order a foreign table by foreign\ncolumns\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 59 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 364, - "name": "nullsFirst", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 37 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 363, - 365, - 364 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 458, - "name": "default.order" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 449, - "name": "default.order" - } - }, - { - "id": 289, - "name": "overlaps", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 360, - "character": 2 - } - ], - "signatures": [ - { - "id": 290, - "name": "overlaps", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for array and range columns. Match only rows where\n`column` and `value` have an element in common." - }, - "typeParameter": [ - { - "id": 291, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 292, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The array or range column to filter on" - }, - "type": { - "type": "reference", - "id": 291, - "name": "ColumnName" - } - }, - { - "id": 293, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The array or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 291, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 294, - "name": "overlaps", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for array and range columns. Match only rows where\n`column` and `value` have an element in common." - }, - "parameters": [ - { - "id": 295, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The array or range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 296, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The array or range value to filter with\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 372, - "name": "range", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, - "character": 2 - } - ], - "signatures": [ - { - "id": 373, - "name": "range", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." - }, - "parameters": [ - { - "id": 374, - "name": "from", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The starting index from which to limit the result" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 375, - "name": "to", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The last index to which to limit the result" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 376, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 377, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 378, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, - "character": 54 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 378 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 472, - "name": "default.range" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 471, - "name": "default.range" - } - }, - { - "id": 281, - "name": "rangeAdjacent", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 345, - "character": 2 - } - ], - "signatures": [ - { - "id": 282, - "name": "rangeAdjacent", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." - }, - "typeParameter": [ - { - "id": 283, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 284, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 283, - "name": "ColumnName" - } - }, - { - "id": 285, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 286, - "name": "rangeAdjacent", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." - }, - "parameters": [ - { - "id": 287, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 288, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 249, - "name": "rangeGt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 287, - "character": 2 - } - ], - "signatures": [ - { - "id": 250, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "typeParameter": [ - { - "id": 251, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 252, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 251, - "name": "ColumnName" - } - }, - { - "id": 253, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 254, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "parameters": [ - { - "id": 255, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 256, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 257, - "name": "rangeGte", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 301, - "character": 2 - } - ], - "signatures": [ - { - "id": 258, - "name": "rangeGte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or greater than any element in\n`range`." - }, - "typeParameter": [ - { - "id": 259, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 260, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 259, - "name": "ColumnName" - } - }, - { - "id": 261, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 262, - "name": "rangeGte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or greater than any element in\n`range`." - }, - "parameters": [ - { - "id": 263, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 264, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 265, - "name": "rangeLt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 316, - "character": 2 - } - ], - "signatures": [ - { - "id": 266, - "name": "rangeLt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is less than any element in `range`." - }, - "typeParameter": [ - { - "id": 267, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 268, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 267, - "name": "ColumnName" - } - }, - { - "id": 269, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 270, - "name": "rangeLt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is less than any element in `range`." - }, - "parameters": [ - { - "id": 271, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 272, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 273, - "name": "rangeLte", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 330, - "character": 2 - } - ], - "signatures": [ - { - "id": 274, - "name": "rangeLte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or less than any element in\n`range`." - }, - "typeParameter": [ - { - "id": 275, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 276, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 275, - "name": "ColumnName" - } - }, - { - "id": 277, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 278, - "name": "rangeLte", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or less than any element in\n`range`." - }, - "parameters": [ - { - "id": 279, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 280, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 404, - "name": "returns", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, - "character": 2 - } - ], - "signatures": [ - { - "id": 405, - "name": "returns", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Override the type of the returned `data`." - }, - "typeParameter": [ - { - "id": 406, - "name": "NewResult", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "comment": { - "shortText": "The new result type to override with\n" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 406, - "name": "NewResult" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 504, - "name": "default.returns" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 503, - "name": "default.returns" - } - }, - { - "id": 402, - "name": "rollback", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, - "character": 2 - } - ], - "signatures": [ - { - "id": 403, - "name": "rollback", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Rollback the query.", - "text": "`data` will still be returned, but the query is not committed.\n" - }, - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 502, - "name": "default.rollback" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 501, - "name": "default.rollback" - } - }, - { - "id": 345, - "name": "select", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, - "character": 2 - } - ], - "signatures": [ - { - "id": 346, - "name": "select", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a SELECT on the query result.", - "text": "By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not\nreturn modified rows. By calling this method, modified rows are returned in\n`data`.\n" - }, - "typeParameter": [ - { - "id": 347, - "name": "Query", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "literal", - "value": "*" - } - }, - { - "id": 348, - "name": "NewResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 347, - "name": "Query" - } - ], - "name": "GetResult" - } - } - ], - "parameters": [ - { - "id": 349, - "name": "columns", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The columns to retrieve, separated by commas\n" - }, - "type": { - "type": "reference", - "id": 347, - "name": "Query" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 348, - "name": "NewResultOne" - } - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 445, - "name": "default.select" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 444, - "name": "default.select" - } - }, - { - "id": 382, - "name": "single", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, - "character": 2 - } - ], - "signatures": [ - { - "id": 383, - "name": "single", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a single object instead of an array of objects.", - "text": "Query result must be one row (e.g. using `.limit(1)`), otherwise this\nreturns an error.\n" - }, - "typeParameter": [ - { - "id": 384, - "name": "ResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "conditional", - "checkType": { - "type": "reference", - "id": 119, - "name": "Result" - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "reference", - "name": "ResultOne" - } - }, - "trueType": { - "type": "reference", - "name": "ResultOne" - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - } - } - ], - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 384, - "name": "ResultOne" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 482, - "name": "default.single" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 481, - "name": "default.single" - } - }, - { - "id": 297, - "name": "textSearch", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 383, - "character": 2 - } - ], - "signatures": [ - { - "id": 298, - "name": "textSearch", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for text and tsvector columns. Match only rows where\n`column` matches the query string in `query`." - }, - "typeParameter": [ - { - "id": 299, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 300, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The text or tsvector column to filter on" - }, - "type": { - "type": "reference", - "id": 299, - "name": "ColumnName" - } - }, - { - "id": 301, - "name": "query", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The query text to match with" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 302, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 303, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 304, - "name": "config", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The text search configuration to use" - }, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 305, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Change how the `query` text is interpreted\n" - }, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, - "character": 33 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "plain" - }, - { - "type": "literal", - "value": "phrase" - }, - { - "type": "literal", - "value": "websearch" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 304, - 305 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 306, - "name": "textSearch", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for text and tsvector columns. Match only rows where\n`column` matches the query string in `query`." - }, - "parameters": [ - { - "id": 307, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The text or tsvector column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 308, - "name": "query", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The query text to match with" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 309, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 310, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 311, - "name": "config", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The text search configuration to use" - }, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 312, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Change how the `query` text is interpreted\n" - }, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, - "character": 33 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "plain" - }, - { - "type": "literal", - "value": "phrase" - }, - { - "type": "literal", - "value": "websearch" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 311, - 312 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 422, - "name": "then", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 48, - "character": 2 - } - ], - "signatures": [ - { - "id": 423, - "name": "then", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 424, - "name": "TResult1", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - }, - { - "id": 425, - "name": "TResult2", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "never" - } - } - ], - "parameters": [ - { - "id": 426, - "name": "onfulfilled", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 427, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 428, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 429, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - }, - { - "id": 430, - "name": "onrejected", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 431, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 432, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 433, - "name": "reason", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ] - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - }, - "inheritedFrom": { - "type": "reference", - "id": 522, - "name": "default.then" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 521, - "name": "default.then" - } - }, - { - "id": 420, - "name": "throwOnError", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 43, - "character": 2 - } - ], - "signatures": [ - { - "id": 421, - "name": "throwOnError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", - "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" - }, - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 520, - "name": "default.throwOnError" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 519, - "name": "default.throwOnError" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 115 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 411, - 414, - 409, - 419, - 407, - 410, - 412, - 413, - 408 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 379, - 241, - 233, - 388, - 121, - 392, - 335, - 390, - 137, - 145, - 193, - 201, - 209, - 225, - 217, - 169, - 177, - 185, - 366, - 153, - 161, - 313, - 385, - 129, - 319, - 329, - 350, - 289, - 372, - 281, - 249, - 257, - 265, - 273, - 404, - 402, - 345, - 382, - 297, - 422, - 420 - ] - } - ], - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 28, - "character": 21 - } - ], - "typeParameter": [ - { - "id": 434, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 435, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 436, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - ] - }, - { - "id": 49, - "name": "PostgrestQueryBuilder", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 50, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 16, - "character": 2 - } - ], - "signatures": [ - { - "id": 51, - "name": "new PostgrestQueryBuilder", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "typeParameter": [ - { - "id": 52, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 53, - "name": "Relation", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "GenericTable" - }, - { - "type": "reference", - "name": "GenericView" - } - ] - } - } - ], - "parameters": [ - { - "id": 54, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - }, - { - "id": 55, - "name": "__namedParameters", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 56, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 59, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 25, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 60, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 61, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 62, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 63, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 57, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 23, - "character": 6 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 58, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 24, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 59, - 57, - 58 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 49, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "reference", - "id": 53, - "name": "Relation" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 68, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 14, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 69, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 70, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 71, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 72, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 65, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 11, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 66, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 12, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 67, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 13, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - } - }, - { - "id": 64, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 10, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - }, - { - "id": 107, - "name": "delete", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 319, - "character": 2 - } - ], - "signatures": [ - { - "id": 108, - "name": "delete", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a DELETE on the table or view.", - "text": "By default, deleted rows are not returned. To return it, chain the call\nwith `.select()` after filters.\n" - }, - "parameters": [ - { - "id": 109, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 110, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 111, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count deleted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 322, - "character": 4 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 111 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "literal", - "value": null - } - ], - "name": "default" - } - } - ] - }, - { - "id": 82, - "name": "insert", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 120, - "character": 2 - } - ], - "signatures": [ - { - "id": 83, - "name": "insert", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform an INSERT into the table or view.", - "text": "By default, inserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" - }, - "typeParameter": [ - { - "id": 84, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "parameters": [ - { - "id": 85, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 84, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 84, - "name": "Row" - } - } - ] - } - }, - { - "id": 86, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 87, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 88, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count inserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 126, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - }, - { - "id": 89, - "name": "defaultToNull", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 127, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 89 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "literal", - "value": null - } - ], - "name": "default" - } - } - ] - }, - { - "id": 73, - "name": "select", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 55, - "character": 2 - } - ], - "signatures": [ - { - "id": 74, - "name": "select", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a SELECT query on the table or view." - }, - "typeParameter": [ - { - "id": 75, - "name": "Query", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "literal", - "value": "*" - } - }, - { - "id": 76, - "name": "ResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "reference", - "id": 75, - "name": "Query" - } - ], - "name": "GetResult" - } - } - ], - "parameters": [ - { - "id": 77, - "name": "columns", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The columns to retrieve, separated by commas. Columns can be renamed when returned with `customName:columnName`\n" - }, - "type": { - "type": "reference", - "id": 75, - "name": "Query" - } - }, - { - "id": 78, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 79, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 81, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count rows in the table or view.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 62, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - }, - { - "id": 80, - "name": "head", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 61, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 81, - 80 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 76, - "name": "ResultOne" - } - } - ], - "name": "default" - } - } - ] - }, - { - "id": 100, - "name": "update", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 271, - "character": 2 - } - ], - "signatures": [ - { - "id": 101, - "name": "update", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform an UPDATE on the table or view.", - "text": "By default, updated rows are not returned. To return it, chain the call\nwith `.select()` after filters.\n" - }, - "typeParameter": [ - { - "id": 102, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "parameters": [ - { - "id": 103, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values to update with\n" - }, - "type": { - "type": "reference", - "id": 102, - "name": "Row" - } - }, - { - "id": 104, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 105, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 106, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count updated rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 276, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 106 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "literal", - "value": null - } - ], - "name": "default" - } - } - ] - }, - { - "id": 90, - "name": "upsert", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 201, - "character": 2 - } - ], - "signatures": [ - { - "id": 91, - "name": "upsert", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform an UPSERT on the table or view. Depending on the column(s) passed\nto `onConflict`, `.upsert()` allows you to perform the equivalent of\n`.insert()` if a row with the corresponding `onConflict` columns doesn't\nexist, or if it does exist, perform an alternative action depending on\n`ignoreDuplicates`.", - "text": "By default, upserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" - }, - "typeParameter": [ - { - "id": 92, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "parameters": [ - { - "id": 93, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 92, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 92, - "name": "Row" - } - } - ] - } - }, - { - "id": 94, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 95, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 98, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count upserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 211, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - }, - { - "id": 99, - "name": "defaultToNull", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 212, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 97, - "name": "ignoreDuplicates", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, duplicate rows are ignored. If\n`false`, duplicate rows are merged with existing rows.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 210, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 96, - "name": "onConflict", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Comma-separated UNIQUE column(s) to specify how\nduplicate rows are determined. Two rows are duplicates if all the\n`onConflict` columns are equal.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 209, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 98, - 99, - 97, - 96 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 52, - "name": "Schema" - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Row" - }, - "objectType": { - "type": "reference", - "id": 53, - "name": "Relation" - } - }, - { - "type": "literal", - "value": null - } - ], - "name": "default" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 50 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 68, - 65, - 66, - 67, - 64 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 107, - 82, - 73, - 100, - 90 - ] - } - ], - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 6, - "character": 21 - } - ], - "typeParameter": [ - { - "id": 112, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 113, - "name": "Relation", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "GenericTable" - }, - { - "type": "reference", - "name": "GenericView" - } - ] - } - } - ] - }, - { - "id": 437, - "name": "PostgrestTransformBuilder", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 438, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 439, - "name": "new PostgrestTransformBuilder", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "typeParameter": [ - { - "id": 440, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 441, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 442, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "parameters": [ - { - "id": 443, - "name": "builder", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 538, - "name": "default.constructor" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 537, - "name": "default.constructor" - } - }, - { - "id": 510, - "name": "body", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 12, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - }, - "inheritedFrom": { - "type": "reference", - "id": 545, - "name": "default.body" - } - }, - { - "id": 513, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 15, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 514, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 515, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 516, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 517, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "id": 548, - "name": "default.fetch" - } - }, - { - "id": 508, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 10, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - "inheritedFrom": { - "type": "reference", - "id": 543, - "name": "default.headers" - } - }, - { - "id": 518, - "name": "isMaybeSingle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 16, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "id": 553, - "name": "default.isMaybeSingle" - } - }, - { - "id": 506, - "name": "method", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "GET" - }, - { - "type": "literal", - "value": "HEAD" - }, - { - "type": "literal", - "value": "POST" - }, - { - "type": "literal", - "value": "PATCH" - }, - { - "type": "literal", - "value": "DELETE" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "id": 541, - "name": "default.method" - } - }, - { - "id": 509, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 11, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "id": 544, - "name": "default.schema" - } - }, - { - "id": 511, - "name": "shouldThrowOnError", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 13, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false", - "inheritedFrom": { - "type": "reference", - "id": 546, - "name": "default.shouldThrowOnError" - } - }, - { - "id": 512, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 14, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - }, - "inheritedFrom": { - "type": "reference", - "id": 547, - "name": "default.signal" - } - }, - { - "id": 507, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 9, - "character": 12 - } - ], - "type": { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - }, - "inheritedFrom": { - "type": "reference", - "id": 542, - "name": "default.url" - } - }, - { - "id": 478, - "name": "abortSignal", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, - "character": 2 - } - ], - "signatures": [ - { - "id": 479, - "name": "abortSignal", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Set the AbortSignal for the fetch request." - }, - "parameters": [ - { - "id": 480, - "name": "signal", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The AbortSignal to use for the fetch request\n" - }, - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 487, - "name": "csv", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, - "character": 2 - } - ], - "signatures": [ - { - "id": 488, - "name": "csv", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a string in CSV format." - }, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 491, - "name": "explain", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, - "character": 2 - } - ], - "signatures": [ - { - "id": 492, - "name": "explain", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as the EXPLAIN plan for the query." - }, - "parameters": [ - { - "id": 493, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters\n" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 494, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 495, - "name": "analyze", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the query will be executed and the\nactual run time will be returned\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 498, - "name": "buffers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on buffer usage\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 500, - "name": "format", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The format of the output, can be `\"text\"` (default)\nor `\"json\"`\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, - "character": 4 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "text" - }, - { - "type": "literal", - "value": "json" - } - ] - } - }, - { - "id": 497, - "name": "settings", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on configuration\nparameters that affect query planning\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 496, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the query identifier will be returned\nand `data` will include the output columns of the query\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 499, - "name": "wal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, include information on WAL record generation\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 495, - 498, - 500, - 497, - 496, - 499 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ], - "name": "default" - }, - { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "name": "default" - } - ] - } - } - ] - }, - { - "id": 489, - "name": "geojson", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, - "character": 2 - } - ], - "signatures": [ - { - "id": 490, - "name": "geojson", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as an object in [GeoJSON](https://geojson.org) format." - }, - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 465, - "name": "limit", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, - "character": 2 - } - ], - "signatures": [ - { - "id": 466, - "name": "limit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Limit the query result by `count`." - }, - "parameters": [ - { - "id": 467, - "name": "count", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The maximum number of rows to return" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 468, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 469, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 470, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, - "character": 43 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 470 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 484, - "name": "maybeSingle", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, - "character": 2 - } - ], - "signatures": [ - { - "id": 485, - "name": "maybeSingle", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a single object instead of an array of objects.", - "text": "Query result must be zero or one row (e.g. using `.limit(1)`), otherwise\nthis returns an error.\n" - }, - "typeParameter": [ - { - "id": 486, - "name": "ResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "conditional", - "checkType": { - "type": "reference", - "id": 442, - "name": "Result" - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "reference", - "name": "ResultOne" - } - }, - "trueType": { - "type": "reference", - "name": "ResultOne" - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - } - } - ], - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "id": 387, - "name": "ResultOne" - } - ] - } - ], - "name": "default" - } - } - ] - }, - { - "id": 449, - "name": "order", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, - "character": 2 - } - ], - "signatures": [ - { - "id": 450, - "name": "order", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Order the query result by `column`.", - "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" - }, - "typeParameter": [ - { - "id": 451, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 452, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to order by" - }, - "type": { - "type": "reference", - "id": 352, - "name": "ColumnName" - } - }, - { - "id": 453, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 454, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 455, - "name": "ascending", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the result will be in ascending order" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 457, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to order a foreign table by foreign\ncolumns\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 59 - } - ], - "type": { - "type": "intrinsic", - "name": "undefined" - } - }, - { - "id": 456, - "name": "nullsFirst", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, - "character": 37 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 455, - 457, - 456 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 458, - "name": "order", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Order the query result by `column`.", - "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" - }, - "parameters": [ - { - "id": 459, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to order by" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 460, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Named parameters" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 461, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 462, - "name": "ascending", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, the result will be in ascending order" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 464, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Set this to order a foreign table by foreign\ncolumns\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 59 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 463, - "name": "nullsFirst", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, - "character": 37 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 462, - 464, - 463 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 471, - "name": "range", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, - "character": 2 - } - ], - "signatures": [ - { - "id": 472, - "name": "range", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." - }, - "parameters": [ - { - "id": 473, - "name": "from", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The starting index from which to limit the result" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 474, - "name": "to", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The last index to which to limit the result" - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 475, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Named parameters" - }, - "originalName": "__namedParameters", - "type": { - "type": "reflection", - "declaration": { - "id": 476, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 477, - "name": "foreignTable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" - }, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, - "character": 54 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 477 - ] - } - ] - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 503, - "name": "returns", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, - "character": 2 - } - ], - "signatures": [ - { - "id": 504, - "name": "returns", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Override the type of the returned `data`." - }, - "typeParameter": [ - { - "id": 505, - "name": "NewResult", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "comment": { - "shortText": "The new result type to override with\n" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 406, - "name": "NewResult" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 501, - "name": "rollback", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, - "character": 2 - } - ], - "signatures": [ - { - "id": 502, - "name": "rollback", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Rollback the query.", - "text": "`data` will still be returned, but the query is not committed.\n" - }, - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 444, - "name": "select", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, - "character": 2 - } - ], - "signatures": [ - { - "id": 445, - "name": "select", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a SELECT on the query result.", - "text": "By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not\nreturn modified rows. By calling this method, modified rows are returned in\n`data`.\n" - }, - "typeParameter": [ - { - "id": 446, - "name": "Query", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "literal", - "value": "*" - } - }, - { - "id": 447, - "name": "NewResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 347, - "name": "Query" - } - ], - "name": "GetResult" - } - } - ], - "parameters": [ - { - "id": 448, - "name": "columns", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The columns to retrieve, separated by commas\n" - }, - "type": { - "type": "reference", - "id": 347, - "name": "Query" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 348, - "name": "NewResultOne" - } - } - ], - "name": "default" - } - } - ] - }, - { - "id": 481, - "name": "single", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, - "character": 2 - } - ], - "signatures": [ - { - "id": 482, - "name": "single", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Return `data` as a single object instead of an array of objects.", - "text": "Query result must be one row (e.g. using `.limit(1)`), otherwise this\nreturns an error.\n" - }, - "typeParameter": [ - { - "id": 483, - "name": "ResultOne", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "conditional", - "checkType": { - "type": "reference", - "id": 442, - "name": "Result" - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "reference", - "name": "ResultOne" - } - }, - "trueType": { - "type": "reference", - "name": "ResultOne" - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - } - } - ], - "type": { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 384, - "name": "ResultOne" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 521, - "name": "then", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 48, - "character": 2 - } - ], - "signatures": [ - { - "id": 522, - "name": "then", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 523, - "name": "TResult1", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - }, - { - "id": 524, - "name": "TResult2", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "never" - } - } - ], - "parameters": [ - { - "id": 525, - "name": "onfulfilled", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 526, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 527, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 528, - "name": "value", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "PostgrestSingleResponse" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - }, - { - "id": 529, - "name": "onrejected", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reflection", - "declaration": { - "id": 530, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 531, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 532, - "name": "reason", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - } - ] - } - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reference", - "id": 424, - "name": "TResult1" - }, - { - "type": "reference", - "id": 425, - "name": "TResult2" - } - ] - } - ], - "qualifiedName": "PromiseLike", - "package": "typescript", - "name": "PromiseLike" - }, - "inheritedFrom": { - "type": "reference", - "id": 557, - "name": "default.then" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 556, - "name": "default.then" - } - }, - { - "id": 519, - "name": "throwOnError", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestBuilder.ts", - "line": 43, - "character": 2 - } - ], - "signatures": [ - { - "id": 520, - "name": "throwOnError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", - "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" - }, - "type": { - "type": "reference", - "id": 437, - "typeArguments": [ - { - "type": "reference", - "id": 440, - "name": "Schema" - }, - { - "type": "reference", - "id": 441, - "name": "Row" - }, - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - }, - "inheritedFrom": { - "type": "reference", - "id": 555, - "name": "default.throwOnError" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 554, - "name": "default.throwOnError" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 438 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 510, - 513, - 508, - 518, - 506, - 509, - 511, - 512, - 507 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 478, - 487, - 491, - 489, - 465, - 484, - 449, - 471, - 503, - 501, - 444, - 481, - 521, - 519 - ] - } - ], - "sources": [ - { - "fileName": "src/PostgrestTransformBuilder.ts", - "line": 5, - "character": 21 - } - ], - "typeParameter": [ - { - "id": 533, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "GenericSchema" - } - }, - { - "id": 534, - "name": "Row", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 535, - "name": "Result", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 536, - "typeArguments": [ - { - "type": "reference", - "id": 442, - "name": "Result" - } - ], - "name": "default" - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 114, - "name": "PostgrestFilterBuilder" - } - ] - }, - { - "id": 571, - "name": "PostgrestResponseFailure", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 574, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 573, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 31, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 572, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 588, - "name": "PostgrestError" - } - }, - { - "id": 575, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 21, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "name": "PostgrestResponseBase.status" - } - }, - { - "id": 576, - "name": "statusText", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 22, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "PostgrestResponseBase.statusText" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 574, - 573, - 572, - 575, - 576 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 29, - "character": 17 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "PostgrestResponseBase" - } - ] - }, - { - "id": 577, - "name": "PostgrestResponseSuccess", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 580, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 27, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - }, - { - "id": 579, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 26, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 583, - "name": "T" - } - }, - { - "id": 578, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 25, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 581, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 21, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "inheritedFrom": { - "type": "reference", - "name": "PostgrestResponseBase.status" - } - }, - { - "id": 582, - "name": "statusText", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 22, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "PostgrestResponseBase.statusText" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 580, - 579, - 578, - 581, - 582 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 24, - "character": 17 - } - ], - "typeParameter": [ - { - "id": 583, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "PostgrestResponseBase" - } - ] - }, - { - "id": 588, - "name": "PostgrestError", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "comment": { - "shortText": "Error format", - "text": "{@link https://postgrest.org/en/stable/api.html?highlight=options#errors-and-http-status-codes}\n" - }, - "sources": [ - { - "fileName": "src/types.ts", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 589, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 593, - "name": "code", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 12, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 591, - "name": "details", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 10, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 592, - "name": "hint", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 11, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 590, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 9, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] - } - ], - "sources": [ - { - "fileName": "src/types.ts", - "line": 8, - "character": 29 - } - ] - } - } - }, - { - "id": 586, - "name": "PostgrestMaybeSingleResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 39, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 587, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "type": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reference", - "id": 587, - "name": "T" - }, - { - "type": "literal", - "value": null - } - ] - } - ], - "name": "PostgrestSingleResponse" - } - }, - { - "id": 569, - "name": "PostgrestResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 40, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 570, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "type": { - "type": "reference", - "id": 584, - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "id": 570, - "name": "T" - } - } - ], - "name": "PostgrestSingleResponse" - } - }, - { - "id": 584, - "name": "PostgrestSingleResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/types.ts", - "line": 38, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 585, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 577, - "typeArguments": [ - { - "type": "reference", - "id": 585, - "name": "T" - } - ], - "name": "PostgrestResponseSuccess" - }, - { - "type": "reference", - "id": 571, - "name": "PostgrestResponseFailure" - } - ] - } - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 536, - 1, - 114, - 49, - 437 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 571, - 577 - ] - }, - { - "title": "Type Aliases", - "kind": 4194304, - "children": [ - 588, - 586, - 569, - 584 - ] - } - ], - "sources": [ - { - "fileName": "src/index.ts", - "line": 1, - "character": 0 - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/postgrest-js", + "kind": 1, + "kindString": "Project", + "flags": {}, + "originalName": "", + "children": [ + { + "id": 568, + "name": "PostgrestBuilder", + "kind": 128, + "kindString": "Class", + "flags": { + "isAbstract": true + }, + "children": [ + { + "id": 569, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 18, + "character": 2 + } + ], + "signatures": [ + { + "id": 570, + "name": "new PostgrestBuilder", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "typeParameter": [ + { + "id": 571, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "parameters": [ + { + "id": 572, + "name": "builder", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "default" + } + } + ], + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 577, + "name": "body", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 12, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 580, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 15, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 581, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 582, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 583, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 584, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 575, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 10, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 585, + "name": "isMaybeSingle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 16, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 573, + "name": "method", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 8, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "GET" + }, + { + "type": "literal", + "value": "HEAD" + }, + { + "type": "literal", + "value": "POST" + }, + { + "type": "literal", + "value": "PATCH" + }, + { + "type": "literal", + "value": "DELETE" + } + ] + } + }, + { + "id": 576, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 11, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 578, + "name": "shouldThrowOnError", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 13, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 579, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 14, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + } + }, + { + "id": 574, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 9, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + }, + { + "id": 588, + "name": "then", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 48, + "character": 2 + } + ], + "signatures": [ + { + "id": 589, + "name": "then", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 590, + "name": "TResult1", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + }, + { + "id": 591, + "name": "TResult2", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "never" + } + } + ], + "parameters": [ + { + "id": 592, + "name": "onfulfilled", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 593, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 594, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 595, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + }, + { + "id": 596, + "name": "onrejected", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 597, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 598, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 599, + "name": "reason", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ] + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + }, + "implementationOf": { + "type": "reference", + "name": "PromiseLike.then" + } + } + ], + "implementationOf": { + "type": "reference", + "name": "PromiseLike.then" + } + }, + { + "id": 586, + "name": "throwOnError", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 43, + "character": 2 + } + ], + "signatures": [ + { + "id": 587, + "name": "throwOnError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", + "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" + }, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [569] + }, + { + "title": "Properties", + "kind": 1024, + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] + }, + { + "title": "Methods", + "kind": 2048, + "children": [588, 586] + } + ], + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 5, + "character": 30 + } + ], + "typeParameter": [ + { + "id": 600, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 467, + "name": "PostgrestTransformBuilder" + } + ], + "implementedTypes": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 571, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + }, + { + "id": 1, + "name": "PostgrestClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "PostgREST client." + }, + "children": [ + { + "id": 2, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 41, + "character": 2 + } + ], + "signatures": [ + { + "id": 3, + "name": "new PostgrestClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "shortText": "Creates a PostgREST client." + }, + "typeParameter": [ + { + "id": 4, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 5, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + } + ] + } + } + }, + { + "id": 6, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "parameters": [ + { + "id": 7, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "URL of the PostgREST endpoint" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 9, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 12, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 50, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 13, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 14, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Custom fetch\n" + }, + "parameters": [ + { + "id": 15, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 16, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 10, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Custom headers" + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 48, + "character": 6 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 11, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Postgres schema to switch to" + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 49, + "character": 6 + } + ], + "type": { + "type": "reference", + "id": 5, + "name": "SchemaName" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [12, 10, 11] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 1, + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "Database" + }, + { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + { + "type": "reference", + "id": 6, + "name": "Schema" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 20, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 29, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 21, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 22, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 23, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 24, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 18, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 19, + "name": "schemaName", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 28, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 5, + "name": "SchemaName" + } + }, + { + "id": 17, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 26, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 25, + "name": "from", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 59, + "character": 2 + } + ], + "signatures": [ + { + "id": 26, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "typeParameter": [ + { + "id": 27, + "name": "TableName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 28, + "name": "Table", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericTable" + } + } + ], + "parameters": [ + { + "id": 29, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "reference", + "id": 27, + "name": "TableName" + } + } + ], + "type": { + "type": "reference", + "id": 57, + "typeArguments": [ + { + "type": "reference", + "id": 6, + "name": "Schema" + }, + { + "type": "reference", + "id": 28, + "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 28, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 30, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 31, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [31] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "name": "default" + } + }, + { + "id": 32, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "typeParameter": [ + { + "id": 33, + "name": "ViewName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 34, + "name": "View", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericView" + } + } + ], + "parameters": [ + { + "id": 35, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "reference", + "id": 33, + "name": "ViewName" + } + } + ], + "type": { + "type": "reference", + "id": 57, + "typeArguments": [ + { + "type": "reference", + "id": 6, + "name": "Schema" + }, + { + "type": "reference", + "id": 34, + "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 34, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 36, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 37, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [37] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "name": "default" + } + }, + { + "id": 38, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "parameters": [ + { + "id": 39, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 57, + "typeArguments": [ + { + "type": "reference", + "id": 6, + "name": "Schema" + }, + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 44, + "name": "rpc", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 127, + "character": 2 + } + ], + "signatures": [ + { + "id": 45, + "name": "rpc", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a function call." + }, + "typeParameter": [ + { + "id": 46, + "name": "FunctionName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 47, + "name": "Function_", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericFunction" + } + } + ], + "parameters": [ + { + "id": 48, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The function name to call" + }, + "type": { + "type": "reference", + "id": 46, + "name": "FunctionName" + } + }, + { + "id": 49, + "name": "args", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The arguments to pass to the function call" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Args" + }, + "objectType": { + "type": "reference", + "id": 47, + "name": "Function_" + } + }, + "defaultValue": "{}" + }, + { + "id": 50, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 51, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 53, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count rows returned by the\nfunction. Only applicable for [set-returning\nfunctions](https://www.postgresql.org/docs/current/functions-srf.html).\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 138, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 52, + "name": "head", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count." + }, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 137, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [53, 52] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 6, + "name": "Schema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Returns" + }, + "objectType": { + "type": "reference", + "id": 47, + "name": "Function_" + } + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + }, + "trueType": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + } + }, + "extendsType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Returns" + }, + "objectType": { + "type": "reference", + "id": 47, + "name": "Function_" + } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 40, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 88, + "character": 2 + } + ], + "signatures": [ + { + "id": 41, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Select a schema to query or perform an function (rpc) call.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 42, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 43, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The schema to query\n" + }, + "type": { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + } + } + ], + "type": { + "type": "reference", + "id": 1, + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "Database" + }, + { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [2] + }, + { + "title": "Properties", + "kind": 1024, + "children": [20, 18, 19, 17] + }, + { + "title": "Methods", + "kind": 2048, + "children": [25, 44, 40] + } + ], + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 17, + "character": 21 + } + ], + "typeParameter": [ + { + "id": 54, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "comment": { + "shortText": "Types for the schema from the [type\ngenerator](https://supabase.com/docs/reference/javascript/next/typescript-support)\n" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 55, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "comment": { + "shortText": "Postgres schema to switch to. Must be a string\nliteral, the same one passed to the constructor. If the schema is not\n`\"public\"`, this must be supplied manually.\n" + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + } + ] + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + } + ] + } + } + }, + { + "id": 56, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + } + ] + }, + { + "id": 142, + "name": "PostgrestFilterBuilder", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 143, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "signatures": [ + { + "id": 144, + "name": "new PostgrestFilterBuilder", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "typeParameter": [ + { + "id": 145, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 146, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 147, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + }, + { + "id": 148, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "parameters": [ + { + "id": 149, + "name": "builder", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 147, + "name": "Result" + } + ], + "name": "default" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 469, + "name": "default.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 468, + "name": "default.constructor" + } + }, + { + "id": 440, + "name": "body", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 12, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "id": 541, + "name": "default.body" + } + }, + { + "id": 443, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 15, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 444, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 445, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 446, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 447, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 544, + "name": "default.fetch" + } + }, + { + "id": 438, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 10, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + "inheritedFrom": { + "type": "reference", + "id": 539, + "name": "default.headers" + } + }, + { + "id": 448, + "name": "isMaybeSingle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 16, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 549, + "name": "default.isMaybeSingle" + } + }, + { + "id": 436, + "name": "method", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 8, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "GET" + }, + { + "type": "literal", + "value": "HEAD" + }, + { + "type": "literal", + "value": "POST" + }, + { + "type": "literal", + "value": "PATCH" + }, + { + "type": "literal", + "value": "DELETE" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 537, + "name": "default.method" + } + }, + { + "id": 439, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 11, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 540, + "name": "default.schema" + } + }, + { + "id": 441, + "name": "shouldThrowOnError", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 13, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "id": 542, + "name": "default.shouldThrowOnError" + } + }, + { + "id": 442, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 14, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + }, + "inheritedFrom": { + "type": "reference", + "id": 543, + "name": "default.signal" + } + }, + { + "id": 437, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 9, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + }, + "inheritedFrom": { + "type": "reference", + "id": 538, + "name": "default.url" + } + }, + { + "id": 408, + "name": "abortSignal", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 130, + "character": 2 + } + ], + "signatures": [ + { + "id": 409, + "name": "abortSignal", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Set the AbortSignal for the fetch request." + }, + "parameters": [ + { + "id": 410, + "name": "signal", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The AbortSignal to use for the fetch request\n" + }, + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 510, + "name": "default.abortSignal" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 509, + "name": "default.abortSignal" + } + }, + { + "id": 270, + "name": "containedBy", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 277, + "character": 2 + } + ], + "signatures": [ + { + "id": 271, + "name": "containedBy", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\nevery element appearing in `column` is contained by `value`." + }, + "typeParameter": [ + { + "id": 272, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 273, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range column to filter on" + }, + "type": { + "type": "reference", + "id": 272, + "name": "ColumnName" + } + }, + { + "id": 274, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 272, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 275, + "name": "containedBy", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\nevery element appearing in `column` is contained by `value`." + }, + "parameters": [ + { + "id": 276, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 277, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 262, + "name": "contains", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 250, + "character": 2 + } + ], + "signatures": [ + { + "id": 263, + "name": "contains", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\n`column` contains every element appearing in `value`." + }, + "typeParameter": [ + { + "id": 264, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 265, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range column to filter on" + }, + "type": { + "type": "reference", + "id": 264, + "name": "ColumnName" + } + }, + { + "id": 266, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 264, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 267, + "name": "contains", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for jsonb, array, and range columns. Match only rows where\n`column` contains every element appearing in `value`." + }, + "parameters": [ + { + "id": 268, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 269, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The jsonb, array, or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 417, + "name": "csv", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 171, + "character": 2 + } + ], + "signatures": [ + { + "id": 418, + "name": "csv", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a string in CSV format." + }, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 519, + "name": "default.csv" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 518, + "name": "default.csv" + } + }, + { + "id": 150, + "name": "eq", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 34, + "character": 2 + } + ], + "signatures": [ + { + "id": 151, + "name": "eq", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is equal to `value`.", + "text": "To check if the value of `column` is NULL, you should use `.is()` instead.\n" + }, + "typeParameter": [ + { + "id": 152, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 153, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 152, + "name": "ColumnName" + } + }, + { + "id": 154, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 152, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 155, + "name": "eq", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is equal to `value`.", + "text": "To check if the value of `column` is NULL, you should use `.is()` instead.\n" + }, + "parameters": [ + { + "id": 156, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 157, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 421, + "name": "explain", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 205, + "character": 2 + } + ], + "signatures": [ + { + "id": 422, + "name": "explain", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as the EXPLAIN plan for the query." + }, + "parameters": [ + { + "id": 423, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 424, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 425, + "name": "analyze", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the query will be executed and the\nactual run time will be returned\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 213, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 428, + "name": "buffers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on buffer usage\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 216, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 430, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The format of the output, can be `\"text\"` (default)\nor `\"json\"`\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 218, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "text" + }, + { + "type": "literal", + "value": "json" + } + ] + } + }, + { + "id": 427, + "name": "settings", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on configuration\nparameters that affect query planning\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 215, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 426, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the query identifier will be returned\nand `data` will include the output columns of the query\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 214, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 429, + "name": "wal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on WAL record generation\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 217, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [425, 428, 430, 427, 426, 429] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "default" + }, + { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "name": "default" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 523, + "name": "default.explain" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 522, + "name": "default.explain" + } + }, + { + "id": 364, + "name": "filter", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 496, + "character": 2 + } + ], + "signatures": [ + { + "id": 365, + "name": "filter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows which satisfy the filter. This is an escape hatch - you\nshould use the specific filter methods wherever possible.", + "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" + }, + "typeParameter": [ + { + "id": 366, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 367, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 366, + "name": "ColumnName" + } + }, + { + "id": 368, + "name": "operator", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operator to filter with, following PostgREST syntax" + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "FilterOperator" + }, + { + "type": "literal", + "value": "not.eq" + }, + { + "type": "literal", + "value": "not.neq" + }, + { + "type": "literal", + "value": "not.gt" + }, + { + "type": "literal", + "value": "not.gte" + }, + { + "type": "literal", + "value": "not.lt" + }, + { + "type": "literal", + "value": "not.lte" + }, + { + "type": "literal", + "value": "not.like" + }, + { + "type": "literal", + "value": "not.ilike" + }, + { + "type": "literal", + "value": "not.is" + }, + { + "type": "literal", + "value": "not.in" + }, + { + "type": "literal", + "value": "not.cs" + }, + { + "type": "literal", + "value": "not.cd" + }, + { + "type": "literal", + "value": "not.sl" + }, + { + "type": "literal", + "value": "not.sr" + }, + { + "type": "literal", + "value": "not.nxl" + }, + { + "type": "literal", + "value": "not.nxr" + }, + { + "type": "literal", + "value": "not.adj" + }, + { + "type": "literal", + "value": "not.ov" + }, + { + "type": "literal", + "value": "not.fts" + }, + { + "type": "literal", + "value": "not.plfts" + }, + { + "type": "literal", + "value": "not.phfts" + }, + { + "type": "literal", + "value": "not.wfts" + } + ] + } + }, + { + "id": 369, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with, following PostgREST syntax\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 370, + "name": "filter", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows which satisfy the filter. This is an escape hatch - you\nshould use the specific filter methods wherever possible.", + "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" + }, + "parameters": [ + { + "id": 371, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 372, + "name": "operator", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operator to filter with, following PostgREST syntax" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 373, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with, following PostgREST syntax\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 419, + "name": "geojson", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 179, + "character": 2 + } + ], + "signatures": [ + { + "id": 420, + "name": "geojson", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as an object in [GeoJSON](https://geojson.org) format." + }, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 521, + "name": "default.geojson" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 520, + "name": "default.geojson" + } + }, + { + "id": 166, + "name": "gt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 62, + "character": 2 + } + ], + "signatures": [ + { + "id": 167, + "name": "gt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is greater than `value`." + }, + "typeParameter": [ + { + "id": 168, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 169, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 168, + "name": "ColumnName" + } + }, + { + "id": 170, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 168, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 171, + "name": "gt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is greater than `value`." + }, + "parameters": [ + { + "id": 172, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 173, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 174, + "name": "gte", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 75, + "character": 2 + } + ], + "signatures": [ + { + "id": 175, + "name": "gte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is greater than or equal to `value`." + }, + "typeParameter": [ + { + "id": 176, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 177, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 176, + "name": "ColumnName" + } + }, + { + "id": 178, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 176, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 179, + "name": "gte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is greater than or equal to `value`." + }, + "parameters": [ + { + "id": 180, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 181, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 222, + "name": "ilike", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 159, + "character": 2 + } + ], + "signatures": [ + { + "id": 223, + "name": "ilike", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches `pattern` case-insensitively." + }, + "typeParameter": [ + { + "id": 224, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 225, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 224, + "name": "ColumnName" + } + }, + { + "id": 226, + "name": "pattern", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The pattern to match with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 227, + "name": "ilike", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches `pattern` case-insensitively." + }, + "parameters": [ + { + "id": 228, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 229, + "name": "pattern", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The pattern to match with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 230, + "name": "ilikeAllOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 172, + "character": 2 + } + ], + "signatures": [ + { + "id": 231, + "name": "ilikeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." + }, + "typeParameter": [ + { + "id": 232, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 233, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 232, + "name": "ColumnName" + } + }, + { + "id": 234, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 235, + "name": "ilikeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 236, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 237, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 238, + "name": "ilikeAnyOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 188, + "character": 2 + } + ], + "signatures": [ + { + "id": 239, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "typeParameter": [ + { + "id": 240, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 241, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 240, + "name": "ColumnName" + } + }, + { + "id": 242, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 243, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 244, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 245, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 254, + "name": "in", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 226, + "character": 2 + } + ], + "signatures": [ + { + "id": 255, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "typeParameter": [ + { + "id": 256, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 257, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 256, + "name": "ColumnName" + } + }, + { + "id": 258, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 256, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 259, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "parameters": [ + { + "id": 260, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 261, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 246, + "name": "is", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 204, + "character": 2 + } + ], + "signatures": [ + { + "id": 247, + "name": "is", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` IS `value`.", + "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + }, + "typeParameter": [ + { + "id": 248, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 249, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 248, + "name": "ColumnName" + } + }, + { + "id": 250, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "intersection", + "types": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 248, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + }, + { + "type": "literal", + "value": null + } + ] + }, + { + "type": "intersection", + "types": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 248, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + }, + { + "type": "literal", + "value": false + } + ] + }, + { + "type": "intersection", + "types": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 248, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + }, + { + "type": "literal", + "value": true + } + ] + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 251, + "name": "is", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` IS `value`.", + "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + }, + "parameters": [ + { + "id": 252, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 253, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "boolean" + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 198, + "name": "like", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 114, + "character": 2 + } + ], + "signatures": [ + { + "id": 199, + "name": "like", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches `pattern` case-sensitively." + }, + "typeParameter": [ + { + "id": 200, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 201, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 200, + "name": "ColumnName" + } + }, + { + "id": 202, + "name": "pattern", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The pattern to match with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 203, + "name": "like", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches `pattern` case-sensitively." + }, + "parameters": [ + { + "id": 204, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 205, + "name": "pattern", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The pattern to match with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 206, + "name": "likeAllOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 127, + "character": 2 + } + ], + "signatures": [ + { + "id": 207, + "name": "likeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-sensitively." + }, + "typeParameter": [ + { + "id": 208, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 209, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 208, + "name": "ColumnName" + } + }, + { + "id": 210, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 211, + "name": "likeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-sensitively." + }, + "parameters": [ + { + "id": 212, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 213, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 214, + "name": "likeAnyOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 143, + "character": 2 + } + ], + "signatures": [ + { + "id": 215, + "name": "likeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-sensitively." + }, + "typeParameter": [ + { + "id": 216, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 217, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 216, + "name": "ColumnName" + } + }, + { + "id": 218, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 219, + "name": "likeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-sensitively." + }, + "parameters": [ + { + "id": 220, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 221, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 395, + "name": "limit", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 97, + "character": 2 + } + ], + "signatures": [ + { + "id": 396, + "name": "limit", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Limit the query result by `count`." + }, + "parameters": [ + { + "id": 397, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The maximum number of rows to return" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 398, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 399, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 400, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 97, + "character": 43 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [400] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 497, + "name": "default.limit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 496, + "name": "default.limit" + } + }, + { + "id": 182, + "name": "lt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 88, + "character": 2 + } + ], + "signatures": [ + { + "id": 183, + "name": "lt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is less than `value`." + }, + "typeParameter": [ + { + "id": 184, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 185, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 184, + "name": "ColumnName" + } + }, + { + "id": 186, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 184, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 187, + "name": "lt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is less than `value`." + }, + "parameters": [ + { + "id": 188, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 189, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 190, + "name": "lte", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 101, + "character": 2 + } + ], + "signatures": [ + { + "id": 191, + "name": "lte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is less than or equal to `value`." + }, + "typeParameter": [ + { + "id": 192, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 193, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 192, + "name": "ColumnName" + } + }, + { + "id": 194, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 192, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 195, + "name": "lte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is less than or equal to `value`." + }, + "parameters": [ + { + "id": 196, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 197, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 342, + "name": "match", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 437, + "character": 2 + } + ], + "signatures": [ + { + "id": 343, + "name": "match", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where each column in `query` keys is equal to its\nassociated value. Shorthand for multiple `.eq()`s." + }, + "typeParameter": [ + { + "id": 344, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 345, + "name": "query", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The object to filter with, with column names as keys mapped\nto their filter values\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 344, + "name": "ColumnName" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 344, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 346, + "name": "match", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where each column in `query` keys is equal to its\nassociated value. Shorthand for multiple `.eq()`s." + }, + "parameters": [ + { + "id": 347, + "name": "query", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The object to filter with, with column names as keys mapped\nto their filter values\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 414, + "name": "maybeSingle", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 154, + "character": 2 + } + ], + "signatures": [ + { + "id": 415, + "name": "maybeSingle", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a single object instead of an array of objects.", + "text": "Query result must be zero or one row (e.g. using `.limit(1)`), otherwise\nthis returns an error.\n" + }, + "typeParameter": [ + { + "id": 416, + "name": "ResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 147, + "name": "Result" + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "reference", + "name": "ResultOne" + } + }, + "trueType": { + "type": "reference", + "name": "ResultOne" + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + } + ], + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 416, + "name": "ResultOne" + } + ] + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 516, + "name": "default.maybeSingle" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 515, + "name": "default.maybeSingle" + } + }, + { + "id": 158, + "name": "neq", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 49, + "character": 2 + } + ], + "signatures": [ + { + "id": 159, + "name": "neq", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is not equal to `value`." + }, + "typeParameter": [ + { + "id": 160, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 161, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 160, + "name": "ColumnName" + } + }, + { + "id": 162, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 160, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 163, + "name": "neq", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is not equal to `value`." + }, + "parameters": [ + { + "id": 164, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 165, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 348, + "name": "not", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 453, + "character": 2 + } + ], + "signatures": [ + { + "id": 349, + "name": "not", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows which doesn't satisfy the filter.", + "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" + }, + "typeParameter": [ + { + "id": 350, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 351, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 350, + "name": "ColumnName" + } + }, + { + "id": 352, + "name": "operator", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operator to be negated to filter with, following\nPostgREST syntax" + }, + "type": { + "type": "reference", + "name": "FilterOperator" + } + }, + { + "id": 353, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with, following PostgREST syntax\n" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 350, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 354, + "name": "not", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows which doesn't satisfy the filter.", + "text": "Unlike most filters, `opearator` and `value` are used as-is and need to\nfollow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure they are properly sanitized.\n" + }, + "parameters": [ + { + "id": 355, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 356, + "name": "operator", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The operator to be negated to filter with, following\nPostgREST syntax" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 357, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The value to filter with, following PostgREST syntax\n" + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 358, + "name": "or", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 490, + "character": 2 + } + ], + "signatures": [ + { + "id": 359, + "name": "or", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows which satisfy at least one of the filters.", + "text": "Unlike most filters, `filters` is used as-is and needs to follow [PostgREST\nsyntax](https://postgrest.org/en/stable/api.html#operators). You also need\nto make sure it's properly sanitized.\n\nIt's currently not possible to do an `.or()` filter across multiple tables.\n" + }, + "parameters": [ + { + "id": 360, + "name": "filters", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The filters to use, following PostgREST syntax" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 361, + "name": "foreignTable", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Set this to filter on foreign tables instead of the\ncurrent table\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 362, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 363, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 490, + "character": 42 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [363] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 379, + "name": "order", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 45, + "character": 2 + } + ], + "signatures": [ + { + "id": 380, + "name": "order", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Order the query result by `column`.", + "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" + }, + "typeParameter": [ + { + "id": 381, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 382, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to order by" + }, + "type": { + "type": "reference", + "id": 381, + "name": "ColumnName" + } + }, + { + "id": 383, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 384, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 385, + "name": "ascending", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the result will be in ascending order" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 387, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to order a foreign table by foreign\ncolumns\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 59 + } + ], + "type": { + "type": "intrinsic", + "name": "undefined" + } + }, + { + "id": 386, + "name": "nullsFirst", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 37 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [385, 387, 386] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 481, + "name": "default.order" + } + }, + { + "id": 388, + "name": "order", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Order the query result by `column`.", + "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" + }, + "parameters": [ + { + "id": 389, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to order by" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 390, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 391, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 392, + "name": "ascending", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the result will be in ascending order" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 394, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to order a foreign table by foreign\ncolumns\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 59 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 393, + "name": "nullsFirst", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 37 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [392, 394, 393] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 489, + "name": "default.order" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 480, + "name": "default.order" + } + }, + { + "id": 318, + "name": "overlaps", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 376, + "character": 2 + } + ], + "signatures": [ + { + "id": 319, + "name": "overlaps", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for array and range columns. Match only rows where\n`column` and `value` have an element in common." + }, + "typeParameter": [ + { + "id": 320, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 321, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The array or range column to filter on" + }, + "type": { + "type": "reference", + "id": 320, + "name": "ColumnName" + } + }, + { + "id": 322, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The array or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 320, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 323, + "name": "overlaps", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for array and range columns. Match only rows where\n`column` and `value` have an element in common." + }, + "parameters": [ + { + "id": 324, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The array or range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 325, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The array or range value to filter with\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ] + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 401, + "name": "range", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 116, + "character": 2 + } + ], + "signatures": [ + { + "id": 402, + "name": "range", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." + }, + "parameters": [ + { + "id": 403, + "name": "from", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The starting index from which to limit the result" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 404, + "name": "to", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The last index to which to limit the result" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 405, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 406, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 407, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 116, + "character": 54 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [407] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 503, + "name": "default.range" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 502, + "name": "default.range" + } + }, + { + "id": 310, + "name": "rangeAdjacent", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 361, + "character": 2 + } + ], + "signatures": [ + { + "id": 311, + "name": "rangeAdjacent", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." + }, + "typeParameter": [ + { + "id": 312, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 313, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 312, + "name": "ColumnName" + } + }, + { + "id": 314, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 315, + "name": "rangeAdjacent", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." + }, + "parameters": [ + { + "id": 316, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 317, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 278, + "name": "rangeGt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 303, + "character": 2 + } + ], + "signatures": [ + { + "id": 279, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "typeParameter": [ + { + "id": 280, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 281, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 280, + "name": "ColumnName" + } + }, + { + "id": 282, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 283, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "parameters": [ + { + "id": 284, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 285, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 286, + "name": "rangeGte", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 317, + "character": 2 + } + ], + "signatures": [ + { + "id": 287, + "name": "rangeGte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or greater than any element in\n`range`." + }, + "typeParameter": [ + { + "id": 288, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 289, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 288, + "name": "ColumnName" + } + }, + { + "id": 290, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 291, + "name": "rangeGte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or greater than any element in\n`range`." + }, + "parameters": [ + { + "id": 292, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 293, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 294, + "name": "rangeLt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 332, + "character": 2 + } + ], + "signatures": [ + { + "id": 295, + "name": "rangeLt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is less than any element in `range`." + }, + "typeParameter": [ + { + "id": 296, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 297, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 296, + "name": "ColumnName" + } + }, + { + "id": 298, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 299, + "name": "rangeLt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is less than any element in `range`." + }, + "parameters": [ + { + "id": 300, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 301, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 302, + "name": "rangeLte", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 346, + "character": 2 + } + ], + "signatures": [ + { + "id": 303, + "name": "rangeLte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or less than any element in\n`range`." + }, + "typeParameter": [ + { + "id": 304, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 305, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 304, + "name": "ColumnName" + } + }, + { + "id": 306, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 307, + "name": "rangeLte", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is either contained in `range` or less than any element in\n`range`." + }, + "parameters": [ + { + "id": 308, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 309, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 433, + "name": "returns", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 257, + "character": 2 + } + ], + "signatures": [ + { + "id": 434, + "name": "returns", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Override the type of the returned `data`." + }, + "typeParameter": [ + { + "id": 435, + "name": "NewResult", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "comment": { + "shortText": "The new result type to override with\n" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 435, + "name": "NewResult" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 535, + "name": "default.returns" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 534, + "name": "default.returns" + } + }, + { + "id": 431, + "name": "rollback", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 243, + "character": 2 + } + ], + "signatures": [ + { + "id": 432, + "name": "rollback", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Rollback the query.", + "text": "`data` will still be returned, but the query is not committed.\n" + }, + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 533, + "name": "default.rollback" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 532, + "name": "default.rollback" + } + }, + { + "id": 374, + "name": "select", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 20, + "character": 2 + } + ], + "signatures": [ + { + "id": 375, + "name": "select", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a SELECT on the query result.", + "text": "By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not\nreturn modified rows. By calling this method, modified rows are returned in\n`data`.\n" + }, + "typeParameter": [ + { + "id": 376, + "name": "Query", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "literal", + "value": "*" + } + }, + { + "id": 377, + "name": "NewResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, + "name": "Query" + } + ], + "name": "GetResult" + } + } + ], + "parameters": [ + { + "id": 378, + "name": "columns", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The columns to retrieve, separated by commas\n" + }, + "type": { + "type": "reference", + "id": 376, + "name": "Query" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "id": 377, + "name": "NewResultOne" + } + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 476, + "name": "default.select" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 475, + "name": "default.select" + } + }, + { + "id": 411, + "name": "single", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 141, + "character": 2 + } + ], + "signatures": [ + { + "id": 412, + "name": "single", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a single object instead of an array of objects.", + "text": "Query result must be one row (e.g. using `.limit(1)`), otherwise this\nreturns an error.\n" + }, + "typeParameter": [ + { + "id": 413, + "name": "ResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 147, + "name": "Result" + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "reference", + "name": "ResultOne" + } + }, + "trueType": { + "type": "reference", + "name": "ResultOne" + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + } + ], + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 413, + "name": "ResultOne" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 513, + "name": "default.single" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 512, + "name": "default.single" + } + }, + { + "id": 326, + "name": "textSearch", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 399, + "character": 2 + } + ], + "signatures": [ + { + "id": 327, + "name": "textSearch", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for text and tsvector columns. Match only rows where\n`column` matches the query string in `query`." + }, + "typeParameter": [ + { + "id": 328, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 329, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The text or tsvector column to filter on" + }, + "type": { + "type": "reference", + "id": 328, + "name": "ColumnName" + } + }, + { + "id": 330, + "name": "query", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The query text to match with" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 331, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 332, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 333, + "name": "config", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The text search configuration to use" + }, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 402, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 334, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Change how the `query` text is interpreted\n" + }, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 402, + "character": 33 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "plain" + }, + { + "type": "literal", + "value": "phrase" + }, + { + "type": "literal", + "value": "websearch" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [333, 334] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 335, + "name": "textSearch", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for text and tsvector columns. Match only rows where\n`column` matches the query string in `query`." + }, + "parameters": [ + { + "id": 336, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The text or tsvector column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 337, + "name": "query", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The query text to match with" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 338, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 339, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 340, + "name": "config", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The text search configuration to use" + }, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 407, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 341, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Change how the `query` text is interpreted\n" + }, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 407, + "character": 33 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "plain" + }, + { + "type": "literal", + "value": "phrase" + }, + { + "type": "literal", + "value": "websearch" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [340, 341] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 451, + "name": "then", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 48, + "character": 2 + } + ], + "signatures": [ + { + "id": 452, + "name": "then", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 453, + "name": "TResult1", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 147, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + }, + { + "id": 454, + "name": "TResult2", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "never" + } + } + ], + "parameters": [ + { + "id": 455, + "name": "onfulfilled", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 456, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 457, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 458, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 147, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + }, + { + "id": 459, + "name": "onrejected", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 460, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 461, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 462, + "name": "reason", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ] + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + }, + "inheritedFrom": { + "type": "reference", + "id": 553, + "name": "default.then" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 552, + "name": "default.then" + } + }, + { + "id": 449, + "name": "throwOnError", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 43, + "character": 2 + } + ], + "signatures": [ + { + "id": 450, + "name": "throwOnError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", + "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" + }, + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 551, + "name": "default.throwOnError" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 550, + "name": "default.throwOnError" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [143] + }, + { + "title": "Properties", + "kind": 1024, + "children": [440, 443, 438, 448, 436, 439, 441, 442, 437] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 408, 270, 262, 417, 150, 421, 364, 419, 166, 174, 222, 230, 238, 254, 246, 198, 206, + 214, 395, 182, 190, 342, 414, 158, 348, 358, 379, 318, 401, 310, 278, 286, 294, 302, + 433, 431, 374, 411, 326, 451, 449 + ] + } + ], + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 28, + "character": 21 + } + ], + "typeParameter": [ + { + "id": 463, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 464, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 465, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + }, + { + "id": 466, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + ] + }, + { + "id": 57, + "name": "PostgrestQueryBuilder", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 58, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 17, + "character": 2 + } + ], + "signatures": [ + { + "id": 59, + "name": "new PostgrestQueryBuilder", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "typeParameter": [ + { + "id": 60, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 61, + "name": "Relation", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "GenericTable" + }, + { + "type": "reference", + "name": "GenericView" + } + ] + } + }, + { + "id": 64, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 62, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 63, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [63] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ], + "parameters": [ + { + "id": 65, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + }, + { + "id": 66, + "name": "__namedParameters", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 67, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 70, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 26, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 71, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 72, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 73, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 74, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 68, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 24, + "character": 6 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 69, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 25, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [70, 68, 69] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 57, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "reference", + "id": 61, + "name": "Relation" + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 79, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 15, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 80, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 81, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 82, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 83, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 76, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 12, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 77, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 13, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 78, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 14, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + } + }, + { + "id": 75, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 11, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + }, + { + "id": 132, + "name": "delete", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 356, + "character": 2 + } + ], + "signatures": [ + { + "id": 133, + "name": "delete", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a DELETE on the table or view.", + "text": "By default, deleted rows are not returned. To return it, chain the call\nwith `.select()` after filters.\n" + }, + "parameters": [ + { + "id": 134, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 135, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 136, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count deleted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 359, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [136] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 93, + "name": "insert", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 100, + "character": 2 + } + ], + "signatures": [ + { + "id": 94, + "name": "insert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an INSERT into the table or view.", + "text": "By default, inserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 95, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 96, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" + }, + "type": { + "type": "reference", + "id": 95, + "name": "Row" + } + }, + { + "id": 97, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 98, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 99, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count inserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 103, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [99] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 100, + "name": "insert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an INSERT into the table or view.", + "text": "By default, inserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 101, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 102, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 101, + "name": "Row" + } + } + }, + { + "id": 103, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 104, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 105, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count inserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 109, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 106, + "name": "defaultToNull", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. Only applies for bulk\ninserts.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 110, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [105, 106] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 84, + "name": "select", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 56, + "character": 2 + } + ], + "signatures": [ + { + "id": 85, + "name": "select", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a SELECT query on the table or view." + }, + "typeParameter": [ + { + "id": 86, + "name": "Query", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "literal", + "value": "*" + } + }, + { + "id": 87, + "name": "ResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + }, + { + "type": "reference", + "id": 86, + "name": "Query" + } + ], + "name": "GetResult" + } + } + ], + "parameters": [ + { + "id": 88, + "name": "columns", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The columns to retrieve, separated by commas. Columns can be renamed when returned with `customName:columnName`\n" + }, + "type": { + "type": "reference", + "id": 86, + "name": "Query" + } + }, + { + "id": 89, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 90, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 92, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count rows in the table or view.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 66, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 91, + "name": "head", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 65, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [92, 91] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "array", + "elementType": { + "type": "reference", + "id": 87, + "name": "ResultOne" + } + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 125, + "name": "update", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 308, + "character": 2 + } + ], + "signatures": [ + { + "id": 126, + "name": "update", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an UPDATE on the table or view.", + "text": "By default, updated rows are not returned. To return it, chain the call\nwith `.select()` after filters.\n" + }, + "typeParameter": [ + { + "id": 127, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 128, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to update with\n" + }, + "type": { + "type": "reference", + "id": 127, + "name": "Row" + } + }, + { + "id": 129, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 130, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 131, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count updated rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 313, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [131] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 107, + "name": "upsert", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 183, + "character": 2 + } + ], + "signatures": [ + { + "id": 108, + "name": "upsert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an UPSERT on the table or view. Depending on the column(s) passed\nto `onConflict`, `.upsert()` allows you to perform the equivalent of\n`.insert()` if a row with the corresponding `onConflict` columns doesn't\nexist, or if it does exist, perform an alternative action depending on\n`ignoreDuplicates`.", + "text": "By default, upserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 109, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 110, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" + }, + "type": { + "type": "reference", + "id": 109, + "name": "Row" + } + }, + { + "id": 111, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 112, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 115, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count upserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 188, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 114, + "name": "ignoreDuplicates", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, duplicate rows are ignored. If\n`false`, duplicate rows are merged with existing rows.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 187, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 113, + "name": "onConflict", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Comma-separated UNIQUE column(s) to specify how\nduplicate rows are determined. Two rows are duplicates if all the\n`onConflict` columns are equal.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 186, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [115, 114, 113] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 116, + "name": "upsert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an UPSERT on the table or view. Depending on the column(s) passed\nto `onConflict`, `.upsert()` allows you to perform the equivalent of\n`.insert()` if a row with the corresponding `onConflict` columns doesn't\nexist, or if it does exist, perform an alternative action depending on\n`ignoreDuplicates`.", + "text": "By default, upserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 117, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 118, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 117, + "name": "Row" + } + } + }, + { + "id": 119, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 120, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 123, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count upserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 196, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 124, + "name": "defaultToNull", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`. This also only applies when doing bulk upserts.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 197, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 122, + "name": "ignoreDuplicates", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, duplicate rows are ignored. If\n`false`, duplicate rows are merged with existing rows.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 195, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 121, + "name": "onConflict", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Comma-separated UNIQUE column(s) to specify how\nduplicate rows are determined. Two rows are duplicates if all the\n`onConflict` columns are equal.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 194, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [123, 124, 122, 121] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [58] + }, + { + "title": "Properties", + "kind": 1024, + "children": [79, 76, 77, 78, 75] + }, + { + "title": "Methods", + "kind": 2048, + "children": [132, 93, 84, 125, 107] + } + ], + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 6, + "character": 21 + } + ], + "typeParameter": [ + { + "id": 137, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 138, + "name": "Relation", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "GenericTable" + }, + { + "type": "reference", + "name": "GenericView" + } + ] + } + }, + { + "id": 141, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 139, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 140, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "inferred", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [140] + } + ], + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 35 + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ] + }, + { + "id": 467, + "name": "PostgrestTransformBuilder", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 468, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "signatures": [ + { + "id": 469, + "name": "new PostgrestTransformBuilder", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "typeParameter": [ + { + "id": 470, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 471, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 472, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + }, + { + "id": 473, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "parameters": [ + { + "id": 474, + "name": "builder", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 472, + "name": "Result" + } + ], + "name": "default" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 570, + "name": "default.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 569, + "name": "default.constructor" + } + }, + { + "id": 541, + "name": "body", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 12, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "id": 577, + "name": "default.body" + } + }, + { + "id": 544, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 15, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 545, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 546, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 547, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 548, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "id": 580, + "name": "default.fetch" + } + }, + { + "id": 539, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 10, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + "inheritedFrom": { + "type": "reference", + "id": 575, + "name": "default.headers" + } + }, + { + "id": 549, + "name": "isMaybeSingle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 16, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 585, + "name": "default.isMaybeSingle" + } + }, + { + "id": 537, + "name": "method", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 8, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "GET" + }, + { + "type": "literal", + "value": "HEAD" + }, + { + "type": "literal", + "value": "POST" + }, + { + "type": "literal", + "value": "PATCH" + }, + { + "type": "literal", + "value": "DELETE" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 573, + "name": "default.method" + } + }, + { + "id": 540, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 11, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 576, + "name": "default.schema" + } + }, + { + "id": 542, + "name": "shouldThrowOnError", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 13, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "id": 578, + "name": "default.shouldThrowOnError" + } + }, + { + "id": 543, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 14, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + }, + "inheritedFrom": { + "type": "reference", + "id": 579, + "name": "default.signal" + } + }, + { + "id": 538, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 9, + "character": 12 + } + ], + "type": { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + }, + "inheritedFrom": { + "type": "reference", + "id": 574, + "name": "default.url" + } + }, + { + "id": 509, + "name": "abortSignal", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 130, + "character": 2 + } + ], + "signatures": [ + { + "id": 510, + "name": "abortSignal", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Set the AbortSignal for the fetch request." + }, + "parameters": [ + { + "id": 511, + "name": "signal", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The AbortSignal to use for the fetch request\n" + }, + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 518, + "name": "csv", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 171, + "character": 2 + } + ], + "signatures": [ + { + "id": 519, + "name": "csv", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a string in CSV format." + }, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 522, + "name": "explain", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 205, + "character": 2 + } + ], + "signatures": [ + { + "id": 523, + "name": "explain", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as the EXPLAIN plan for the query." + }, + "parameters": [ + { + "id": 524, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters\n" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 525, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 526, + "name": "analyze", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the query will be executed and the\nactual run time will be returned\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 213, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 529, + "name": "buffers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on buffer usage\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 216, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 531, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The format of the output, can be `\"text\"` (default)\nor `\"json\"`\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 218, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "text" + }, + { + "type": "literal", + "value": "json" + } + ] + } + }, + { + "id": 528, + "name": "settings", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on configuration\nparameters that affect query planning\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 215, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 527, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the query identifier will be returned\nand `data` will include the output columns of the query\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 214, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 530, + "name": "wal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, include information on WAL record generation\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 217, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [526, 529, 531, 528, 527, 530] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "default" + }, + { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "name": "default" + } + ] + } + } + ] + }, + { + "id": 520, + "name": "geojson", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 179, + "character": 2 + } + ], + "signatures": [ + { + "id": 521, + "name": "geojson", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as an object in [GeoJSON](https://geojson.org) format." + }, + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 496, + "name": "limit", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 97, + "character": 2 + } + ], + "signatures": [ + { + "id": 497, + "name": "limit", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Limit the query result by `count`." + }, + "parameters": [ + { + "id": 498, + "name": "count", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The maximum number of rows to return" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 499, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 500, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 501, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 97, + "character": 43 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [501] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 515, + "name": "maybeSingle", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 154, + "character": 2 + } + ], + "signatures": [ + { + "id": 516, + "name": "maybeSingle", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a single object instead of an array of objects.", + "text": "Query result must be zero or one row (e.g. using `.limit(1)`), otherwise\nthis returns an error.\n" + }, + "typeParameter": [ + { + "id": 517, + "name": "ResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 472, + "name": "Result" + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "reference", + "name": "ResultOne" + } + }, + "trueType": { + "type": "reference", + "name": "ResultOne" + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + } + ], + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 416, + "name": "ResultOne" + } + ] + } + ], + "name": "default" + } + } + ] + }, + { + "id": 480, + "name": "order", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 45, + "character": 2 + } + ], + "signatures": [ + { + "id": 481, + "name": "order", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Order the query result by `column`.", + "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" + }, + "typeParameter": [ + { + "id": 482, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 483, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to order by" + }, + "type": { + "type": "reference", + "id": 381, + "name": "ColumnName" + } + }, + { + "id": 484, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 485, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 486, + "name": "ascending", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the result will be in ascending order" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 488, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to order a foreign table by foreign\ncolumns\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 59 + } + ], + "type": { + "type": "intrinsic", + "name": "undefined" + } + }, + { + "id": 487, + "name": "nullsFirst", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 47, + "character": 37 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [486, 488, 487] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 489, + "name": "order", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Order the query result by `column`.", + "text": "You can call this method multiple times to order by multiple columns.\n\nYou can order foreign tables, but it doesn't affect the ordering of the\ncurrent table.\n" + }, + "parameters": [ + { + "id": 490, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to order by" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 491, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 492, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 493, + "name": "ascending", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, the result will be in ascending order" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 495, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to order a foreign table by foreign\ncolumns\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 59 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 494, + "name": "nullsFirst", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, `null`s appear first. If `false`,\n`null`s appear last." + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 51, + "character": 37 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [493, 495, 494] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 502, + "name": "range", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 116, + "character": 2 + } + ], + "signatures": [ + { + "id": 503, + "name": "range", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." + }, + "parameters": [ + { + "id": 504, + "name": "from", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The starting index from which to limit the result" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 505, + "name": "to", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The last index to which to limit the result" + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 506, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Named parameters" + }, + "originalName": "__namedParameters", + "type": { + "type": "reflection", + "declaration": { + "id": 507, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 508, + "name": "foreignTable", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set this to limit rows of foreign tables\ninstead of the current table\n" + }, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 116, + "character": 54 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [508] + } + ] + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 534, + "name": "returns", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 257, + "character": 2 + } + ], + "signatures": [ + { + "id": 535, + "name": "returns", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Override the type of the returned `data`." + }, + "typeParameter": [ + { + "id": 536, + "name": "NewResult", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "comment": { + "shortText": "The new result type to override with\n" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 435, + "name": "NewResult" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 532, + "name": "rollback", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 243, + "character": 2 + } + ], + "signatures": [ + { + "id": 533, + "name": "rollback", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Rollback the query.", + "text": "`data` will still be returned, but the query is not committed.\n" + }, + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 475, + "name": "select", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 20, + "character": 2 + } + ], + "signatures": [ + { + "id": 476, + "name": "select", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a SELECT on the query result.", + "text": "By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not\nreturn modified rows. By calling this method, modified rows are returned in\n`data`.\n" + }, + "typeParameter": [ + { + "id": 477, + "name": "Query", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "literal", + "value": "*" + } + }, + { + "id": 478, + "name": "NewResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, + "name": "Query" + } + ], + "name": "GetResult" + } + } + ], + "parameters": [ + { + "id": 479, + "name": "columns", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The columns to retrieve, separated by commas\n" + }, + "type": { + "type": "reference", + "id": 376, + "name": "Query" + } + } + ], + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "id": 377, + "name": "NewResultOne" + } + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 512, + "name": "single", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 141, + "character": 2 + } + ], + "signatures": [ + { + "id": 513, + "name": "single", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Return `data` as a single object instead of an array of objects.", + "text": "Query result must be one row (e.g. using `.limit(1)`), otherwise this\nreturns an error.\n" + }, + "typeParameter": [ + { + "id": 514, + "name": "ResultOne", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 472, + "name": "Result" + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "reference", + "name": "ResultOne" + } + }, + "trueType": { + "type": "reference", + "name": "ResultOne" + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + } + ], + "type": { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 413, + "name": "ResultOne" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 552, + "name": "then", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 48, + "character": 2 + } + ], + "signatures": [ + { + "id": 553, + "name": "then", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 554, + "name": "TResult1", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 472, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + }, + { + "id": 555, + "name": "TResult2", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "never" + } + } + ], + "parameters": [ + { + "id": 556, + "name": "onfulfilled", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 557, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 558, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 559, + "name": "value", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "reference", + "id": 472, + "name": "Result" + } + ], + "name": "PostgrestSingleResponse" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + }, + { + "id": 560, + "name": "onrejected", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 561, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 562, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 563, + "name": "reason", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + } + ] + } + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "id": 453, + "name": "TResult1" + }, + { + "type": "reference", + "id": 454, + "name": "TResult2" + } + ] + } + ], + "qualifiedName": "PromiseLike", + "package": "typescript", + "name": "PromiseLike" + }, + "inheritedFrom": { + "type": "reference", + "id": 589, + "name": "default.then" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 588, + "name": "default.then" + } + }, + { + "id": 550, + "name": "throwOnError", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestBuilder.ts", + "line": 43, + "character": 2 + } + ], + "signatures": [ + { + "id": 551, + "name": "throwOnError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "If there's an error with the query, throwOnError will reject the promise by\nthrowing the error instead of returning it as part of a successful response.", + "text": "{@link https://github.com/supabase/supabase-js/issues/92}\n" + }, + "type": { + "type": "reference", + "id": 467, + "typeArguments": [ + { + "type": "reference", + "id": 470, + "name": "Schema" + }, + { + "type": "reference", + "id": 471, + "name": "Row" + }, + { + "type": "reference", + "id": 472, + "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" + } + ], + "name": "default" + }, + "inheritedFrom": { + "type": "reference", + "id": 587, + "name": "default.throwOnError" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 586, + "name": "default.throwOnError" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [468] + }, + { + "title": "Properties", + "kind": 1024, + "children": [541, 544, 539, 549, 537, 540, 542, 543, 538] + }, + { + "title": "Methods", + "kind": 2048, + "children": [509, 518, 522, 520, 496, 515, 480, 502, 534, 532, 475, 512, 552, 550] + } + ], + "sources": [ + { + "fileName": "src/PostgrestTransformBuilder.ts", + "line": 5, + "character": 21 + } + ], + "typeParameter": [ + { + "id": 564, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "GenericSchema" + } + }, + { + "id": 565, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 566, + "name": "Result", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + }, + { + "id": 567, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 568, + "typeArguments": [ + { + "type": "reference", + "id": 472, + "name": "Result" + } + ], + "name": "default" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 142, + "name": "PostgrestFilterBuilder" + } + ] + }, + { + "id": 603, + "name": "PostgrestResponseFailure", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 606, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 605, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 604, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 30, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 620, + "name": "PostgrestError" + } + }, + { + "id": 607, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 21, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "name": "PostgrestResponseBase.status" + } + }, + { + "id": 608, + "name": "statusText", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 22, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "PostgrestResponseBase.statusText" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [606, 605, 604, 607, 608] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 29, + "character": 17 + } + ], + "extendedTypes": [ + { + "type": "reference", + "name": "PostgrestResponseBase" + } + ] + }, + { + "id": 609, + "name": "PostgrestResponseSuccess", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 612, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 611, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 26, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 615, + "name": "T" + } + }, + { + "id": 610, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 25, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 613, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 21, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "name": "PostgrestResponseBase.status" + } + }, + { + "id": 614, + "name": "statusText", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 22, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "name": "PostgrestResponseBase.statusText" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [612, 611, 610, 613, 614] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 24, + "character": 17 + } + ], + "typeParameter": [ + { + "id": 615, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "extendedTypes": [ + { + "type": "reference", + "name": "PostgrestResponseBase" + } + ] + }, + { + "id": 620, + "name": "PostgrestError", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "comment": { + "shortText": "Error format", + "text": "{@link https://postgrest.org/en/stable/api.html?highlight=options#errors-and-http-status-codes}\n" + }, + "sources": [ + { + "fileName": "src/types.ts", + "line": 8, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 621, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 625, + "name": "code", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 12, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 623, + "name": "details", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 10, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 624, + "name": "hint", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 11, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 622, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 9, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [625, 623, 624, 622] + } + ], + "sources": [ + { + "fileName": "src/types.ts", + "line": 8, + "character": 29 + } + ] + } + } + }, + { + "id": 618, + "name": "PostgrestMaybeSingleResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 39, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 619, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "type": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "id": 619, + "name": "T" + }, + { + "type": "literal", + "value": null + } + ] + } + ], + "name": "PostgrestSingleResponse" + } + }, + { + "id": 601, + "name": "PostgrestResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 40, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 602, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "type": { + "type": "reference", + "id": 616, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "id": 602, + "name": "T" + } + } + ], + "name": "PostgrestSingleResponse" + } + }, + { + "id": 616, + "name": "PostgrestSingleResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/types.ts", + "line": 38, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 617, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 609, + "typeArguments": [ + { + "type": "reference", + "id": 617, + "name": "T" + } + ], + "name": "PostgrestResponseSuccess" + }, + { + "type": "reference", + "id": 603, + "name": "PostgrestResponseFailure" + } + ] + } + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [568, 1, 142, 57, 467] + }, + { + "title": "Interfaces", + "kind": 256, + "children": [603, 609] + }, + { + "title": "Type Aliases", + "kind": 4194304, + "children": [620, 618, 601, 616] + } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/postgrest_dereferenced.json b/spec/enrichments/tsdoc_v2/postgrest_dereferenced.json index 6830f856612..ede3d23cc88 100644 --- a/spec/enrichments/tsdoc_v2/postgrest_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/postgrest_dereferenced.json @@ -7,7 +7,7 @@ "originalName": "", "children": [ { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -16,7 +16,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -30,14 +30,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -46,24 +46,24 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -75,32 +75,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -112,7 +97,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -122,7 +107,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -132,11 +117,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -154,11 +139,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -168,7 +153,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -189,7 +174,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -206,21 +191,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -244,7 +229,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -279,7 +264,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -311,7 +296,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -331,7 +316,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -372,7 +357,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -393,7 +378,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -414,7 +399,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -437,7 +422,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -459,7 +444,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -473,25 +458,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -499,7 +484,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -512,7 +497,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -529,32 +514,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -567,7 +552,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -575,7 +560,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -593,7 +578,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -610,21 +595,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -640,7 +625,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -648,7 +633,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -674,12 +659,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -701,7 +686,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -715,7 +700,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -726,11 +711,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -744,32 +729,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -781,7 +751,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -791,7 +761,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -801,11 +771,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -1151,11 +1121,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 12, - 10, - 11 - ] + "children": [12, 10, 11] } ] } @@ -1310,7 +1276,7 @@ }, { "id": 19, - "name": "schema", + "name": "schemaName", "kind": 1024, "kindString": "Property", "flags": { @@ -1415,7 +1381,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -1426,13 +1392,66 @@ "type": "reference", "id": 28, "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 28, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 30, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 31, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [31] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "name": "default" } }, { - "id": 30, + "id": 32, "name": "from", "kind": 4096, "kindString": "Call signature", @@ -1442,7 +1461,7 @@ }, "typeParameter": [ { - "id": 31, + "id": 33, "name": "ViewName", "kind": 131072, "kindString": "Type parameter", @@ -1453,7 +1472,7 @@ } }, { - "id": 32, + "id": 34, "name": "View", "kind": 131072, "kindString": "Type parameter", @@ -1466,7 +1485,7 @@ ], "parameters": [ { - "id": 33, + "id": 35, "name": "relation", "kind": 32768, "kindString": "Parameter", @@ -1476,7 +1495,7 @@ }, "type": { "type": "reference", - "id": 31, + "id": 33, "name": "ViewName", "dereferenced": {} } @@ -1484,7 +1503,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -1493,15 +1512,68 @@ }, { "type": "reference", - "id": 32, + "id": 34, "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 34, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 36, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 37, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [37] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "name": "default" } }, { - "id": 34, + "id": 38, "name": "from", "kind": 4096, "kindString": "Call signature", @@ -1511,7 +1583,7 @@ }, "parameters": [ { - "id": 35, + "id": 39, "name": "relation", "kind": 32768, "kindString": "Parameter", @@ -1527,7 +1599,7 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", @@ -1537,6 +1609,10 @@ { "type": "intrinsic", "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" } ], "name": "default" @@ -1545,7 +1621,7 @@ ] }, { - "id": 36, + "id": 44, "name": "rpc", "kind": 2048, "kindString": "Method", @@ -1553,13 +1629,13 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 102, + "line": 127, "character": 2 } ], "signatures": [ { - "id": 37, + "id": 45, "name": "rpc", "kind": 4096, "kindString": "Call signature", @@ -1569,7 +1645,7 @@ }, "typeParameter": [ { - "id": 38, + "id": 46, "name": "FunctionName", "kind": 131072, "kindString": "Type parameter", @@ -1580,7 +1656,7 @@ } }, { - "id": 39, + "id": 47, "name": "Function_", "kind": 131072, "kindString": "Type parameter", @@ -1593,7 +1669,7 @@ ], "parameters": [ { - "id": 40, + "id": 48, "name": "fn", "kind": 32768, "kindString": "Parameter", @@ -1603,13 +1679,13 @@ }, "type": { "type": "reference", - "id": 38, + "id": 46, "name": "FunctionName", "dereferenced": {} } }, { - "id": 41, + "id": 49, "name": "args", "kind": 32768, "kindString": "Parameter", @@ -1625,14 +1701,14 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } }, "defaultValue": "{}" }, { - "id": 42, + "id": 50, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -1644,14 +1720,14 @@ "type": { "type": "reflection", "declaration": { - "id": 43, + "id": 51, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 45, + "id": 53, "name": "count", "kind": 1024, "kindString": "Property", @@ -1664,7 +1740,7 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 113, + "line": 138, "character": 6 } ], @@ -1687,7 +1763,7 @@ } }, { - "id": 44, + "id": 52, "name": "head", "kind": 1024, "kindString": "Property", @@ -1700,7 +1776,7 @@ "sources": [ { "fileName": "src/PostgrestClient.ts", - "line": 112, + "line": 137, "character": 6 } ], @@ -1714,10 +1790,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 45, - 44 - ] + "children": [53, 52] } ] } @@ -1727,7 +1800,7 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", @@ -1744,7 +1817,7 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } }, @@ -1820,9 +1893,123 @@ }, "objectType": { "type": "reference", - "id": 39, + "id": 47, "name": "Function_" } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 40, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestClient.ts", + "line": 88, + "character": 2 + } + ], + "signatures": [ + { + "id": 41, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Select a schema to query or perform an function (rpc) call.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 42, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 43, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The schema to query\n" + }, + "type": { + "type": "reference", + "id": 42, + "name": "DynamicSchema", + "dereferenced": {} + } + } + ], + "type": { + "type": "reference", + "id": 1, + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "Database" + }, + { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 42, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } } ], "name": "default" @@ -1835,27 +2022,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 2 - ] + "children": [2] }, { "title": "Properties", "kind": 1024, - "children": [ - 20, - 18, - 19, - 17 - ] + "children": [20, 18, 19, 17] }, { "title": "Methods", "kind": 2048, - "children": [ - 25, - 36 - ] + "children": [25, 44, 40] } ], "sources": [ @@ -1867,7 +2044,7 @@ ], "typeParameter": [ { - "id": 46, + "id": 54, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -1881,7 +2058,7 @@ } }, { - "id": 47, + "id": 55, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -1947,7 +2124,7 @@ } }, { - "id": 48, + "id": 56, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -1997,28 +2174,28 @@ ] }, { - "id": 114, + "id": 142, "name": "PostgrestFilterBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 115, + "id": 143, "name": "constructor", "kind": 512, "kindString": "Constructor", "flags": {}, "signatures": [ { - "id": 116, + "id": 144, "name": "new PostgrestFilterBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 117, + "id": 145, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -2029,7 +2206,7 @@ } }, { - "id": 118, + "id": 146, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -2052,33 +2229,44 @@ } }, { - "id": 119, + "id": 147, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 148, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "parameters": [ { - "id": 120, + "id": 149, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -2087,7 +2275,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -2101,14 +2289,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -2117,18 +2305,18 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2139,11 +2327,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2153,7 +2341,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -2174,7 +2362,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -2191,21 +2379,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -2229,7 +2417,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -2264,7 +2452,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -2296,7 +2484,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -2316,7 +2504,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -2357,7 +2545,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -2378,7 +2566,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -2399,7 +2587,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -2422,7 +2610,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -2444,7 +2632,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -2458,25 +2646,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2484,7 +2672,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -2497,7 +2685,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -2514,32 +2702,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2552,7 +2740,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -2560,7 +2748,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -2578,7 +2766,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -2595,21 +2783,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -2625,7 +2813,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -2633,7 +2821,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -2659,12 +2847,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -2686,7 +2874,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -2700,7 +2888,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -2711,11 +2899,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2729,32 +2917,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -2766,7 +2939,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -2776,7 +2949,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -2786,11 +2959,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -2808,41 +2981,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 439, + "id": 469, "name": "default.constructor" } } ], "inheritedFrom": { "type": "reference", - "id": 438, + "id": 468, "name": "default.constructor" } }, { - "id": 411, + "id": 440, "name": "body", "kind": 1024, "kindString": "Property", @@ -2863,12 +3041,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 510, + "id": 541, "name": "default.body" } }, { - "id": 414, + "id": 443, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -2885,21 +3063,21 @@ "type": { "type": "reflection", "declaration": { - "id": 415, + "id": 444, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 416, + "id": 445, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 417, + "id": 446, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -2923,7 +3101,7 @@ } }, { - "id": 418, + "id": 447, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -2958,12 +3136,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 513, + "id": 544, "name": "default.fetch" } }, { - "id": 409, + "id": 438, "name": "headers", "kind": 1024, "kindString": "Property", @@ -2995,12 +3173,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 508, + "id": 539, "name": "default.headers" } }, { - "id": 419, + "id": 448, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -3020,12 +3198,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 518, + "id": 549, "name": "default.isMaybeSingle" } }, { - "id": 407, + "id": 436, "name": "method", "kind": 1024, "kindString": "Property", @@ -3066,12 +3244,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 506, + "id": 537, "name": "default.method" } }, { - "id": 410, + "id": 439, "name": "schema", "kind": 1024, "kindString": "Property", @@ -3092,12 +3270,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 509, + "id": 540, "name": "default.schema" } }, { - "id": 412, + "id": 441, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -3118,12 +3296,12 @@ "defaultValue": "false", "inheritedFrom": { "type": "reference", - "id": 511, + "id": 542, "name": "default.shouldThrowOnError" } }, { - "id": 413, + "id": 442, "name": "signal", "kind": 1024, "kindString": "Property", @@ -3146,12 +3324,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 512, + "id": 543, "name": "default.signal" } }, { - "id": 408, + "id": 437, "name": "url", "kind": 1024, "kindString": "Property", @@ -3173,12 +3351,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 507, + "id": 538, "name": "default.url" } }, { - "id": 379, + "id": 408, "name": "abortSignal", "kind": 2048, "kindString": "Method", @@ -3186,13 +3364,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, + "line": 130, "character": 2 } ], "signatures": [ { - "id": 380, + "id": 409, "name": "abortSignal", "kind": 4096, "kindString": "Call signature", @@ -3202,7 +3380,7 @@ }, "parameters": [ { - "id": 381, + "id": 410, "name": "signal", "kind": 32768, "kindString": "Parameter", @@ -3220,41 +3398,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 479, + "id": 510, "name": "default.abortSignal" } } ], "inheritedFrom": { "type": "reference", - "id": 478, + "id": 509, "name": "default.abortSignal" } }, { - "id": 241, + "id": 270, "name": "containedBy", "kind": 2048, "kindString": "Method", @@ -3262,13 +3445,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 261, + "line": 277, "character": 2 } ], "signatures": [ { - "id": 242, + "id": 271, "name": "containedBy", "kind": 4096, "kindString": "Call signature", @@ -3278,7 +3461,7 @@ }, "typeParameter": [ { - "id": 243, + "id": 272, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -3291,7 +3474,7 @@ ], "parameters": [ { - "id": 244, + "id": 273, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3301,13 +3484,13 @@ }, "type": { "type": "reference", - "id": 243, + "id": 272, "name": "ColumnName", "dereferenced": {} } }, { - "id": 245, + "id": 274, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3339,18 +3522,22 @@ "name": "Record" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 243, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 272, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -3360,29 +3547,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 246, + "id": 275, "name": "containedBy", "kind": 4096, "kindString": "Call signature", @@ -3392,7 +3584,7 @@ }, "parameters": [ { - "id": 247, + "id": 276, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3406,7 +3598,7 @@ } }, { - "id": 248, + "id": 277, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3422,10 +3614,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } }, { @@ -3450,22 +3646,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -3474,7 +3675,7 @@ ] }, { - "id": 233, + "id": 262, "name": "contains", "kind": 2048, "kindString": "Method", @@ -3482,13 +3683,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 234, + "line": 250, "character": 2 } ], "signatures": [ { - "id": 234, + "id": 263, "name": "contains", "kind": 4096, "kindString": "Call signature", @@ -3498,7 +3699,7 @@ }, "typeParameter": [ { - "id": 235, + "id": 264, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -3511,7 +3712,7 @@ ], "parameters": [ { - "id": 236, + "id": 265, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3521,13 +3722,13 @@ }, "type": { "type": "reference", - "id": 235, + "id": 264, "name": "ColumnName", "dereferenced": {} } }, { - "id": 237, + "id": 266, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3559,18 +3760,22 @@ "name": "Record" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 235, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 264, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -3580,29 +3785,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 238, + "id": 267, "name": "contains", "kind": 4096, "kindString": "Call signature", @@ -3612,7 +3822,7 @@ }, "parameters": [ { - "id": 239, + "id": 268, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3626,7 +3836,7 @@ } }, { - "id": 240, + "id": 269, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3642,10 +3852,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } }, { @@ -3670,22 +3884,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -3694,7 +3913,7 @@ ] }, { - "id": 388, + "id": 417, "name": "csv", "kind": 2048, "kindString": "Method", @@ -3702,13 +3921,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, + "line": 171, "character": 2 } ], "signatures": [ { - "id": 389, + "id": 418, "name": "csv", "kind": 4096, "kindString": "Call signature", @@ -3718,7 +3937,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -3729,19 +3948,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 488, + "id": 519, "name": "default.csv" } } ], "inheritedFrom": { "type": "reference", - "id": 487, + "id": 518, "name": "default.csv" } }, { - "id": 121, + "id": 150, "name": "eq", "kind": 2048, "kindString": "Method", @@ -3749,13 +3968,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 33, + "line": 34, "character": 2 } ], "signatures": [ { - "id": 122, + "id": 151, "name": "eq", "kind": 4096, "kindString": "Call signature", @@ -3766,7 +3985,7 @@ }, "typeParameter": [ { - "id": 123, + "id": 152, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -3779,7 +3998,7 @@ ], "parameters": [ { - "id": 124, + "id": 153, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3789,13 +4008,13 @@ }, "type": { "type": "reference", - "id": 123, + "id": 152, "name": "ColumnName", "dereferenced": {} } }, { - "id": 125, + "id": 154, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3807,12 +4026,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 123, + "id": 152, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -3820,29 +4039,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 126, + "id": 155, "name": "eq", "kind": 4096, "kindString": "Call signature", @@ -3853,7 +4077,7 @@ }, "parameters": [ { - "id": 127, + "id": 156, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -3867,7 +4091,7 @@ } }, { - "id": 128, + "id": 157, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -3883,22 +4107,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -3907,7 +4136,7 @@ ] }, { - "id": 392, + "id": 421, "name": "explain", "kind": 2048, "kindString": "Method", @@ -3915,13 +4144,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, + "line": 205, "character": 2 } ], "signatures": [ { - "id": 393, + "id": 422, "name": "explain", "kind": 4096, "kindString": "Call signature", @@ -3931,7 +4160,7 @@ }, "parameters": [ { - "id": 394, + "id": 423, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -3943,14 +4172,14 @@ "type": { "type": "reflection", "declaration": { - "id": 395, + "id": 424, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 396, + "id": 425, "name": "analyze", "kind": 1024, "kindString": "Property", @@ -3963,7 +4192,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, + "line": 213, "character": 4 } ], @@ -3973,7 +4202,7 @@ } }, { - "id": 399, + "id": 428, "name": "buffers", "kind": 1024, "kindString": "Property", @@ -3986,7 +4215,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, + "line": 216, "character": 4 } ], @@ -3996,7 +4225,7 @@ } }, { - "id": 401, + "id": 430, "name": "format", "kind": 1024, "kindString": "Property", @@ -4009,7 +4238,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, + "line": 218, "character": 4 } ], @@ -4028,7 +4257,7 @@ } }, { - "id": 398, + "id": 427, "name": "settings", "kind": 1024, "kindString": "Property", @@ -4041,7 +4270,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, + "line": 215, "character": 4 } ], @@ -4051,7 +4280,7 @@ } }, { - "id": 397, + "id": 426, "name": "verbose", "kind": 1024, "kindString": "Property", @@ -4064,7 +4293,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, + "line": 214, "character": 4 } ], @@ -4074,7 +4303,7 @@ } }, { - "id": 400, + "id": 429, "name": "wal", "kind": 1024, "kindString": "Property", @@ -4087,7 +4316,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, + "line": 217, "character": 4 } ], @@ -4101,14 +4330,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 396, - 399, - 401, - 398, - 397, - 400 - ] + "children": [425, 428, 430, 427, 426, 429] } ] } @@ -4121,7 +4343,7 @@ "types": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -4132,7 +4354,7 @@ }, { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "array", @@ -4160,19 +4382,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 492, + "id": 523, "name": "default.explain" } } ], "inheritedFrom": { "type": "reference", - "id": 491, + "id": 522, "name": "default.explain" } }, { - "id": 335, + "id": 364, "name": "filter", "kind": 2048, "kindString": "Method", @@ -4180,13 +4402,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 480, + "line": 496, "character": 2 } ], "signatures": [ { - "id": 336, + "id": 365, "name": "filter", "kind": 4096, "kindString": "Call signature", @@ -4197,7 +4419,7 @@ }, "typeParameter": [ { - "id": 337, + "id": 366, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -4210,7 +4432,7 @@ ], "parameters": [ { - "id": 338, + "id": 367, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4220,13 +4442,13 @@ }, "type": { "type": "reference", - "id": 337, + "id": 366, "name": "ColumnName", "dereferenced": {} } }, { - "id": 339, + "id": 368, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -4333,7 +4555,7 @@ } }, { - "id": 340, + "id": 369, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4349,29 +4571,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 341, + "id": 370, "name": "filter", "kind": 4096, "kindString": "Call signature", @@ -4382,7 +4609,7 @@ }, "parameters": [ { - "id": 342, + "id": 371, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4396,7 +4623,7 @@ } }, { - "id": 343, + "id": 372, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -4410,7 +4637,7 @@ } }, { - "id": 344, + "id": 373, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4426,22 +4653,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -4450,7 +4682,7 @@ ] }, { - "id": 390, + "id": 419, "name": "geojson", "kind": 2048, "kindString": "Method", @@ -4458,13 +4690,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, + "line": 179, "character": 2 } ], "signatures": [ { - "id": 391, + "id": 420, "name": "geojson", "kind": 4096, "kindString": "Call signature", @@ -4474,7 +4706,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", @@ -4497,19 +4729,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 490, + "id": 521, "name": "default.geojson" } } ], "inheritedFrom": { "type": "reference", - "id": 489, + "id": 520, "name": "default.geojson" } }, { - "id": 137, + "id": 166, "name": "gt", "kind": 2048, "kindString": "Method", @@ -4517,13 +4749,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 61, + "line": 62, "character": 2 } ], "signatures": [ { - "id": 138, + "id": 167, "name": "gt", "kind": 4096, "kindString": "Call signature", @@ -4533,7 +4765,7 @@ }, "typeParameter": [ { - "id": 139, + "id": 168, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -4546,7 +4778,7 @@ ], "parameters": [ { - "id": 140, + "id": 169, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4556,13 +4788,13 @@ }, "type": { "type": "reference", - "id": 139, + "id": 168, "name": "ColumnName", "dereferenced": {} } }, { - "id": 141, + "id": 170, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4574,12 +4806,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 139, + "id": 168, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -4587,29 +4819,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 142, + "id": 171, "name": "gt", "kind": 4096, "kindString": "Call signature", @@ -4619,7 +4856,7 @@ }, "parameters": [ { - "id": 143, + "id": 172, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4633,7 +4870,7 @@ } }, { - "id": 144, + "id": 173, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4649,22 +4886,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -4673,7 +4915,7 @@ ] }, { - "id": 145, + "id": 174, "name": "gte", "kind": 2048, "kindString": "Method", @@ -4681,13 +4923,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 74, + "line": 75, "character": 2 } ], "signatures": [ { - "id": 146, + "id": 175, "name": "gte", "kind": 4096, "kindString": "Call signature", @@ -4697,7 +4939,7 @@ }, "typeParameter": [ { - "id": 147, + "id": 176, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -4710,7 +4952,7 @@ ], "parameters": [ { - "id": 148, + "id": 177, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4720,13 +4962,13 @@ }, "type": { "type": "reference", - "id": 147, + "id": 176, "name": "ColumnName", "dereferenced": {} } }, { - "id": 149, + "id": 178, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4738,12 +4980,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 147, + "id": 176, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -4751,29 +4993,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 150, + "id": 179, "name": "gte", "kind": 4096, "kindString": "Call signature", @@ -4783,7 +5030,7 @@ }, "parameters": [ { - "id": 151, + "id": 180, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4797,7 +5044,7 @@ } }, { - "id": 152, + "id": 181, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -4813,22 +5060,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -4837,7 +5089,7 @@ ] }, { - "id": 193, + "id": 222, "name": "ilike", "kind": 2048, "kindString": "Method", @@ -4845,13 +5097,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 152, + "line": 159, "character": 2 } ], "signatures": [ { - "id": 194, + "id": 223, "name": "ilike", "kind": 4096, "kindString": "Call signature", @@ -4861,7 +5113,7 @@ }, "typeParameter": [ { - "id": 195, + "id": 224, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -4874,7 +5126,7 @@ ], "parameters": [ { - "id": 196, + "id": 225, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -4884,13 +5136,13 @@ }, "type": { "type": "reference", - "id": 195, + "id": 224, "name": "ColumnName", "dereferenced": {} } }, { - "id": 197, + "id": 226, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -4906,29 +5158,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 198, + "id": 227, "name": "ilike", "kind": 4096, "kindString": "Call signature", @@ -4936,419 +5193,6 @@ "comment": { "shortText": "Match only rows where `column` matches `pattern` case-insensitively." }, - "parameters": [ - { - "id": 199, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 200, - "name": "pattern", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The pattern to match with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 201, - "name": "ilikeAllOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 165, - "character": 2 - } - ], - "signatures": [ - { - "id": 202, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 203, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 204, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 203, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 205, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 206, - "name": "ilikeAllOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 207, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 208, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 209, - "name": "ilikeAnyOf", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 178, - "character": 2 - } - ], - "signatures": [ - { - "id": 210, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "typeParameter": [ - { - "id": 211, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 212, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "reference", - "id": 211, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 213, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 214, - "name": "ilikeAnyOf", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." - }, - "parameters": [ - { - "id": 215, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 216, - "name": "patterns", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The patterns to match with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 225, - "name": "in", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 213, - "character": 2 - } - ], - "signatures": [ - { - "id": 226, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "typeParameter": [ - { - "id": 227, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], "parameters": [ { "id": 228, @@ -5359,123 +5203,49 @@ "comment": { "shortText": "The column to filter on" }, - "type": { - "type": "reference", - "id": 227, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 229, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The values array to filter with\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 227, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" - } - } - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 230, - "name": "in", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Match only rows where `column` is included in the `values` array." - }, - "parameters": [ - { - "id": 231, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The column to filter on" - }, "type": { "type": "intrinsic", "name": "string" } }, { - "id": 232, - "name": "values", + "id": 229, + "name": "pattern", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The values array to filter with\n" + "shortText": "The pattern to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" - } + "type": "intrinsic", + "name": "string" } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -5484,32 +5254,31 @@ ] }, { - "id": 217, - "name": "is", + "id": 230, + "name": "ilikeAllOf", "kind": 2048, "kindString": "Method", "flags": {}, "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 191, + "line": 172, "character": 2 } ], "signatures": [ { - "id": 218, - "name": "is", + "id": 231, + "name": "ilikeAllOf", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Match only rows where `column` IS `value`.", - "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." }, "typeParameter": [ { - "id": 219, + "id": 232, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -5522,7 +5291,7 @@ ], "parameters": [ { - "id": 220, + "id": 233, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5532,13 +5301,560 @@ }, "type": { "type": "reference", - "id": 219, + "id": 232, "name": "ColumnName", "dereferenced": {} } }, { - "id": 221, + "id": 234, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 235, + "name": "ilikeAllOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches all of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 236, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 237, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 238, + "name": "ilikeAnyOf", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 188, + "character": 2 + } + ], + "signatures": [ + { + "id": 239, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "typeParameter": [ + { + "id": 240, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 241, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 240, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 242, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 243, + "name": "ilikeAnyOf", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` matches any of `patterns` case-insensitively." + }, + "parameters": [ + { + "id": 244, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 245, + "name": "patterns", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The patterns to match with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 254, + "name": "in", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 226, + "character": 2 + } + ], + "signatures": [ + { + "id": 255, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "typeParameter": [ + { + "id": 256, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 257, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 256, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 258, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 256, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 259, + "name": "in", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` is included in the `values` array." + }, + "parameters": [ + { + "id": 260, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 261, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values array to filter with\n" + }, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 246, + "name": "is", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 204, + "character": 2 + } + ], + "signatures": [ + { + "id": 247, + "name": "is", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Match only rows where `column` IS `value`.", + "text": "For non-boolean columns, this is only relevant for checking if the value of\n`column` is NULL by setting `value` to `null`.\n\nFor boolean columns, you can also set `value` to `true` or `false` and it\nwill behave the same way as `.eq()`.\n" + }, + "typeParameter": [ + { + "id": 248, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 249, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The column to filter on" + }, + "type": { + "type": "reference", + "id": 248, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 250, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -5556,12 +5872,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -5578,12 +5894,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -5600,12 +5916,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 219, + "id": 248, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } }, @@ -5621,29 +5937,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 222, + "id": 251, "name": "is", "kind": 4096, "kindString": "Call signature", @@ -5654,7 +5975,7 @@ }, "parameters": [ { - "id": 223, + "id": 252, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5668,7 +5989,7 @@ } }, { - "id": 224, + "id": 253, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -5693,22 +6014,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -5717,7 +6043,7 @@ ] }, { - "id": 169, + "id": 198, "name": "like", "kind": 2048, "kindString": "Method", @@ -5725,13 +6051,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 113, + "line": 114, "character": 2 } ], "signatures": [ { - "id": 170, + "id": 199, "name": "like", "kind": 4096, "kindString": "Call signature", @@ -5741,7 +6067,7 @@ }, "typeParameter": [ { - "id": 171, + "id": 200, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -5754,7 +6080,7 @@ ], "parameters": [ { - "id": 172, + "id": 201, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5764,13 +6090,13 @@ }, "type": { "type": "reference", - "id": 171, + "id": 200, "name": "ColumnName", "dereferenced": {} } }, { - "id": 173, + "id": 202, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -5786,29 +6112,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 174, + "id": 203, "name": "like", "kind": 4096, "kindString": "Call signature", @@ -5818,7 +6149,7 @@ }, "parameters": [ { - "id": 175, + "id": 204, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5832,7 +6163,7 @@ } }, { - "id": 176, + "id": 205, "name": "pattern", "kind": 32768, "kindString": "Parameter", @@ -5848,22 +6179,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -5872,7 +6208,7 @@ ] }, { - "id": 177, + "id": 206, "name": "likeAllOf", "kind": 2048, "kindString": "Method", @@ -5880,13 +6216,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 126, + "line": 127, "character": 2 } ], "signatures": [ { - "id": 178, + "id": 207, "name": "likeAllOf", "kind": 4096, "kindString": "Call signature", @@ -5896,7 +6232,7 @@ }, "typeParameter": [ { - "id": 179, + "id": 208, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -5909,7 +6245,7 @@ ], "parameters": [ { - "id": 180, + "id": 209, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5919,13 +6255,13 @@ }, "type": { "type": "reference", - "id": 179, + "id": 208, "name": "ColumnName", "dereferenced": {} } }, { - "id": 181, + "id": 210, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -5934,39 +6270,48 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 182, + "id": 211, "name": "likeAllOf", "kind": 4096, "kindString": "Call signature", @@ -5976,7 +6321,7 @@ }, "parameters": [ { - "id": 183, + "id": 212, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -5990,7 +6335,7 @@ } }, { - "id": 184, + "id": 213, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -5999,32 +6344,41 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -6033,7 +6387,7 @@ ] }, { - "id": 185, + "id": 214, "name": "likeAnyOf", "kind": 2048, "kindString": "Method", @@ -6041,13 +6395,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 139, + "line": 143, "character": 2 } ], "signatures": [ { - "id": 186, + "id": 215, "name": "likeAnyOf", "kind": 4096, "kindString": "Call signature", @@ -6057,7 +6411,7 @@ }, "typeParameter": [ { - "id": 187, + "id": 216, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -6070,7 +6424,7 @@ ], "parameters": [ { - "id": 188, + "id": 217, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6080,13 +6434,13 @@ }, "type": { "type": "reference", - "id": 187, + "id": 216, "name": "ColumnName", "dereferenced": {} } }, { - "id": 189, + "id": 218, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -6095,39 +6449,48 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 190, + "id": 219, "name": "likeAnyOf", "kind": 4096, "kindString": "Call signature", @@ -6137,7 +6500,7 @@ }, "parameters": [ { - "id": 191, + "id": 220, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6151,7 +6514,7 @@ } }, { - "id": 192, + "id": 221, "name": "patterns", "kind": 32768, "kindString": "Parameter", @@ -6160,32 +6523,41 @@ "shortText": "The patterns to match with\n" }, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -6194,7 +6566,7 @@ ] }, { - "id": 366, + "id": 395, "name": "limit", "kind": 2048, "kindString": "Method", @@ -6202,13 +6574,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 2 } ], "signatures": [ { - "id": 367, + "id": 396, "name": "limit", "kind": 4096, "kindString": "Call signature", @@ -6218,7 +6590,7 @@ }, "parameters": [ { - "id": 368, + "id": 397, "name": "count", "kind": 32768, "kindString": "Parameter", @@ -6232,7 +6604,7 @@ } }, { - "id": 369, + "id": 398, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -6244,14 +6616,14 @@ "type": { "type": "reflection", "declaration": { - "id": 370, + "id": 399, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 371, + "id": 400, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -6264,7 +6636,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 43 } ], @@ -6278,9 +6650,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 371 - ] + "children": [400] } ] } @@ -6290,41 +6660,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 466, + "id": 497, "name": "default.limit" } } ], "inheritedFrom": { "type": "reference", - "id": 465, + "id": 496, "name": "default.limit" } }, { - "id": 153, + "id": 182, "name": "lt", "kind": 2048, "kindString": "Method", @@ -6332,13 +6707,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 87, + "line": 88, "character": 2 } ], "signatures": [ { - "id": 154, + "id": 183, "name": "lt", "kind": 4096, "kindString": "Call signature", @@ -6348,7 +6723,7 @@ }, "typeParameter": [ { - "id": 155, + "id": 184, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -6361,7 +6736,7 @@ ], "parameters": [ { - "id": 156, + "id": 185, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6371,13 +6746,13 @@ }, "type": { "type": "reference", - "id": 155, + "id": 184, "name": "ColumnName", "dereferenced": {} } }, { - "id": 157, + "id": 186, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -6389,12 +6764,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 155, + "id": 184, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -6402,29 +6777,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 158, + "id": 187, "name": "lt", "kind": 4096, "kindString": "Call signature", @@ -6434,7 +6814,7 @@ }, "parameters": [ { - "id": 159, + "id": 188, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6448,7 +6828,7 @@ } }, { - "id": 160, + "id": 189, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -6464,22 +6844,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -6488,7 +6873,7 @@ ] }, { - "id": 161, + "id": 190, "name": "lte", "kind": 2048, "kindString": "Method", @@ -6496,13 +6881,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 100, + "line": 101, "character": 2 } ], "signatures": [ { - "id": 162, + "id": 191, "name": "lte", "kind": 4096, "kindString": "Call signature", @@ -6512,7 +6897,7 @@ }, "typeParameter": [ { - "id": 163, + "id": 192, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -6525,7 +6910,7 @@ ], "parameters": [ { - "id": 164, + "id": 193, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6535,13 +6920,13 @@ }, "type": { "type": "reference", - "id": 163, + "id": 192, "name": "ColumnName", "dereferenced": {} } }, { - "id": 165, + "id": 194, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -6553,12 +6938,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 163, + "id": 192, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -6566,29 +6951,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 166, + "id": 195, "name": "lte", "kind": 4096, "kindString": "Call signature", @@ -6598,7 +6988,7 @@ }, "parameters": [ { - "id": 167, + "id": 196, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6612,7 +7002,7 @@ } }, { - "id": 168, + "id": 197, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -6628,22 +7018,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -6652,7 +7047,7 @@ ] }, { - "id": 313, + "id": 342, "name": "match", "kind": 2048, "kindString": "Method", @@ -6660,13 +7055,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 421, + "line": 437, "character": 2 } ], "signatures": [ { - "id": 314, + "id": 343, "name": "match", "kind": 4096, "kindString": "Call signature", @@ -6676,7 +7071,7 @@ }, "typeParameter": [ { - "id": 315, + "id": 344, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -6689,7 +7084,7 @@ ], "parameters": [ { - "id": 316, + "id": 345, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -6702,19 +7097,19 @@ "typeArguments": [ { "type": "reference", - "id": 315, + "id": 344, "name": "ColumnName" }, { "type": "indexedAccess", "indexType": { "type": "reference", - "id": 315, + "id": 344, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -6727,29 +7122,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 317, + "id": 346, "name": "match", "kind": 4096, "kindString": "Call signature", @@ -6759,7 +7159,7 @@ }, "parameters": [ { - "id": 318, + "id": 347, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -6787,22 +7187,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -6811,7 +7216,7 @@ ] }, { - "id": 385, + "id": 414, "name": "maybeSingle", "kind": 2048, "kindString": "Method", @@ -6819,13 +7224,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, + "line": 154, "character": 2 } ], "signatures": [ { - "id": 386, + "id": 415, "name": "maybeSingle", "kind": 4096, "kindString": "Call signature", @@ -6836,7 +7241,7 @@ }, "typeParameter": [ { - "id": 387, + "id": 416, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -6845,7 +7250,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 119, + "id": 147, "name": "Result" }, "extendsType": { @@ -6868,7 +7273,7 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "union", @@ -6879,7 +7284,7 @@ }, { "type": "reference", - "id": 387, + "id": 416, "name": "ResultOne" } ] @@ -6889,19 +7294,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 485, + "id": 516, "name": "default.maybeSingle" } } ], "inheritedFrom": { "type": "reference", - "id": 484, + "id": 515, "name": "default.maybeSingle" } }, { - "id": 129, + "id": 158, "name": "neq", "kind": 2048, "kindString": "Method", @@ -6909,13 +7314,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 48, + "line": 49, "character": 2 } ], "signatures": [ { - "id": 130, + "id": 159, "name": "neq", "kind": 4096, "kindString": "Call signature", @@ -6925,7 +7330,7 @@ }, "typeParameter": [ { - "id": 131, + "id": 160, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -6938,7 +7343,7 @@ ], "parameters": [ { - "id": 132, + "id": 161, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -6948,13 +7353,13 @@ }, "type": { "type": "reference", - "id": 131, + "id": 160, "name": "ColumnName", "dereferenced": {} } }, { - "id": 133, + "id": 162, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -6966,12 +7371,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 131, + "id": 160, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -6979,29 +7384,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 134, + "id": 163, "name": "neq", "kind": 4096, "kindString": "Call signature", @@ -7011,7 +7421,7 @@ }, "parameters": [ { - "id": 135, + "id": 164, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7025,7 +7435,7 @@ } }, { - "id": 136, + "id": 165, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -7041,22 +7451,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -7065,7 +7480,7 @@ ] }, { - "id": 319, + "id": 348, "name": "not", "kind": 2048, "kindString": "Method", @@ -7073,13 +7488,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 437, + "line": 453, "character": 2 } ], "signatures": [ { - "id": 320, + "id": 349, "name": "not", "kind": 4096, "kindString": "Call signature", @@ -7090,7 +7505,7 @@ }, "typeParameter": [ { - "id": 321, + "id": 350, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -7103,7 +7518,7 @@ ], "parameters": [ { - "id": 322, + "id": 351, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7113,13 +7528,13 @@ }, "type": { "type": "reference", - "id": 321, + "id": 350, "name": "ColumnName", "dereferenced": {} } }, { - "id": 323, + "id": 352, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -7133,7 +7548,7 @@ } }, { - "id": 324, + "id": 353, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -7145,12 +7560,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 321, + "id": 350, "name": "ColumnName" }, "objectType": { "type": "reference", - "id": 118, + "id": 146, "name": "Row" } } @@ -7158,29 +7573,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 325, + "id": 354, "name": "not", "kind": 4096, "kindString": "Call signature", @@ -7191,7 +7611,7 @@ }, "parameters": [ { - "id": 326, + "id": 355, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7205,7 +7625,7 @@ } }, { - "id": 327, + "id": 356, "name": "operator", "kind": 32768, "kindString": "Parameter", @@ -7219,7 +7639,7 @@ } }, { - "id": 328, + "id": 357, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -7235,22 +7655,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -7259,7 +7684,7 @@ ] }, { - "id": 329, + "id": 358, "name": "or", "kind": 2048, "kindString": "Method", @@ -7267,13 +7692,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, + "line": 490, "character": 2 } ], "signatures": [ { - "id": 330, + "id": 359, "name": "or", "kind": 4096, "kindString": "Call signature", @@ -7284,7 +7709,7 @@ }, "parameters": [ { - "id": 331, + "id": 360, "name": "filters", "kind": 32768, "kindString": "Parameter", @@ -7298,7 +7723,7 @@ } }, { - "id": 332, + "id": 361, "name": "foreignTable", "kind": 32768, "kindString": "Parameter", @@ -7310,14 +7735,14 @@ "type": { "type": "reflection", "declaration": { - "id": 333, + "id": 362, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 334, + "id": 363, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -7327,7 +7752,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 474, + "line": 490, "character": 42 } ], @@ -7341,9 +7766,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 334 - ] + "children": [363] } ] } @@ -7353,22 +7776,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -7377,7 +7805,7 @@ ] }, { - "id": 350, + "id": 379, "name": "order", "kind": 2048, "kindString": "Method", @@ -7385,13 +7813,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, + "line": 45, "character": 2 } ], "signatures": [ { - "id": 351, + "id": 380, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -7402,7 +7830,7 @@ }, "typeParameter": [ { - "id": 352, + "id": 381, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -7415,7 +7843,7 @@ ], "parameters": [ { - "id": 353, + "id": 382, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7425,13 +7853,13 @@ }, "type": { "type": "reference", - "id": 352, + "id": 381, "name": "ColumnName", "dereferenced": {} } }, { - "id": 354, + "id": 383, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -7444,14 +7872,14 @@ "type": { "type": "reflection", "declaration": { - "id": 355, + "id": 384, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 356, + "id": 385, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -7464,7 +7892,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 16 } ], @@ -7474,7 +7902,7 @@ } }, { - "id": 358, + "id": 387, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -7487,7 +7915,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 59 } ], @@ -7497,7 +7925,7 @@ } }, { - "id": 357, + "id": 386, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -7510,7 +7938,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 37 } ], @@ -7524,11 +7952,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 356, - 358, - 357 - ] + "children": [385, 387, 386] } ] } @@ -7537,34 +7961,39 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 450, + "id": 481, "name": "default.order" } }, { - "id": 359, + "id": 388, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -7575,7 +8004,7 @@ }, "parameters": [ { - "id": 360, + "id": 389, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7589,7 +8018,7 @@ } }, { - "id": 361, + "id": 390, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -7602,14 +8031,14 @@ "type": { "type": "reflection", "declaration": { - "id": 362, + "id": 391, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 363, + "id": 392, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -7622,7 +8051,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 16 } ], @@ -7632,18 +8061,20 @@ } }, { - "id": 365, + "id": 394, "name": "foreignTable", "kind": 1024, "kindString": "Property", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Set this to order a foreign table by foreign\ncolumns\n" }, "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 59 } ], @@ -7653,7 +8084,7 @@ } }, { - "id": 364, + "id": 393, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -7666,7 +8097,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 37 } ], @@ -7680,11 +8111,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 365, - 364 - ] + "children": [392, 394, 393] } ] } @@ -7693,41 +8120,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 458, + "id": 489, "name": "default.order" } } ], "inheritedFrom": { "type": "reference", - "id": 449, + "id": 480, "name": "default.order" } }, { - "id": 289, + "id": 318, "name": "overlaps", "kind": 2048, "kindString": "Method", @@ -7735,13 +8167,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 360, + "line": 376, "character": 2 } ], "signatures": [ { - "id": 290, + "id": 319, "name": "overlaps", "kind": 4096, "kindString": "Call signature", @@ -7751,7 +8183,7 @@ }, "typeParameter": [ { - "id": 291, + "id": 320, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -7764,7 +8196,7 @@ ], "parameters": [ { - "id": 292, + "id": 321, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7774,13 +8206,13 @@ }, "type": { "type": "reference", - "id": 291, + "id": 320, "name": "ColumnName", "dereferenced": {} } }, { - "id": 293, + "id": 322, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -7796,18 +8228,22 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 291, - "name": "ColumnName" - }, - "objectType": { - "type": "reference", - "id": 118, - "name": "Row" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 320, + "name": "ColumnName" + }, + "objectType": { + "type": "reference", + "id": 146, + "name": "Row" + } } } } @@ -7817,29 +8253,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 294, + "id": 323, "name": "overlaps", "kind": 4096, "kindString": "Call signature", @@ -7849,7 +8290,7 @@ }, "parameters": [ { - "id": 295, + "id": 324, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -7863,7 +8304,7 @@ } }, { - "id": 296, + "id": 325, "name": "value", "kind": 32768, "kindString": "Parameter", @@ -7879,10 +8320,14 @@ "name": "string" }, { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "unknown" + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } } } ] @@ -7891,22 +8336,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -7915,7 +8365,7 @@ ] }, { - "id": 372, + "id": 401, "name": "range", "kind": 2048, "kindString": "Method", @@ -7923,23 +8373,23 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 2 } ], "signatures": [ { - "id": 373, + "id": 402, "name": "range", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." }, "parameters": [ { - "id": 374, + "id": 403, "name": "from", "kind": 32768, "kindString": "Parameter", @@ -7953,7 +8403,7 @@ } }, { - "id": 375, + "id": 404, "name": "to", "kind": 32768, "kindString": "Parameter", @@ -7967,7 +8417,7 @@ } }, { - "id": 376, + "id": 405, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -7979,14 +8429,14 @@ "type": { "type": "reflection", "declaration": { - "id": 377, + "id": 406, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 378, + "id": 407, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -7999,7 +8449,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 54 } ], @@ -8013,9 +8463,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 378 - ] + "children": [407] } ] } @@ -8025,41 +8473,46 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 472, + "id": 503, "name": "default.range" } } ], "inheritedFrom": { "type": "reference", - "id": 471, + "id": 502, "name": "default.range" } }, { - "id": 281, + "id": 310, "name": "rangeAdjacent", "kind": 2048, "kindString": "Method", @@ -8067,13 +8520,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 345, + "line": 361, "character": 2 } ], "signatures": [ { - "id": 282, + "id": 311, "name": "rangeAdjacent", "kind": 4096, "kindString": "Call signature", @@ -8083,7 +8536,7 @@ }, "typeParameter": [ { - "id": 283, + "id": 312, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -8096,7 +8549,7 @@ ], "parameters": [ { - "id": 284, + "id": 313, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8106,11 +8559,243 @@ }, "type": { "type": "reference", - "id": 283, + "id": 312, "name": "ColumnName", "dereferenced": {} } }, + { + "id": 314, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 315, + "name": "rangeAdjacent", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." + }, + "parameters": [ + { + "id": 316, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 317, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 278, + "name": "rangeGt", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestFilterBuilder.ts", + "line": 303, + "character": 2 + } + ], + "signatures": [ + { + "id": 279, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "typeParameter": [ + { + "id": 280, + "name": "ColumnName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 281, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "reference", + "id": 280, + "name": "ColumnName", + "dereferenced": {} + } + }, + { + "id": 282, + "name": "range", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range to filter with\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 145, + "name": "Schema" + }, + { + "type": "reference", + "id": 146, + "name": "Row" + }, + { + "type": "reference", + "id": 147, + "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 283, + "name": "rangeGt", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." + }, + "parameters": [ + { + "id": 284, + "name": "column", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The range column to filter on" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, { "id": 285, "name": "range", @@ -8128,84 +8813,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 286, - "name": "rangeAdjacent", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where `column` is\nmutually exclusive to `range` and there can be no element between the two\nranges." - }, - "parameters": [ - { - "id": 287, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 288, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" }, { "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -8214,162 +8842,7 @@ ] }, { - "id": 249, - "name": "rangeGt", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/PostgrestFilterBuilder.ts", - "line": 287, - "character": 2 - } - ], - "signatures": [ - { - "id": 250, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "typeParameter": [ - { - "id": 251, - "name": "ColumnName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "parameters": [ - { - "id": 252, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "reference", - "id": 251, - "name": "ColumnName", - "dereferenced": {} - } - }, - { - "id": 253, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - }, - { - "id": 254, - "name": "rangeGt", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Only relevant for range columns. Match only rows where every element in\n`column` is greater than any element in `range`." - }, - "parameters": [ - { - "id": 255, - "name": "column", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range column to filter on" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 256, - "name": "range", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The range to filter with\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 114, - "typeArguments": [ - { - "type": "reference", - "id": 117, - "name": "Schema" - }, - { - "type": "reference", - "id": 118, - "name": "Row" - }, - { - "type": "reference", - "id": 119, - "name": "Result" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 257, + "id": 286, "name": "rangeGte", "kind": 2048, "kindString": "Method", @@ -8377,13 +8850,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 301, + "line": 317, "character": 2 } ], "signatures": [ { - "id": 258, + "id": 287, "name": "rangeGte", "kind": 4096, "kindString": "Call signature", @@ -8393,7 +8866,7 @@ }, "typeParameter": [ { - "id": 259, + "id": 288, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -8406,7 +8879,7 @@ ], "parameters": [ { - "id": 260, + "id": 289, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8416,13 +8889,13 @@ }, "type": { "type": "reference", - "id": 259, + "id": 288, "name": "ColumnName", "dereferenced": {} } }, { - "id": 261, + "id": 290, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8438,29 +8911,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 262, + "id": 291, "name": "rangeGte", "kind": 4096, "kindString": "Call signature", @@ -8470,7 +8948,7 @@ }, "parameters": [ { - "id": 263, + "id": 292, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8484,7 +8962,7 @@ } }, { - "id": 264, + "id": 293, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8500,22 +8978,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -8524,7 +9007,7 @@ ] }, { - "id": 265, + "id": 294, "name": "rangeLt", "kind": 2048, "kindString": "Method", @@ -8532,13 +9015,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 316, + "line": 332, "character": 2 } ], "signatures": [ { - "id": 266, + "id": 295, "name": "rangeLt", "kind": 4096, "kindString": "Call signature", @@ -8548,7 +9031,7 @@ }, "typeParameter": [ { - "id": 267, + "id": 296, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -8561,7 +9044,7 @@ ], "parameters": [ { - "id": 268, + "id": 297, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8571,13 +9054,13 @@ }, "type": { "type": "reference", - "id": 267, + "id": 296, "name": "ColumnName", "dereferenced": {} } }, { - "id": 269, + "id": 298, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8593,29 +9076,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 270, + "id": 299, "name": "rangeLt", "kind": 4096, "kindString": "Call signature", @@ -8625,7 +9113,7 @@ }, "parameters": [ { - "id": 271, + "id": 300, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8639,7 +9127,7 @@ } }, { - "id": 272, + "id": 301, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8655,22 +9143,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -8679,7 +9172,7 @@ ] }, { - "id": 273, + "id": 302, "name": "rangeLte", "kind": 2048, "kindString": "Method", @@ -8687,13 +9180,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 330, + "line": 346, "character": 2 } ], "signatures": [ { - "id": 274, + "id": 303, "name": "rangeLte", "kind": 4096, "kindString": "Call signature", @@ -8703,7 +9196,7 @@ }, "typeParameter": [ { - "id": 275, + "id": 304, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -8716,7 +9209,7 @@ ], "parameters": [ { - "id": 276, + "id": 305, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8726,13 +9219,13 @@ }, "type": { "type": "reference", - "id": 275, + "id": 304, "name": "ColumnName", "dereferenced": {} } }, { - "id": 277, + "id": 306, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8748,29 +9241,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 278, + "id": 307, "name": "rangeLte", "kind": 4096, "kindString": "Call signature", @@ -8780,7 +9278,7 @@ }, "parameters": [ { - "id": 279, + "id": 308, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -8794,7 +9292,7 @@ } }, { - "id": 280, + "id": 309, "name": "range", "kind": 32768, "kindString": "Parameter", @@ -8810,22 +9308,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -8834,7 +9337,7 @@ ] }, { - "id": 404, + "id": 433, "name": "returns", "kind": 2048, "kindString": "Method", @@ -8842,13 +9345,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, + "line": 257, "character": 2 } ], "signatures": [ { - "id": 405, + "id": 434, "name": "returns", "kind": 4096, "kindString": "Call signature", @@ -8858,7 +9361,7 @@ }, "typeParameter": [ { - "id": 406, + "id": 435, "name": "NewResult", "kind": 131072, "kindString": "Type parameter", @@ -8870,41 +9373,46 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 406, + "id": 435, "name": "NewResult" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 504, + "id": 535, "name": "default.returns" } } ], "inheritedFrom": { "type": "reference", - "id": 503, + "id": 534, "name": "default.returns" } }, { - "id": 402, + "id": 431, "name": "rollback", "kind": 2048, "kindString": "Method", @@ -8912,13 +9420,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, + "line": 243, "character": 2 } ], "signatures": [ { - "id": 403, + "id": 432, "name": "rollback", "kind": 4096, "kindString": "Call signature", @@ -8929,41 +9437,46 @@ }, "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 502, + "id": 533, "name": "default.rollback" } } ], "inheritedFrom": { "type": "reference", - "id": 501, + "id": 532, "name": "default.rollback" } }, { - "id": 345, + "id": 374, "name": "select", "kind": 2048, "kindString": "Method", @@ -8971,13 +9484,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, + "line": 20, "character": 2 } ], "signatures": [ { - "id": 346, + "id": 375, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -8988,7 +9501,7 @@ }, "typeParameter": [ { - "id": 347, + "id": 376, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -9003,7 +9516,7 @@ } }, { - "id": 348, + "id": 377, "name": "NewResultOne", "kind": 131072, "kindString": "Type parameter", @@ -9013,17 +9526,22 @@ "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 347, + "id": 148, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, "name": "Query" } ], @@ -9033,7 +9551,7 @@ ], "parameters": [ { - "id": 349, + "id": 378, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -9045,7 +9563,7 @@ }, "type": { "type": "reference", - "id": 347, + "id": 376, "name": "Query", "dereferenced": {} } @@ -9053,44 +9571,49 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "array", "elementType": { "type": "reference", - "id": 348, + "id": 377, "name": "NewResultOne" } + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 445, + "id": 476, "name": "default.select" } } ], "inheritedFrom": { "type": "reference", - "id": 444, + "id": 475, "name": "default.select" } }, { - "id": 382, + "id": 411, "name": "single", "kind": 2048, "kindString": "Method", @@ -9098,13 +9621,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, + "line": 141, "character": 2 } ], "signatures": [ { - "id": 383, + "id": 412, "name": "single", "kind": 4096, "kindString": "Call signature", @@ -9115,7 +9638,7 @@ }, "typeParameter": [ { - "id": 384, + "id": 413, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -9124,7 +9647,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 119, + "id": 147, "name": "Result" }, "extendsType": { @@ -9147,11 +9670,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 384, + "id": 413, "name": "ResultOne" } ], @@ -9159,19 +9682,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 482, + "id": 513, "name": "default.single" } } ], "inheritedFrom": { "type": "reference", - "id": 481, + "id": 512, "name": "default.single" } }, { - "id": 297, + "id": 326, "name": "textSearch", "kind": 2048, "kindString": "Method", @@ -9179,13 +9702,13 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 383, + "line": 399, "character": 2 } ], "signatures": [ { - "id": 298, + "id": 327, "name": "textSearch", "kind": 4096, "kindString": "Call signature", @@ -9195,7 +9718,7 @@ }, "typeParameter": [ { - "id": 299, + "id": 328, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -9208,7 +9731,7 @@ ], "parameters": [ { - "id": 300, + "id": 329, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -9218,13 +9741,13 @@ }, "type": { "type": "reference", - "id": 299, + "id": 328, "name": "ColumnName", "dereferenced": {} } }, { - "id": 301, + "id": 330, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -9238,7 +9761,7 @@ } }, { - "id": 302, + "id": 331, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -9251,14 +9774,14 @@ "type": { "type": "reflection", "declaration": { - "id": 303, + "id": 332, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 304, + "id": 333, "name": "config", "kind": 1024, "kindString": "Property", @@ -9271,7 +9794,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, + "line": 402, "character": 16 } ], @@ -9281,7 +9804,7 @@ } }, { - "id": 305, + "id": 334, "name": "type", "kind": 1024, "kindString": "Property", @@ -9294,7 +9817,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 386, + "line": 402, "character": 33 } ], @@ -9321,10 +9844,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 304, - 305 - ] + "children": [333, 334] } ] } @@ -9333,29 +9853,34 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" } }, { - "id": 306, + "id": 335, "name": "textSearch", "kind": 4096, "kindString": "Call signature", @@ -9365,7 +9890,7 @@ }, "parameters": [ { - "id": 307, + "id": 336, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -9379,7 +9904,7 @@ } }, { - "id": 308, + "id": 337, "name": "query", "kind": 32768, "kindString": "Parameter", @@ -9393,7 +9918,7 @@ } }, { - "id": 309, + "id": 338, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -9406,14 +9931,14 @@ "type": { "type": "reflection", "declaration": { - "id": 310, + "id": 339, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 311, + "id": 340, "name": "config", "kind": 1024, "kindString": "Property", @@ -9426,7 +9951,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, + "line": 407, "character": 16 } ], @@ -9436,7 +9961,7 @@ } }, { - "id": 312, + "id": 341, "name": "type", "kind": 1024, "kindString": "Property", @@ -9449,7 +9974,7 @@ "sources": [ { "fileName": "src/PostgrestFilterBuilder.ts", - "line": 391, + "line": 407, "character": 33 } ], @@ -9476,10 +10001,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 311, - 312 - ] + "children": [340, 341] } ] } @@ -9488,22 +10010,27 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -9512,7 +10039,7 @@ ] }, { - "id": 422, + "id": 451, "name": "then", "kind": 2048, "kindString": "Method", @@ -9526,25 +10053,25 @@ ], "signatures": [ { - "id": 423, + "id": 452, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 424, + "id": 453, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], @@ -9552,7 +10079,7 @@ } }, { - "id": 425, + "id": 454, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -9565,7 +10092,7 @@ ], "parameters": [ { - "id": 426, + "id": 455, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -9582,32 +10109,32 @@ { "type": "reflection", "declaration": { - "id": 427, + "id": 456, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 428, + "id": 457, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 429, + "id": 458, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 119, + "id": 147, "name": "Result" } ], @@ -9620,7 +10147,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -9628,7 +10155,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -9646,7 +10173,7 @@ } }, { - "id": 430, + "id": 459, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -9663,21 +10190,21 @@ { "type": "reflection", "declaration": { - "id": 431, + "id": 460, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 432, + "id": 461, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 433, + "id": 462, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -9693,7 +10220,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -9701,7 +10228,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -9727,12 +10254,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -9744,19 +10271,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 522, + "id": 553, "name": "default.then" } } ], "inheritedFrom": { "type": "reference", - "id": 521, + "id": 552, "name": "default.then" } }, { - "id": 420, + "id": 449, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -9770,7 +10297,7 @@ ], "signatures": [ { - "id": 421, + "id": 450, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -9781,36 +10308,41 @@ }, "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 520, + "id": 551, "name": "default.throwOnError" } } ], "inheritedFrom": { "type": "reference", - "id": 519, + "id": 550, "name": "default.throwOnError" } } @@ -9819,70 +10351,20 @@ { "title": "Constructors", "kind": 512, - "children": [ - 115 - ] + "children": [143] }, { "title": "Properties", "kind": 1024, - "children": [ - 411, - 414, - 409, - 419, - 407, - 410, - 412, - 413, - 408 - ] + "children": [440, 443, 438, 448, 436, 439, 441, 442, 437] }, { "title": "Methods", "kind": 2048, "children": [ - 379, - 241, - 233, - 388, - 121, - 392, - 335, - 390, - 137, - 145, - 193, - 201, - 209, - 225, - 217, - 169, - 177, - 185, - 366, - 153, - 161, - 313, - 385, - 129, - 319, - 329, - 350, - 289, - 372, - 281, - 249, - 257, - 265, - 273, - 404, - 402, - 345, - 382, - 297, - 422, - 420 + 408, 270, 262, 417, 150, 421, 364, 419, 166, 174, 222, 230, 238, 254, 246, 198, 206, + 214, 395, 182, 190, 342, 414, 158, 348, 358, 379, 318, 401, 310, 278, 286, 294, 302, + 433, 431, 374, 411, 326, 451, 449 ] } ], @@ -9895,7 +10377,7 @@ ], "typeParameter": [ { - "id": 434, + "id": 463, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -9906,7 +10388,7 @@ } }, { - "id": 435, + "id": 464, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -9929,32 +10411,48 @@ } }, { - "id": 436, + "id": 465, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 466, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "extendedTypes": [ { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 117, + "id": 145, "name": "Schema" }, { "type": "reference", - "id": 118, + "id": 146, "name": "Row" }, { "type": "reference", - "id": 119, + "id": 147, "name": "Result" + }, + { + "type": "reference", + "id": 148, + "name": "Relationships" } ], "name": "default" @@ -9962,14 +10460,14 @@ ] }, { - "id": 49, + "id": 57, "name": "PostgrestQueryBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 50, + "id": 58, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -9977,20 +10475,20 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 16, + "line": 17, "character": 2 } ], "signatures": [ { - "id": 51, + "id": 59, "name": "new PostgrestQueryBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 52, + "id": 60, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -10001,7 +10499,7 @@ } }, { - "id": 53, + "id": 61, "name": "Relation", "kind": 131072, "kindString": "Type parameter", @@ -10019,11 +10517,71 @@ } ] } + }, + { + "id": 64, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 62, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 63, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "reference", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [63] + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } } ], "parameters": [ { - "id": 54, + "id": 65, "name": "url", "kind": 32768, "kindString": "Parameter", @@ -10036,7 +10594,7 @@ } }, { - "id": 55, + "id": 66, "name": "__namedParameters", "kind": 32768, "kindString": "Parameter", @@ -10044,14 +10602,14 @@ "type": { "type": "reflection", "declaration": { - "id": 56, + "id": 67, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 59, + "id": 70, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -10061,28 +10619,28 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 25, + "line": 26, "character": 6 } ], "type": { "type": "reflection", "declaration": { - "id": 60, + "id": 71, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 61, + "id": 72, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 62, + "id": 73, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -10106,7 +10664,7 @@ } }, { - "id": 63, + "id": 74, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -10141,7 +10699,7 @@ } }, { - "id": 57, + "id": 68, "name": "headers", "kind": 1024, "kindString": "Property", @@ -10151,7 +10709,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 23, + "line": 24, "character": 6 } ], @@ -10173,7 +10731,7 @@ } }, { - "id": 58, + "id": 69, "name": "schema", "kind": 1024, "kindString": "Property", @@ -10183,7 +10741,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 24, + "line": 25, "character": 6 } ], @@ -10197,11 +10755,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 59, - 57, - 58 - ] + "children": [70, 68, 69] } ] } @@ -10210,17 +10764,22 @@ ], "type": { "type": "reference", - "id": 49, + "id": 57, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -10229,7 +10788,7 @@ ] }, { - "id": 68, + "id": 79, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -10239,28 +10798,28 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 14, + "line": 15, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 69, + "id": 80, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 70, + "id": 81, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 71, + "id": 82, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -10284,7 +10843,7 @@ } }, { - "id": 72, + "id": 83, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -10319,7 +10878,7 @@ } }, { - "id": 65, + "id": 76, "name": "headers", "kind": 1024, "kindString": "Property", @@ -10327,7 +10886,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 11, + "line": 12, "character": 2 } ], @@ -10349,33 +10908,13 @@ } }, { - "id": 66, + "id": 77, "name": "schema", "kind": 1024, "kindString": "Property", "flags": { "isOptional": true }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 12, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 67, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", @@ -10383,6 +10922,26 @@ "character": 2 } ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 78, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 14, + "character": 2 + } + ], "type": { "type": "reference", "qualifiedName": "AbortSignal", @@ -10391,7 +10950,7 @@ } }, { - "id": 64, + "id": 75, "name": "url", "kind": 1024, "kindString": "Property", @@ -10399,7 +10958,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 10, + "line": 11, "character": 2 } ], @@ -10411,7 +10970,7 @@ } }, { - "id": 107, + "id": 132, "name": "delete", "kind": 2048, "kindString": "Method", @@ -10419,13 +10978,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 319, + "line": 356, "character": 2 } ], "signatures": [ { - "id": 108, + "id": 133, "name": "delete", "kind": 4096, "kindString": "Call signature", @@ -10436,7 +10995,7 @@ }, "parameters": [ { - "id": 109, + "id": 134, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -10448,14 +11007,14 @@ "type": { "type": "reflection", "declaration": { - "id": 110, + "id": 135, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 111, + "id": 136, "name": "count", "kind": 1024, "kindString": "Property", @@ -10468,7 +11027,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 322, + "line": 359, "character": 4 } ], @@ -10495,9 +11054,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 111 - ] + "children": [136] } ] } @@ -10507,11 +11064,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -10522,13 +11079,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -10537,7 +11099,7 @@ ] }, { - "id": 82, + "id": 93, "name": "insert", "kind": 2048, "kindString": "Method", @@ -10545,13 +11107,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 120, + "line": 100, "character": 2 } ], "signatures": [ { - "id": 83, + "id": 94, "name": "insert", "kind": 4096, "kindString": "Call signature", @@ -10562,7 +11124,7 @@ }, "typeParameter": [ { - "id": 84, + "id": 95, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -10587,7 +11149,7 @@ ], "parameters": [ { - "id": 85, + "id": 96, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -10596,45 +11158,34 @@ "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" }, "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 84, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 84, - "name": "Row" - } - } - ] + "type": "reference", + "id": 95, + "name": "Row", + "dereferenced": {} } }, { - "id": 86, + "id": 97, "name": "options", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Named parameters\n" }, - "originalName": "__namedParameters", "type": { "type": "reflection", "declaration": { - "id": 87, + "id": 98, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 88, + "id": 99, "name": "count", "kind": 1024, "kindString": "Property", @@ -10647,7 +11198,163 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 126, + "line": 103, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [99] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 100, + "name": "insert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an INSERT into the table or view.", + "text": "By default, inserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 101, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 102, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to insert. Pass an object to insert a single row\nor an array to insert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 101, + "name": "Row" + } + } + }, + { + "id": 103, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 104, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 105, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count inserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 109, "character": 6 } ], @@ -10670,7 +11377,7 @@ } }, { - "id": 89, + "id": 106, "name": "defaultToNull", "kind": 1024, "kindString": "Property", @@ -10678,12 +11385,12 @@ "isOptional": true }, "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column.\n" + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. Only applies for bulk\ninserts.\n" }, "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 127, + "line": 110, "character": 6 } ], @@ -10697,24 +11404,20 @@ { "title": "Properties", "kind": 1024, - "children": [ - 88, - 89 - ] + "children": [105, 106] } ] } - }, - "defaultValue": "{}" + } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -10725,13 +11428,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -10740,7 +11448,7 @@ ] }, { - "id": 73, + "id": 84, "name": "select", "kind": 2048, "kindString": "Method", @@ -10748,13 +11456,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 55, + "line": 56, "character": 2 } ], "signatures": [ { - "id": 74, + "id": 85, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -10764,7 +11472,7 @@ }, "typeParameter": [ { - "id": 75, + "id": 86, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -10779,7 +11487,7 @@ } }, { - "id": 76, + "id": 87, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -10789,7 +11497,7 @@ "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -10800,13 +11508,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "reference", - "id": 75, + "id": 64, + "name": "Relationships" + }, + { + "type": "reference", + "id": 86, "name": "Query" } ], @@ -10816,7 +11529,7 @@ ], "parameters": [ { - "id": 77, + "id": 88, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -10828,13 +11541,13 @@ }, "type": { "type": "reference", - "id": 75, + "id": 86, "name": "Query", "dereferenced": {} } }, { - "id": 78, + "id": 89, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -10846,14 +11559,14 @@ "type": { "type": "reflection", "declaration": { - "id": 79, + "id": 90, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 81, + "id": 92, "name": "count", "kind": 1024, "kindString": "Property", @@ -10866,7 +11579,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 62, + "line": 66, "character": 6 } ], @@ -10889,7 +11602,7 @@ } }, { - "id": 80, + "id": 91, "name": "head", "kind": 1024, "kindString": "Property", @@ -10902,7 +11615,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 61, + "line": 65, "character": 6 } ], @@ -10916,10 +11629,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 81, - 80 - ] + "children": [92, 91] } ] } @@ -10929,11 +11639,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -10944,7 +11654,7 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, @@ -10952,9 +11662,14 @@ "type": "array", "elementType": { "type": "reference", - "id": 76, + "id": 87, "name": "ResultOne" } + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -10963,7 +11678,7 @@ ] }, { - "id": 100, + "id": 125, "name": "update", "kind": 2048, "kindString": "Method", @@ -10971,13 +11686,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 271, + "line": 308, "character": 2 } ], "signatures": [ { - "id": 101, + "id": 126, "name": "update", "kind": 4096, "kindString": "Call signature", @@ -10988,7 +11703,7 @@ }, "typeParameter": [ { - "id": 102, + "id": 127, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -11013,7 +11728,7 @@ ], "parameters": [ { - "id": 103, + "id": 128, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -11023,13 +11738,13 @@ }, "type": { "type": "reference", - "id": 102, + "id": 127, "name": "Row", "dereferenced": {} } }, { - "id": 104, + "id": 129, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -11041,14 +11756,14 @@ "type": { "type": "reflection", "declaration": { - "id": 105, + "id": 130, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 106, + "id": 131, "name": "count", "kind": 1024, "kindString": "Property", @@ -11061,7 +11776,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 276, + "line": 313, "character": 6 } ], @@ -11088,9 +11803,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 106 - ] + "children": [131] } ] } @@ -11100,11 +11813,11 @@ ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -11115,13 +11828,18 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -11130,7 +11848,7 @@ ] }, { - "id": 90, + "id": 107, "name": "upsert", "kind": 2048, "kindString": "Method", @@ -11138,13 +11856,13 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 201, + "line": 183, "character": 2 } ], "signatures": [ { - "id": 91, + "id": 108, "name": "upsert", "kind": 4096, "kindString": "Call signature", @@ -11155,7 +11873,7 @@ }, "typeParameter": [ { - "id": 92, + "id": 109, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -11180,7 +11898,7 @@ ], "parameters": [ { - "id": 93, + "id": 110, "name": "values", "kind": 32768, "kindString": "Parameter", @@ -11189,45 +11907,34 @@ "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" }, "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 92, - "name": "Row" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "id": 92, - "name": "Row" - } - } - ] + "type": "reference", + "id": 109, + "name": "Row", + "dereferenced": {} } }, { - "id": 94, + "id": 111, "name": "options", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Named parameters\n" }, - "originalName": "__namedParameters", "type": { "type": "reflection", "declaration": { - "id": 95, + "id": 112, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 98, + "id": 115, "name": "count", "kind": 1024, "kindString": "Property", @@ -11240,7 +11947,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 211, + "line": 188, "character": 6 } ], @@ -11263,30 +11970,7 @@ } }, { - "id": 99, - "name": "defaultToNull", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`.\n" - }, - "sources": [ - { - "fileName": "src/PostgrestQueryBuilder.ts", - "line": 212, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 97, + "id": 114, "name": "ignoreDuplicates", "kind": 1024, "kindString": "Property", @@ -11299,7 +11983,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 210, + "line": 187, "character": 6 } ], @@ -11309,7 +11993,7 @@ } }, { - "id": 96, + "id": 113, "name": "onConflict", "kind": 1024, "kindString": "Property", @@ -11322,7 +12006,7 @@ "sources": [ { "fileName": "src/PostgrestQueryBuilder.ts", - "line": 209, + "line": 186, "character": 6 } ], @@ -11336,26 +12020,20 @@ { "title": "Properties", "kind": 1024, - "children": [ - 98, - 99, - 97, - 96 - ] + "children": [115, 114, 113] } ] } - }, - "defaultValue": "{}" + } } ], "type": { "type": "reference", - "id": 114, + "id": 142, "typeArguments": [ { "type": "reference", - "id": 52, + "id": 60, "name": "Schema" }, { @@ -11366,13 +12044,243 @@ }, "objectType": { "type": "reference", - "id": 53, + "id": 61, "name": "Relation" } }, { "type": "literal", "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" + } + ], + "name": "default" + } + }, + { + "id": 116, + "name": "upsert", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform an UPSERT on the table or view. Depending on the column(s) passed\nto `onConflict`, `.upsert()` allows you to perform the equivalent of\n`.insert()` if a row with the corresponding `onConflict` columns doesn't\nexist, or if it does exist, perform an alternative action depending on\n`ignoreDuplicates`.", + "text": "By default, upserted rows are not returned. To return it, chain the call\nwith `.select()`.\n" + }, + "typeParameter": [ + { + "id": 117, + "name": "Row", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "parameters": [ + { + "id": 118, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The values to upsert with. Pass an object to upsert a\nsingle row or an array to upsert multiple rows.\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 117, + "name": "Row" + } + } + }, + { + "id": 119, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 120, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 123, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count upserted rows.\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 196, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 124, + "name": "defaultToNull", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Make missing fields default to `null`.\nOtherwise, use the default value for the column. This only applies when\ninserting new rows, not when merging with existing rows under\n`ignoreDuplicates: false`. This also only applies when doing bulk upserts.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 197, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 122, + "name": "ignoreDuplicates", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If `true`, duplicate rows are ignored. If\n`false`, duplicate rows are merged with existing rows.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 195, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 121, + "name": "onConflict", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Comma-separated UNIQUE column(s) to specify how\nduplicate rows are determined. Two rows are duplicates if all the\n`onConflict` columns are equal.\n" + }, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 194, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [123, 124, 122, 121] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 142, + "typeArguments": [ + { + "type": "reference", + "id": 60, + "name": "Schema" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Row" + }, + "objectType": { + "type": "reference", + "id": 61, + "name": "Relation" + } + }, + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "id": 64, + "name": "Relationships" } ], "name": "default" @@ -11385,31 +12293,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 50 - ] + "children": [58] }, { "title": "Properties", "kind": 1024, - "children": [ - 68, - 65, - 66, - 67, - 64 - ] + "children": [79, 76, 77, 78, 75] }, { "title": "Methods", "kind": 2048, - "children": [ - 107, - 82, - 73, - 100, - 90 - ] + "children": [132, 93, 84, 125, 107] } ], "sources": [ @@ -11421,7 +12315,7 @@ ], "typeParameter": [ { - "id": 112, + "id": 137, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -11432,7 +12326,7 @@ } }, { - "id": 113, + "id": 138, "name": "Relation", "kind": 131072, "kindString": "Type parameter", @@ -11450,32 +12344,99 @@ } ] } + }, + { + "id": 141, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 61, + "name": "Relation" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 139, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 140, + "name": "Relationships", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 37 + } + ], + "type": { + "type": "inferred", + "name": "R" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [140] + } + ], + "sources": [ + { + "fileName": "src/PostgrestQueryBuilder.ts", + "line": 9, + "character": 35 + } + ] + } + }, + "trueType": { + "type": "reference", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } } ] }, { - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder", "kind": 128, "kindString": "Class", "flags": {}, "children": [ { - "id": 438, + "id": 468, "name": "constructor", "kind": 512, "kindString": "Constructor", "flags": {}, "signatures": [ { - "id": 439, + "id": 469, "name": "new PostgrestTransformBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 440, + "id": 470, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -11486,7 +12447,7 @@ } }, { - "id": 441, + "id": 471, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -11509,33 +12470,44 @@ } }, { - "id": 442, + "id": 472, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 473, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "parameters": [ { - "id": 443, + "id": 474, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], "name": "default", "dereferenced": { - "id": 536, + "id": 568, "name": "PostgrestBuilder", "kind": 128, "kindString": "Class", @@ -11544,7 +12516,7 @@ }, "children": [ { - "id": 537, + "id": 569, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -11558,14 +12530,14 @@ ], "signatures": [ { - "id": 538, + "id": 570, "name": "new PostgrestBuilder", "kind": 16384, "kindString": "Constructor signature", "flags": {}, "typeParameter": [ { - "id": 539, + "id": 571, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -11574,18 +12546,18 @@ ], "parameters": [ { - "id": 540, + "id": 572, "name": "builder", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -11596,11 +12568,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -11610,7 +12582,7 @@ ] }, { - "id": 545, + "id": 577, "name": "body", "kind": 1024, "kindString": "Property", @@ -11631,7 +12603,7 @@ } }, { - "id": 548, + "id": 580, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -11648,21 +12620,21 @@ "type": { "type": "reflection", "declaration": { - "id": 549, + "id": 581, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 550, + "id": 582, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 551, + "id": 583, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -11686,7 +12658,7 @@ } }, { - "id": 552, + "id": 584, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -11721,7 +12693,7 @@ } }, { - "id": 543, + "id": 575, "name": "headers", "kind": 1024, "kindString": "Property", @@ -11753,7 +12725,7 @@ } }, { - "id": 553, + "id": 585, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -11773,7 +12745,7 @@ } }, { - "id": 541, + "id": 573, "name": "method", "kind": 1024, "kindString": "Property", @@ -11814,7 +12786,7 @@ } }, { - "id": 544, + "id": 576, "name": "schema", "kind": 1024, "kindString": "Property", @@ -11835,7 +12807,7 @@ } }, { - "id": 546, + "id": 578, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -11856,7 +12828,7 @@ "defaultValue": "false" }, { - "id": 547, + "id": 579, "name": "signal", "kind": 1024, "kindString": "Property", @@ -11879,7 +12851,7 @@ } }, { - "id": 542, + "id": 574, "name": "url", "kind": 1024, "kindString": "Property", @@ -11901,7 +12873,7 @@ } }, { - "id": 556, + "id": 588, "name": "then", "kind": 2048, "kindString": "Method", @@ -11915,25 +12887,25 @@ ], "signatures": [ { - "id": 557, + "id": 589, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 558, + "id": 590, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -11941,7 +12913,7 @@ } }, { - "id": 559, + "id": 591, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -11954,7 +12926,7 @@ ], "parameters": [ { - "id": 560, + "id": 592, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -11971,32 +12943,32 @@ { "type": "reflection", "declaration": { - "id": 561, + "id": 593, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 562, + "id": 594, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 563, + "id": 595, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -12009,7 +12981,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -12017,7 +12989,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -12035,7 +13007,7 @@ } }, { - "id": 564, + "id": 596, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -12052,21 +13024,21 @@ { "type": "reflection", "declaration": { - "id": 565, + "id": 597, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 566, + "id": 598, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 567, + "id": 599, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -12082,7 +13054,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -12090,7 +13062,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -12116,12 +13088,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -12143,7 +13115,7 @@ } }, { - "id": 554, + "id": 586, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -12157,7 +13129,7 @@ ], "signatures": [ { - "id": 555, + "id": 587, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -12168,11 +13140,11 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -12186,32 +13158,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 537 - ] + "children": [569] }, { "title": "Properties", "kind": 1024, - "children": [ - 545, - 548, - 543, - 553, - 541, - 544, - 546, - 547, - 542 - ] + "children": [577, 580, 575, 585, 573, 576, 578, 579, 574] }, { "title": "Methods", "kind": 2048, - "children": [ - 556, - 554 - ] + "children": [588, 586] } ], "sources": [ @@ -12223,7 +13180,7 @@ ], "typeParameter": [ { - "id": 568, + "id": 600, "name": "Result", "kind": 131072, "kindString": "Type parameter", @@ -12233,7 +13190,7 @@ "extendedBy": [ { "type": "reference", - "id": 437, + "id": 467, "name": "PostgrestTransformBuilder" } ], @@ -12243,11 +13200,11 @@ "typeArguments": [ { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 539, + "id": 571, "name": "Result" } ], @@ -12265,41 +13222,46 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 538, + "id": 570, "name": "default.constructor" } } ], "inheritedFrom": { "type": "reference", - "id": 537, + "id": 569, "name": "default.constructor" } }, { - "id": 510, + "id": 541, "name": "body", "kind": 1024, "kindString": "Property", @@ -12320,12 +13282,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 545, + "id": 577, "name": "default.body" } }, { - "id": 513, + "id": 544, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -12342,21 +13304,21 @@ "type": { "type": "reflection", "declaration": { - "id": 514, + "id": 545, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 515, + "id": 546, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 516, + "id": 547, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -12380,7 +13342,7 @@ } }, { - "id": 517, + "id": 548, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -12415,12 +13377,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 548, + "id": 580, "name": "default.fetch" } }, { - "id": 508, + "id": 539, "name": "headers", "kind": 1024, "kindString": "Property", @@ -12452,12 +13414,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 543, + "id": 575, "name": "default.headers" } }, { - "id": 518, + "id": 549, "name": "isMaybeSingle", "kind": 1024, "kindString": "Property", @@ -12477,12 +13439,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 553, + "id": 585, "name": "default.isMaybeSingle" } }, { - "id": 506, + "id": 537, "name": "method", "kind": 1024, "kindString": "Property", @@ -12523,12 +13485,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 541, + "id": 573, "name": "default.method" } }, { - "id": 509, + "id": 540, "name": "schema", "kind": 1024, "kindString": "Property", @@ -12549,12 +13511,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 544, + "id": 576, "name": "default.schema" } }, { - "id": 511, + "id": 542, "name": "shouldThrowOnError", "kind": 1024, "kindString": "Property", @@ -12575,12 +13537,12 @@ "defaultValue": "false", "inheritedFrom": { "type": "reference", - "id": 546, + "id": 578, "name": "default.shouldThrowOnError" } }, { - "id": 512, + "id": 543, "name": "signal", "kind": 1024, "kindString": "Property", @@ -12603,12 +13565,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 547, + "id": 579, "name": "default.signal" } }, { - "id": 507, + "id": 538, "name": "url", "kind": 1024, "kindString": "Property", @@ -12630,12 +13592,12 @@ }, "inheritedFrom": { "type": "reference", - "id": 542, + "id": 574, "name": "default.url" } }, { - "id": 478, + "id": 509, "name": "abortSignal", "kind": 2048, "kindString": "Method", @@ -12643,13 +13605,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 125, + "line": 130, "character": 2 } ], "signatures": [ { - "id": 479, + "id": 510, "name": "abortSignal", "kind": 4096, "kindString": "Call signature", @@ -12659,7 +13621,7 @@ }, "parameters": [ { - "id": 480, + "id": 511, "name": "signal", "kind": 32768, "kindString": "Parameter", @@ -12677,22 +13639,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -12701,7 +13668,7 @@ ] }, { - "id": 487, + "id": 518, "name": "csv", "kind": 2048, "kindString": "Method", @@ -12709,13 +13676,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 166, + "line": 171, "character": 2 } ], "signatures": [ { - "id": 488, + "id": 519, "name": "csv", "kind": 4096, "kindString": "Call signature", @@ -12725,7 +13692,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -12738,7 +13705,7 @@ ] }, { - "id": 491, + "id": 522, "name": "explain", "kind": 2048, "kindString": "Method", @@ -12746,13 +13713,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 200, + "line": 205, "character": 2 } ], "signatures": [ { - "id": 492, + "id": 523, "name": "explain", "kind": 4096, "kindString": "Call signature", @@ -12762,7 +13729,7 @@ }, "parameters": [ { - "id": 493, + "id": 524, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -12774,14 +13741,14 @@ "type": { "type": "reflection", "declaration": { - "id": 494, + "id": 525, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 495, + "id": 526, "name": "analyze", "kind": 1024, "kindString": "Property", @@ -12794,7 +13761,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 208, + "line": 213, "character": 4 } ], @@ -12804,7 +13771,7 @@ } }, { - "id": 498, + "id": 529, "name": "buffers", "kind": 1024, "kindString": "Property", @@ -12817,7 +13784,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 211, + "line": 216, "character": 4 } ], @@ -12827,7 +13794,7 @@ } }, { - "id": 500, + "id": 531, "name": "format", "kind": 1024, "kindString": "Property", @@ -12840,7 +13807,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 213, + "line": 218, "character": 4 } ], @@ -12859,7 +13826,7 @@ } }, { - "id": 497, + "id": 528, "name": "settings", "kind": 1024, "kindString": "Property", @@ -12872,7 +13839,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 210, + "line": 215, "character": 4 } ], @@ -12882,7 +13849,7 @@ } }, { - "id": 496, + "id": 527, "name": "verbose", "kind": 1024, "kindString": "Property", @@ -12895,7 +13862,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 209, + "line": 214, "character": 4 } ], @@ -12905,7 +13872,7 @@ } }, { - "id": 499, + "id": 530, "name": "wal", "kind": 1024, "kindString": "Property", @@ -12918,7 +13885,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 212, + "line": 217, "character": 4 } ], @@ -12932,14 +13899,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 495, - 498, - 500, - 497, - 496, - 499 - ] + "children": [526, 529, 531, 528, 527, 530] } ] } @@ -12952,7 +13912,7 @@ "types": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "intrinsic", @@ -12963,7 +13923,7 @@ }, { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "array", @@ -12993,7 +13953,7 @@ ] }, { - "id": 489, + "id": 520, "name": "geojson", "kind": 2048, "kindString": "Method", @@ -13001,13 +13961,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 174, + "line": 179, "character": 2 } ], "signatures": [ { - "id": 490, + "id": 521, "name": "geojson", "kind": 4096, "kindString": "Call signature", @@ -13017,7 +13977,7 @@ }, "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", @@ -13042,7 +14002,7 @@ ] }, { - "id": 465, + "id": 496, "name": "limit", "kind": 2048, "kindString": "Method", @@ -13050,13 +14010,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 2 } ], "signatures": [ { - "id": 466, + "id": 497, "name": "limit", "kind": 4096, "kindString": "Call signature", @@ -13066,7 +14026,7 @@ }, "parameters": [ { - "id": 467, + "id": 498, "name": "count", "kind": 32768, "kindString": "Parameter", @@ -13080,7 +14040,7 @@ } }, { - "id": 468, + "id": 499, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13092,14 +14052,14 @@ "type": { "type": "reflection", "declaration": { - "id": 469, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 470, + "id": 501, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -13112,7 +14072,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 96, + "line": 97, "character": 43 } ], @@ -13126,9 +14086,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 470 - ] + "children": [501] } ] } @@ -13138,22 +14096,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13162,7 +14125,7 @@ ] }, { - "id": 484, + "id": 515, "name": "maybeSingle", "kind": 2048, "kindString": "Method", @@ -13170,13 +14133,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 149, + "line": 154, "character": 2 } ], "signatures": [ { - "id": 485, + "id": 516, "name": "maybeSingle", "kind": 4096, "kindString": "Call signature", @@ -13187,7 +14150,7 @@ }, "typeParameter": [ { - "id": 486, + "id": 517, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -13196,7 +14159,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 442, + "id": 472, "name": "Result" }, "extendsType": { @@ -13219,7 +14182,7 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "union", @@ -13230,7 +14193,7 @@ }, { "type": "reference", - "id": 387, + "id": 416, "name": "ResultOne" } ] @@ -13242,7 +14205,7 @@ ] }, { - "id": 449, + "id": 480, "name": "order", "kind": 2048, "kindString": "Method", @@ -13250,13 +14213,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 44, + "line": 45, "character": 2 } ], "signatures": [ { - "id": 450, + "id": 481, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -13267,7 +14230,7 @@ }, "typeParameter": [ { - "id": 451, + "id": 482, "name": "ColumnName", "kind": 131072, "kindString": "Type parameter", @@ -13280,7 +14243,7 @@ ], "parameters": [ { - "id": 452, + "id": 483, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -13290,13 +14253,13 @@ }, "type": { "type": "reference", - "id": 352, + "id": 381, "name": "ColumnName", "dereferenced": {} } }, { - "id": 453, + "id": 484, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13309,14 +14272,14 @@ "type": { "type": "reflection", "declaration": { - "id": 454, + "id": 485, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 455, + "id": 486, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -13329,7 +14292,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 16 } ], @@ -13339,7 +14302,7 @@ } }, { - "id": 457, + "id": 488, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -13352,7 +14315,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 59 } ], @@ -13362,7 +14325,7 @@ } }, { - "id": 456, + "id": 487, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -13375,7 +14338,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 46, + "line": 47, "character": 37 } ], @@ -13389,11 +14352,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 455, - 457, - 456 - ] + "children": [486, 488, 487] } ] } @@ -13402,29 +14361,34 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" } }, { - "id": 458, + "id": 489, "name": "order", "kind": 4096, "kindString": "Call signature", @@ -13435,7 +14399,7 @@ }, "parameters": [ { - "id": 459, + "id": 490, "name": "column", "kind": 32768, "kindString": "Parameter", @@ -13449,7 +14413,7 @@ } }, { - "id": 460, + "id": 491, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13462,14 +14426,14 @@ "type": { "type": "reflection", "declaration": { - "id": 461, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 462, + "id": 493, "name": "ascending", "kind": 1024, "kindString": "Property", @@ -13482,7 +14446,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 16 } ], @@ -13492,18 +14456,20 @@ } }, { - "id": 464, + "id": 495, "name": "foreignTable", "kind": 1024, "kindString": "Property", - "flags": {}, + "flags": { + "isOptional": true + }, "comment": { "shortText": "Set this to order a foreign table by foreign\ncolumns\n" }, "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 59 } ], @@ -13513,7 +14479,7 @@ } }, { - "id": 463, + "id": 494, "name": "nullsFirst", "kind": 1024, "kindString": "Property", @@ -13526,7 +14492,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 50, + "line": 51, "character": 37 } ], @@ -13540,11 +14506,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 462, - 464, - 463 - ] + "children": [493, 495, 494] } ] } @@ -13553,22 +14515,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13577,7 +14544,7 @@ ] }, { - "id": 471, + "id": 502, "name": "range", "kind": 2048, "kindString": "Method", @@ -13585,23 +14552,23 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 2 } ], "signatures": [ { - "id": 472, + "id": 503, "name": "range", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Limit the query result by `from` and `to` inclusively." + "shortText": "Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`).\nOnly records within this range are returned.\nThis respects the query order and if there is no order clause the range could behave unexpectedly.\nThe `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third\nand fourth rows of the query." }, "parameters": [ { - "id": 473, + "id": 504, "name": "from", "kind": 32768, "kindString": "Parameter", @@ -13615,7 +14582,7 @@ } }, { - "id": 474, + "id": 505, "name": "to", "kind": 32768, "kindString": "Parameter", @@ -13629,7 +14596,7 @@ } }, { - "id": 475, + "id": 506, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -13641,14 +14608,14 @@ "type": { "type": "reflection", "declaration": { - "id": 476, + "id": 507, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 477, + "id": 508, "name": "foreignTable", "kind": 1024, "kindString": "Property", @@ -13661,7 +14628,7 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 111, + "line": 116, "character": 54 } ], @@ -13675,9 +14642,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 477 - ] + "children": [508] } ] } @@ -13687,22 +14652,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13711,7 +14681,7 @@ ] }, { - "id": 503, + "id": 534, "name": "returns", "kind": 2048, "kindString": "Method", @@ -13719,13 +14689,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 252, + "line": 257, "character": 2 } ], "signatures": [ { - "id": 504, + "id": 535, "name": "returns", "kind": 4096, "kindString": "Call signature", @@ -13735,7 +14705,7 @@ }, "typeParameter": [ { - "id": 505, + "id": 536, "name": "NewResult", "kind": 131072, "kindString": "Type parameter", @@ -13747,22 +14717,27 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 406, + "id": 435, "name": "NewResult" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13771,7 +14746,7 @@ ] }, { - "id": 501, + "id": 532, "name": "rollback", "kind": 2048, "kindString": "Method", @@ -13779,13 +14754,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 238, + "line": 243, "character": 2 } ], "signatures": [ { - "id": 502, + "id": 533, "name": "rollback", "kind": 4096, "kindString": "Call signature", @@ -13796,22 +14771,27 @@ }, "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13820,7 +14800,7 @@ ] }, { - "id": 444, + "id": 475, "name": "select", "kind": 2048, "kindString": "Method", @@ -13828,13 +14808,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 19, + "line": 20, "character": 2 } ], "signatures": [ { - "id": 445, + "id": 476, "name": "select", "kind": 4096, "kindString": "Call signature", @@ -13845,7 +14825,7 @@ }, "typeParameter": [ { - "id": 446, + "id": 477, "name": "Query", "kind": 131072, "kindString": "Type parameter", @@ -13860,7 +14840,7 @@ } }, { - "id": 447, + "id": 478, "name": "NewResultOne", "kind": 131072, "kindString": "Type parameter", @@ -13870,17 +14850,22 @@ "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 347, + "id": 473, + "name": "Relationships" + }, + { + "type": "reference", + "id": 376, "name": "Query" } ], @@ -13890,7 +14875,7 @@ ], "parameters": [ { - "id": 448, + "id": 479, "name": "columns", "kind": 32768, "kindString": "Parameter", @@ -13902,7 +14887,7 @@ }, "type": { "type": "reference", - "id": 347, + "id": 376, "name": "Query", "dereferenced": {} } @@ -13910,25 +14895,30 @@ ], "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "array", "elementType": { "type": "reference", - "id": 348, + "id": 377, "name": "NewResultOne" } + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" @@ -13937,7 +14927,7 @@ ] }, { - "id": 481, + "id": 512, "name": "single", "kind": 2048, "kindString": "Method", @@ -13945,13 +14935,13 @@ "sources": [ { "fileName": "src/PostgrestTransformBuilder.ts", - "line": 136, + "line": 141, "character": 2 } ], "signatures": [ { - "id": 482, + "id": 513, "name": "single", "kind": 4096, "kindString": "Call signature", @@ -13962,7 +14952,7 @@ }, "typeParameter": [ { - "id": 483, + "id": 514, "name": "ResultOne", "kind": 131072, "kindString": "Type parameter", @@ -13971,7 +14961,7 @@ "type": "conditional", "checkType": { "type": "reference", - "id": 442, + "id": 472, "name": "Result" }, "extendsType": { @@ -13994,11 +14984,11 @@ ], "type": { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 384, + "id": 413, "name": "ResultOne" } ], @@ -14008,7 +14998,7 @@ ] }, { - "id": 521, + "id": 552, "name": "then", "kind": 2048, "kindString": "Method", @@ -14022,25 +15012,25 @@ ], "signatures": [ { - "id": 522, + "id": 553, "name": "then", "kind": 4096, "kindString": "Call signature", "flags": {}, "typeParameter": [ { - "id": 523, + "id": 554, "name": "TResult1", "kind": 131072, "kindString": "Type parameter", "flags": {}, "default": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -14048,7 +15038,7 @@ } }, { - "id": 524, + "id": 555, "name": "TResult2", "kind": 131072, "kindString": "Type parameter", @@ -14061,7 +15051,7 @@ ], "parameters": [ { - "id": 525, + "id": 556, "name": "onfulfilled", "kind": 32768, "kindString": "Parameter", @@ -14078,32 +15068,32 @@ { "type": "reflection", "declaration": { - "id": 526, + "id": 557, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 527, + "id": 558, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 559, "name": "value", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -14116,7 +15106,7 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { @@ -14124,7 +15114,7 @@ "typeArguments": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" } ], @@ -14142,7 +15132,7 @@ } }, { - "id": 529, + "id": 560, "name": "onrejected", "kind": 32768, "kindString": "Parameter", @@ -14159,21 +15149,21 @@ { "type": "reflection", "declaration": { - "id": 530, + "id": 561, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 531, + "id": 562, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 532, + "id": 563, "name": "reason", "kind": 32768, "kindString": "Parameter", @@ -14189,7 +15179,7 @@ "types": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" }, { @@ -14197,7 +15187,7 @@ "typeArguments": [ { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ], @@ -14223,12 +15213,12 @@ "types": [ { "type": "reference", - "id": 424, + "id": 453, "name": "TResult1" }, { "type": "reference", - "id": 425, + "id": 454, "name": "TResult2" } ] @@ -14240,19 +15230,19 @@ }, "inheritedFrom": { "type": "reference", - "id": 557, + "id": 589, "name": "default.then" } } ], "inheritedFrom": { "type": "reference", - "id": 556, + "id": 588, "name": "default.then" } }, { - "id": 519, + "id": 550, "name": "throwOnError", "kind": 2048, "kindString": "Method", @@ -14266,7 +15256,7 @@ ], "signatures": [ { - "id": 520, + "id": 551, "name": "throwOnError", "kind": 4096, "kindString": "Call signature", @@ -14277,36 +15267,41 @@ }, "type": { "type": "reference", - "id": 437, + "id": 467, "typeArguments": [ { "type": "reference", - "id": 440, + "id": 470, "name": "Schema" }, { "type": "reference", - "id": 441, + "id": 471, "name": "Row" }, { "type": "reference", - "id": 442, + "id": 472, "name": "Result" + }, + { + "type": "reference", + "id": 473, + "name": "Relationships" } ], "name": "default" }, "inheritedFrom": { "type": "reference", - "id": 555, + "id": 587, "name": "default.throwOnError" } } ], "inheritedFrom": { "type": "reference", - "id": 554, + "id": 586, "name": "default.throwOnError" } } @@ -14315,44 +15310,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 438 - ] + "children": [468] }, { "title": "Properties", "kind": 1024, - "children": [ - 510, - 513, - 508, - 518, - 506, - 509, - 511, - 512, - 507 - ] + "children": [541, 544, 539, 549, 537, 540, 542, 543, 538] }, { "title": "Methods", "kind": 2048, - "children": [ - 478, - 487, - 491, - 489, - 465, - 484, - 449, - 471, - 503, - 501, - 444, - 481, - 521, - 519 - ] + "children": [509, 518, 522, 520, 496, 515, 480, 502, 534, 532, 475, 512, 552, 550] } ], "sources": [ @@ -14364,7 +15332,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 564, "name": "Schema", "kind": 131072, "kindString": "Type parameter", @@ -14375,7 +15343,7 @@ } }, { - "id": 534, + "id": 565, "name": "Row", "kind": 131072, "kindString": "Type parameter", @@ -14398,21 +15366,32 @@ } }, { - "id": 535, + "id": 566, "name": "Result", "kind": 131072, "kindString": "Type parameter", "flags": {} + }, + { + "id": 567, + "name": "Relationships", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } } ], "extendedTypes": [ { "type": "reference", - "id": 536, + "id": 568, "typeArguments": [ { "type": "reference", - "id": 442, + "id": 472, "name": "Result" } ], @@ -14422,20 +15401,20 @@ "extendedBy": [ { "type": "reference", - "id": 114, + "id": 142, "name": "PostgrestFilterBuilder" } ] }, { - "id": 571, + "id": 603, "name": "PostgrestResponseFailure", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 574, + "id": 606, "name": "count", "kind": 1024, "kindString": "Property", @@ -14453,7 +15432,7 @@ } }, { - "id": 573, + "id": 605, "name": "data", "kind": 1024, "kindString": "Property", @@ -14471,7 +15450,7 @@ } }, { - "id": 572, + "id": 604, "name": "error", "kind": 1024, "kindString": "Property", @@ -14485,10 +15464,10 @@ ], "type": { "type": "reference", - "id": 588, + "id": 620, "name": "PostgrestError", "dereferenced": { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -14507,14 +15486,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -14532,7 +15511,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -14550,7 +15529,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -14568,7 +15547,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -14590,12 +15569,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -14611,7 +15585,7 @@ } }, { - "id": 575, + "id": 607, "name": "status", "kind": 1024, "kindString": "Property", @@ -14633,7 +15607,7 @@ } }, { - "id": 576, + "id": 608, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -14659,13 +15633,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574, - 573, - 572, - 575, - 576 - ] + "children": [606, 605, 604, 607, 608] } ], "sources": [ @@ -14683,14 +15651,14 @@ ] }, { - "id": 577, + "id": 609, "name": "PostgrestResponseSuccess", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 580, + "id": 612, "name": "count", "kind": 1024, "kindString": "Property", @@ -14717,7 +15685,7 @@ } }, { - "id": 579, + "id": 611, "name": "data", "kind": 1024, "kindString": "Property", @@ -14731,13 +15699,13 @@ ], "type": { "type": "reference", - "id": 583, + "id": 615, "name": "T", "dereferenced": {} } }, { - "id": 578, + "id": 610, "name": "error", "kind": 1024, "kindString": "Property", @@ -14755,7 +15723,7 @@ } }, { - "id": 581, + "id": 613, "name": "status", "kind": 1024, "kindString": "Property", @@ -14777,7 +15745,7 @@ } }, { - "id": 582, + "id": 614, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -14803,13 +15771,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 580, - 579, - 578, - 581, - 582 - ] + "children": [612, 611, 610, 613, 614] } ], "sources": [ @@ -14821,7 +15783,7 @@ ], "typeParameter": [ { - "id": 583, + "id": 615, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -14836,7 +15798,7 @@ ] }, { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -14855,14 +15817,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -14880,7 +15842,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -14898,7 +15860,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -14916,7 +15878,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -14938,12 +15900,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -14957,7 +15914,7 @@ } }, { - "id": 586, + "id": 618, "name": "PostgrestMaybeSingleResponse", "kind": 4194304, "kindString": "Type alias", @@ -14971,7 +15928,7 @@ ], "typeParameter": [ { - "id": 587, + "id": 619, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -14980,14 +15937,14 @@ ], "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "union", "types": [ { "type": "reference", - "id": 587, + "id": 619, "name": "T" }, { @@ -15001,7 +15958,7 @@ } }, { - "id": 569, + "id": 601, "name": "PostgrestResponse", "kind": 4194304, "kindString": "Type alias", @@ -15015,7 +15972,7 @@ ], "typeParameter": [ { - "id": 570, + "id": 602, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -15024,13 +15981,13 @@ ], "type": { "type": "reference", - "id": 584, + "id": 616, "typeArguments": [ { "type": "array", "elementType": { "type": "reference", - "id": 570, + "id": 602, "name": "T" } } @@ -15039,7 +15996,7 @@ } }, { - "id": 584, + "id": 616, "name": "PostgrestSingleResponse", "kind": 4194304, "kindString": "Type alias", @@ -15053,7 +16010,7 @@ ], "typeParameter": [ { - "id": 585, + "id": 617, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -15064,14 +16021,14 @@ "type": "union", "types": [ { - "id": 577, + "id": 609, "name": "PostgrestResponseSuccess", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 580, + "id": 612, "name": "count", "kind": 1024, "kindString": "Property", @@ -15098,7 +16055,7 @@ } }, { - "id": 579, + "id": 611, "name": "data", "kind": 1024, "kindString": "Property", @@ -15112,13 +16069,13 @@ ], "type": { "type": "reference", - "id": 583, + "id": 615, "name": "T", "dereferenced": {} } }, { - "id": 578, + "id": 610, "name": "error", "kind": 1024, "kindString": "Property", @@ -15136,7 +16093,7 @@ } }, { - "id": 581, + "id": 613, "name": "status", "kind": 1024, "kindString": "Property", @@ -15158,7 +16115,7 @@ } }, { - "id": 582, + "id": 614, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -15184,13 +16141,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 580, - 579, - 578, - 581, - 582 - ] + "children": [612, 611, 610, 613, 614] } ], "sources": [ @@ -15202,7 +16153,7 @@ ], "typeParameter": [ { - "id": 583, + "id": 615, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -15217,14 +16168,14 @@ ] }, { - "id": 571, + "id": 603, "name": "PostgrestResponseFailure", "kind": 256, "kindString": "Interface", "flags": {}, "children": [ { - "id": 574, + "id": 606, "name": "count", "kind": 1024, "kindString": "Property", @@ -15242,7 +16193,7 @@ } }, { - "id": 573, + "id": 605, "name": "data", "kind": 1024, "kindString": "Property", @@ -15260,7 +16211,7 @@ } }, { - "id": 572, + "id": 604, "name": "error", "kind": 1024, "kindString": "Property", @@ -15274,10 +16225,10 @@ ], "type": { "type": "reference", - "id": 588, + "id": 620, "name": "PostgrestError", "dereferenced": { - "id": 588, + "id": 620, "name": "PostgrestError", "kind": 4194304, "kindString": "Type alias", @@ -15296,14 +16247,14 @@ "type": { "type": "reflection", "declaration": { - "id": 589, + "id": 621, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 593, + "id": 625, "name": "code", "kind": 1024, "kindString": "Property", @@ -15321,7 +16272,7 @@ } }, { - "id": 591, + "id": 623, "name": "details", "kind": 1024, "kindString": "Property", @@ -15339,7 +16290,7 @@ } }, { - "id": 592, + "id": 624, "name": "hint", "kind": 1024, "kindString": "Property", @@ -15357,7 +16308,7 @@ } }, { - "id": 590, + "id": 622, "name": "message", "kind": 1024, "kindString": "Property", @@ -15379,12 +16330,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 593, - 591, - 592, - 590 - ] + "children": [625, 623, 624, 622] } ], "sources": [ @@ -15400,7 +16346,7 @@ } }, { - "id": 575, + "id": 607, "name": "status", "kind": 1024, "kindString": "Property", @@ -15422,7 +16368,7 @@ } }, { - "id": 576, + "id": 608, "name": "statusText", "kind": 1024, "kindString": "Property", @@ -15448,13 +16394,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 574, - 573, - 572, - 575, - 576 - ] + "children": [606, 605, 604, 607, 608] } ], "sources": [ @@ -15479,31 +16419,17 @@ { "title": "Classes", "kind": 128, - "children": [ - 536, - 1, - 114, - 49, - 437 - ] + "children": [568, 1, 142, 57, 467] }, { "title": "Interfaces", "kind": 256, - "children": [ - 571, - 577 - ] + "children": [603, 609] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 588, - 586, - 569, - 584 - ] + "children": [620, 618, 601, 616] } ], "sources": [ @@ -15513,4 +16439,4 @@ "character": 0 } ] -} \ No newline at end of file +} diff --git a/spec/enrichments/tsdoc_v2/realtime.json b/spec/enrichments/tsdoc_v2/realtime.json index 050af38f70e..112773e7f94 100644 --- a/spec/enrichments/tsdoc_v2/realtime.json +++ b/spec/enrichments/tsdoc_v2/realtime.json @@ -1,6492 +1,6342 @@ { - "id": 0, - "name": "@supabase/realtime-js", - "kind": 1, - "kindString": "Project", - "flags": {}, - "originalName": "", - "children": [ - { - "id": 535, - "name": "REALTIME_LISTEN_TYPES", - "kind": 8, - "kindString": "Enumeration", - "flags": {}, - "children": [ - { - "id": 536, - "name": "BROADCAST", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 93, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "broadcast" - }, - "defaultValue": "\"broadcast\"" - }, - { - "id": 538, - "name": "POSTGRES_CHANGES", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "comment": { - "shortText": "listen to Postgres changes." - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 98, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "postgres_changes" - }, - "defaultValue": "\"postgres_changes\"" - }, - { - "id": 537, - "name": "PRESENCE", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 94, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "presence" - }, - "defaultValue": "\"presence\"" - } - ], - "groups": [ - { - "title": "Enumeration Members", - "kind": 16, - "children": [ - 536, - 538, - 537 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 92, - "character": 12 - } - ] - }, - { - "id": 539, - "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", - "kind": 8, - "kindString": "Enumeration", - "flags": {}, - "children": [ - { - "id": 540, - "name": "ALL", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 86, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "*" - }, - "defaultValue": "\"*\"" - }, - { - "id": 543, - "name": "DELETE", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 89, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "DELETE" - }, - "defaultValue": "\"DELETE\"" - }, - { - "id": 541, - "name": "INSERT", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 87, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "INSERT" - }, - "defaultValue": "\"INSERT\"" - }, - { - "id": 542, - "name": "UPDATE", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 88, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "UPDATE" - }, - "defaultValue": "\"UPDATE\"" - } - ], - "groups": [ - { - "title": "Enumeration Members", - "kind": 16, - "children": [ - 540, - 543, - 541, - 542 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 85, - "character": 12 - } - ] - }, - { - "id": 544, - "name": "REALTIME_PRESENCE_LISTEN_EVENTS", - "kind": 8, - "kindString": "Enumeration", - "flags": {}, - "children": [ - { - "id": 546, - "name": "JOIN", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 37, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "join" - }, - "defaultValue": "\"join\"" - }, - { - "id": 547, - "name": "LEAVE", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 38, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "leave" - }, - "defaultValue": "\"leave\"" - }, - { - "id": 545, - "name": "SYNC", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 36, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "sync" - }, - "defaultValue": "\"sync\"" - } - ], - "groups": [ - { - "title": "Enumeration Members", - "kind": 16, - "children": [ - 546, - 547, - 545 - ] - } - ], - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 35, - "character": 12 - } - ] - }, - { - "id": 548, - "name": "REALTIME_SUBSCRIBE_STATES", - "kind": 8, - "kindString": "Enumeration", - "flags": {}, - "children": [ - { - "id": 552, - "name": "CHANNEL_ERROR", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 105, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "CHANNEL_ERROR" - }, - "defaultValue": "\"CHANNEL_ERROR\"" - }, - { - "id": 551, - "name": "CLOSED", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 104, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "CLOSED" - }, - "defaultValue": "\"CLOSED\"" - }, - { - "id": 549, - "name": "SUBSCRIBED", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 102, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "SUBSCRIBED" - }, - "defaultValue": "\"SUBSCRIBED\"" - }, - { - "id": 550, - "name": "TIMED_OUT", - "kind": 16, - "kindString": "Enumeration Member", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 103, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "TIMED_OUT" - }, - "defaultValue": "\"TIMED_OUT\"" - } - ], - "groups": [ - { - "title": "Enumeration Members", - "kind": 16, - "children": [ - 552, - 551, - 549, - 550 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 101, - "character": 12 - } - ] - }, - { - "id": 64, - "name": "RealtimeChannel", - "kind": 128, - "kindString": "Class", - "flags": {}, - "comment": { - "shortText": "A channel is the basic building block of Realtime\nand narrows the scope of data flow to subscribed clients.\nYou can think of a channel as a chatroom where participants are able to see who's online\nand send and receive messages." - }, - "children": [ - { - "id": 75, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 130, - "character": 2 - } - ], - "signatures": [ - { - "id": 76, - "name": "new RealtimeChannel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 77, - "name": "topic", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 78, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 316, - "name": "RealtimeChannelOptions" - }, - "defaultValue": "..." - }, - { - "id": 79, - "name": "socket", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 328, - "name": "default" - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - } - ] - }, - { - "id": 80, - "name": "bindings", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 114, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 82, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 83, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reflection", - "declaration": { - "id": 84, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 90, - "name": "callback", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 118, - "character": 6 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 86, - "name": "filter", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 117, - "character": 6 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 87, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 117, - "character": 14 - } - ], - "indexSignature": { - "id": 88, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 89, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 91, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 119, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 85, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 116, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 115, - "character": 19 - } - ] - } - } - } - } - } - }, - "defaultValue": "{}" - }, - { - "id": 95, - "name": "joinPush", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 125, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "default" - } - }, - { - "id": 94, - "name": "joinedOnce", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 124, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - }, - { - "id": 100, - "name": "params", - "kind": 1024, - "kindString": "Property", - "flags": { - "isPublic": true - }, - "type": { - "type": "reference", - "id": 316, - "name": "RealtimeChannelOptions" - }, - "defaultValue": "..." - }, - { - "id": 98, - "name": "presence", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 128, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 1, - "name": "default" - } - }, - { - "id": 97, - "name": "pushBuffer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 127, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "name": "default" - } - }, - "defaultValue": "[]" - }, - { - "id": 96, - "name": "rejoinTimer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 126, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "default" - } - }, - { - "id": 101, - "name": "socket", - "kind": 1024, - "kindString": "Property", - "flags": { - "isPublic": true - }, - "type": { - "type": "reference", - "id": 328, - "name": "default" - } - }, - { - "id": 93, - "name": "state", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 123, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "CHANNEL_STATES" - }, - "defaultValue": "CHANNEL_STATES.closed" - }, - { - "id": 92, - "name": "timeout", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 122, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 99, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": { - "isPublic": true - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 133, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 338, - "character": 2 - } - ], - "signatures": [ - { - "id": 134, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates an event handler that listens to changes." - }, - "parameters": [ - { - "id": 135, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "presence" - } - }, - { - "id": 136, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 137, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 138, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 340, - "character": 14 - } - ], - "type": { - "type": "literal", - "value": "sync" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 138 - ] - } - ] - } - } - }, - { - "id": 139, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 140, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 141, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 142, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 146, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 143, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 144, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 145, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 147, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "presence" - } - }, - { - "id": 148, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 149, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 150, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 345, - "character": 14 - } - ], - "type": { - "type": "literal", - "value": "join" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 150 - ] - } - ] - } - } - }, - { - "id": 151, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 152, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 153, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 154, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 505, - "typeArguments": [ - { - "type": "reference", - "id": 146, - "name": "T" - } - ], - "name": "RealtimePresenceJoinPayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 155, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 159, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 156, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 157, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 158, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 160, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "presence" - } - }, - { - "id": 161, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 162, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 163, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 350, - "character": 14 - } - ], - "type": { - "type": "literal", - "value": "leave" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 163 - ] - } - ] - } - } - }, - { - "id": 164, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 165, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 166, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 167, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 515, - "typeArguments": [ - { - "type": "reference", - "id": 159, - "name": "T" - } - ], - "name": "RealtimePresenceLeavePayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 168, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 172, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 169, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 170, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 171, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 173, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "postgres_changes" - } - }, - { - "id": 174, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 464, - "typeArguments": [ - { - "type": "literal", - "value": "*" - } - ], - "name": "RealtimePostgresChangesFilter" - } - }, - { - "id": 175, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 176, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 177, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 178, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 471, - "typeArguments": [ - { - "type": "reference", - "id": 172, - "name": "T" - } - ], - "name": "RealtimePostgresChangesPayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 179, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 183, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 180, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 181, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 182, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 184, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "postgres_changes" - } - }, - { - "id": 185, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 464, - "typeArguments": [ - { - "type": "literal", - "value": "INSERT" - } - ], - "name": "RealtimePostgresChangesFilter" - } - }, - { - "id": 186, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 187, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 188, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 189, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 476, - "typeArguments": [ - { - "type": "reference", - "id": 183, - "name": "T" - } - ], - "name": "RealtimePostgresInsertPayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 190, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 194, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 191, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 192, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 193, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 195, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "postgres_changes" - } - }, - { - "id": 196, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 464, - "typeArguments": [ - { - "type": "literal", - "value": "UPDATE" - } - ], - "name": "RealtimePostgresChangesFilter" - } - }, - { - "id": 197, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 198, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 199, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 200, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 486, - "typeArguments": [ - { - "type": "reference", - "id": 194, - "name": "T" - } - ], - "name": "RealtimePostgresUpdatePayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 201, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 205, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 202, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 203, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 204, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "parameters": [ - { - "id": 206, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "literal", - "value": "postgres_changes" - } - }, - { - "id": 207, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 464, - "typeArguments": [ - { - "type": "literal", - "value": "DELETE" - } - ], - "name": "RealtimePostgresChangesFilter" - } - }, - { - "id": 208, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 209, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 210, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 211, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 495, - "typeArguments": [ - { - "type": "reference", - "id": 205, - "name": "T" - } - ], - "name": "RealtimePostgresDeletePayload" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 212, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "The following is placed here to display on supabase.com/docs/reference/javascript/subscribe." - }, - "parameters": [ - { - "id": 213, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "One of \"broadcast\", \"presence\", or \"postgres_changes\"." - }, - "type": { - "type": "literal", - "value": "broadcast" - } - }, - { - "id": 214, - "name": "filter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Custom object specific to the Realtime feature detailing which payloads to receive." - }, - "type": { - "type": "reflection", - "declaration": { - "id": 215, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 216, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 381, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 216 - ] - } - ] - } - } - }, - { - "id": 217, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "Function to be invoked when event handler is triggered.\n" - }, - "type": { - "type": "reflection", - "declaration": { - "id": 218, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 219, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 220, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 221, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 223, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 384, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 222, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 383, - "character": 6 - } - ], - "type": { - "type": "literal", - "value": "broadcast" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 223, - 222 - ] - } - ], - "indexSignature": { - "id": 224, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 225, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - } - ] - }, - { - "id": 110, - "name": "presenceState", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 303, - "character": 2 - } - ], - "signatures": [ - { - "id": 111, - "name": "presenceState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 116, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 112, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 113, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 114, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - }, - "default": { - "type": "reflection", - "declaration": { - "id": 115, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {} - } - } - } - ], - "type": { - "type": "reference", - "id": 525, - "typeArguments": [ - { - "type": "reference", - "id": 116, - "name": "T" - } - ], - "name": "RealtimePresenceState" - } - } - ] - }, - { - "id": 226, - "name": "send", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 396, - "character": 2 - } - ], - "signatures": [ - { - "id": 227, - "name": "send", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 228, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 229, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 230, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 397, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 230 - ] - } - ], - "indexSignature": { - "id": 231, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 232, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 233, - "name": "opts", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 234, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 235, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 236, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 327, - "name": "RealtimeChannelSendResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 102, - "name": "subscribe", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 190, - "character": 2 - } - ], - "signatures": [ - { - "id": 103, - "name": "subscribe", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Subscribe registers your client with the server" - }, - "parameters": [ - { - "id": 104, - "name": "callback", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 105, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 106, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 107, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "SUBSCRIBED" - }, - { - "type": "literal", - "value": "TIMED_OUT" - }, - { - "type": "literal", - "value": "CLOSED" - }, - { - "type": "literal", - "value": "CHANNEL_ERROR" - } - ] - } - }, - { - "id": 108, - "name": "err", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "Error", - "package": "typescript", - "name": "Error" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - } - }, - { - "id": 109, - "name": "timeout", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - } - ] - }, - { - "id": 117, - "name": "track", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 309, - "character": 8 - } - ], - "signatures": [ - { - "id": 118, - "name": "track", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 119, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 120, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 121, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 122, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 123, - "name": "opts", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 124, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 125, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 126, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 327, - "name": "RealtimeChannelSendResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 243, - "name": "unsubscribe", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 436, - "character": 2 - } - ], - "signatures": [ - { - "id": 244, - "name": "unsubscribe", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Leaves the channel.", - "text": "Unsubscribes from server events, and instructs channel to terminate on server.\nTriggers onClose() hooks.\n\nTo receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie:\nchannel.unsubscribe().receive(\"ok\", () => alert(\"left!\") )\n" - }, - "parameters": [ - { - "id": 245, - "name": "timeout", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "error" - }, - { - "type": "literal", - "value": "ok" - }, - { - "type": "literal", - "value": "timed out" - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 127, - "name": "untrack", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 323, - "character": 8 - } - ], - "signatures": [ - { - "id": 128, - "name": "untrack", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 129, - "name": "opts", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 130, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 131, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 132, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - }, - "defaultValue": "{}" - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 327, - "name": "RealtimeChannelSendResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 237, - "name": "updateJoinPayload", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 423, - "character": 2 - } - ], - "signatures": [ - { - "id": 238, - "name": "updateJoinPayload", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 239, - "name": "payload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 240, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 241, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 242, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 75 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 113, - "character": 21 - } - ] - }, - { - "id": 328, - "name": "RealtimeClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 329, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 89, - "character": 2 - } - ], - "signatures": [ - { - "id": 330, - "name": "new RealtimeClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "comment": { - "shortText": "Initializes the Socket." - }, - "parameters": [ - { - "id": 331, - "name": "endPoint", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The string WebSocket endpoint, ie, \"ws://example.com/socket\", \"wss://example.com\", \"/socket\" (inherited host & protocol)" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 332, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 440, - "name": "RealtimeClientOptions" - } - } - ], - "type": { - "type": "reference", - "id": 328, - "name": "default" - } - } - ] - }, - { - "id": 333, - "name": "accessToken", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 42, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "defaultValue": "null" - }, - { - "id": 334, - "name": "channels", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 43, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - "defaultValue": "[]" - }, - { - "id": 355, - "name": "conn", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 58, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "reference", - "qualifiedName": "WebSocket", - "package": "typescript", - "name": "WebSocket" - } - ] - }, - "defaultValue": "null" - }, - { - "id": 353, - "name": "decode", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 56, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 352, - "name": "encode", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 55, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 335, - "name": "endPoint", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 44, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "''" - }, - { - "id": 364, - "name": "eventsPerSecondLimitMs", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 72, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "100" - }, - { - "id": 336, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 45, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 337, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 338, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 339, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - }, - "defaultValue": "DEFAULT_HEADERS" - }, - { - "id": 346, - "name": "heartbeatIntervalMs", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 49, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "30000" - }, - { - "id": 347, - "name": "heartbeatTimer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 50, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "reference", - "qualifiedName": "global.NodeJS.Timer", - "package": "@types/node", - "name": "Timer" - } - ] - }, - "defaultValue": "undefined" - }, - { - "id": 365, - "name": "inThrottle", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 73, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - }, - { - "id": 351, - "name": "logger", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 54, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - }, - "defaultValue": "noop" - }, - { - "id": 340, - "name": "params", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 46, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 341, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 342, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 343, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - }, - "defaultValue": "{}" - }, - { - "id": 348, - "name": "pendingHeartbeatRef", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 51, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "defaultValue": "null" - }, - { - "id": 354, - "name": "reconnectAfterMs", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 57, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 350, - "name": "reconnectTimer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 53, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "default" - } - }, - { - "id": 349, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 52, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "0" - }, - { - "id": 356, - "name": "sendBuffer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 59, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - "defaultValue": "[]" - }, - { - "id": 357, - "name": "serializer", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 60, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "default" - }, - "defaultValue": "..." - }, - { - "id": 358, - "name": "stateChangeCallbacks", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 61, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 359, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 361, - "name": "close", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 63, - "character": 4 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - } - }, - { - "id": 362, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 64, - "character": 4 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - } - }, - { - "id": 363, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 65, - "character": 4 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - } - }, - { - "id": 360, - "name": "open", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 62, - "character": 4 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] - } - ] - } - }, - "defaultValue": "..." - }, - { - "id": 344, - "name": "timeout", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 47, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "DEFAULT_TIMEOUT" - }, - { - "id": 345, - "name": "transport", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 48, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - }, - "defaultValue": "w3cwebsocket" - }, - { - "id": 388, - "name": "channel", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 227, - "character": 2 - } - ], - "signatures": [ - { - "id": 389, - "name": "channel", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 390, - "name": "topic", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 391, - "name": "params", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 316, - "name": "RealtimeChannelOptions" - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - } - ] - }, - { - "id": 366, - "name": "connect", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 126, - "character": 2 - } - ], - "signatures": [ - { - "id": 367, - "name": "connect", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Connects the socket, unless already connected." - }, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 384, - "name": "connectionState", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 207, - "character": 2 - } - ], - "signatures": [ - { - "id": 385, - "name": "connectionState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns the current state of the socket." - }, - "type": { - "type": "reference", - "name": "CONNECTION_STATE" - } - } - ] - }, - { - "id": 368, - "name": "disconnect", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 148, - "character": 2 - } - ], - "signatures": [ - { - "id": 369, - "name": "disconnect", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Disconnects the socket." - }, - "parameters": [ - { - "id": 370, - "name": "code", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A numeric status code to send on disconnect." - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 371, - "name": "reason", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom reason for the disconnect.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 372, - "name": "getChannels", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 166, - "character": 2 - } - ], - "signatures": [ - { - "id": 373, - "name": "getChannels", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns all created channels" - }, - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 64, - "name": "default" - } - } - } - ] - }, - { - "id": 386, - "name": "isConnected", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 223, - "character": 2 - } - ], - "signatures": [ - { - "id": 387, - "name": "isConnected", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns `true` is the connection is open." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ] - }, - { - "id": 379, - "name": "log", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 200, - "character": 2 - } - ], - "signatures": [ - { - "id": 380, - "name": "log", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Logs the message.", - "text": "For customized logging, `this.logger` can be overridden.\n" - }, - "parameters": [ - { - "id": 381, - "name": "kind", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 382, - "name": "msg", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 383, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 392, - "name": "push", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 245, - "character": 2 - } - ], - "signatures": [ - { - "id": 393, - "name": "push", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Push out a message if the socket is connected.", - "text": "If the socket is not connected, the message gets enqueued within a local buffer, and sent out when a connection is next established.\n" - }, - "parameters": [ - { - "id": 394, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 457, - "name": "RealtimeMessage" - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "void" - }, - { - "type": "literal", - "value": "rate limited" - } - ] - } - } - ] - }, - { - "id": 377, - "name": "removeAllChannels", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 187, - "character": 8 - } - ], - "signatures": [ - { - "id": 378, - "name": "removeAllChannels", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Unsubscribes and removes all channels" - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "id": 534, - "name": "RealtimeRemoveChannelResponse" - } - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 374, - "name": "removeChannel", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 174, - "character": 8 - } - ], - "signatures": [ - { - "id": 375, - "name": "removeChannel", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Unsubscribes and removes a single channel" - }, - "parameters": [ - { - "id": 376, - "name": "channel", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A RealtimeChannel instance\n" - }, - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 534, - "name": "RealtimeRemoveChannelResponse" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 395, - "name": "setAuth", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 272, - "character": 2 - } - ], - "signatures": [ - { - "id": 396, - "name": "setAuth", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Sets the JWT access token used for channel subscription authorization and Realtime RLS." - }, - "parameters": [ - { - "id": 397, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A JWT string.\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 329 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 41, - "character": 21 - } - ] - }, - { - "id": 1, - "name": "RealtimePresence", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 36, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 84, - "character": 2 - } - ], - "signatures": [ - { - "id": 37, - "name": "new RealtimePresence", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "comment": { - "shortText": "Initializes the Presence." - }, - "parameters": [ - { - "id": 38, - "name": "channel", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The RealtimeChannel" - }, - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 39, - "name": "opts", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The options,\n for example `{events: {state: 'state', diff: 'diff'}}`\n" - }, - "type": { - "type": "reference", - "qualifiedName": "PresenceOpts", - "package": "@types/phoenix", - "name": "PresenceOpts" - } - } - ], - "type": { - "type": "reference", - "id": 1, - "name": "default" - } - } - ] - }, - { - "id": 44, - "name": "caller", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 45, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 46, - "name": "onJoin", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 68, - "character": 4 - } - ], - "type": { - "type": "reference", - "qualifiedName": "PresenceOnJoinCallback", - "package": "@types/phoenix", - "name": "PresenceOnJoinCallback" - } - }, - { - "id": 47, - "name": "onLeave", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 69, - "character": 4 - } - ], - "type": { - "type": "reference", - "qualifiedName": "PresenceOnLeaveCallback", - "package": "@types/phoenix", - "name": "PresenceOnLeaveCallback" - } - }, - { - "id": 48, - "name": "onSync", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 70, - "character": 4 - } - ], - "signatures": [ - { - "id": 49, - "name": "onSync", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 46, - 47 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 48 - ] - } - ] - } - }, - "defaultValue": "..." - }, - { - "id": 50, - "name": "channel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isPublic": true - }, - "type": { - "type": "reference", - "id": 64, - "name": "default" - } - }, - { - "id": 43, - "name": "joinRef", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 66, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "defaultValue": "null" - }, - { - "id": 42, - "name": "pendingDiffs", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 65, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "name": "RawPresenceDiff" - } - }, - "defaultValue": "[]" - }, - { - "id": 40, - "name": "state", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 64, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 525, - "typeArguments": [ - { - "type": "reflection", - "declaration": { - "id": 41, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {} - } - } - ], - "name": "RealtimePresenceState" - }, - "defaultValue": "{}" - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 36 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] - } - ], - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 63, - "character": 21 - } - ] - }, - { - "id": 316, - "name": "RealtimeChannelOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 15, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 317, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 318, - "name": "config", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 16, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 319, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 320, - "name": "broadcast", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "self option enables client to receive message it broadcast\nack option instructs server to acknowledge that broadcast message was received" - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 21, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 321, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 323, - "name": "ack", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 21, - "character": 34 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 322, - "name": "self", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 21, - "character": 18 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 323, - 322 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 21, - "character": 16 - } - ] - } - } - }, - { - "id": 324, - "name": "presence", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "key option is used to track presence payload across clients" - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 25, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 325, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 326, - "name": "key", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 25, - "character": 17 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 326 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 25, - "character": 15 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 320, - 324 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 16, - "character": 10 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 318 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 15, - "character": 37 - } - ] - } - } - }, - { - "id": 327, - "name": "RealtimeChannelSendResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 83, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "ok" - }, - { - "type": "literal", - "value": "timed out" - }, - { - "type": "literal", - "value": "rate limited" - } - ] - } - }, - { - "id": 440, - "name": "RealtimeClientOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 17, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 441, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 447, - "name": "decode", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 23, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 446, - "name": "encode", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 22, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 449, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 25, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 450, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 25, - "character": 12 - } - ], - "indexSignature": { - "id": 451, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 452, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 444, - "name": "heartbeatIntervalMs", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 20, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 445, - "name": "logger", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 21, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 453, - "name": "params", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 26, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 454, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 26, - "character": 11 - } - ], - "indexSignature": { - "id": 455, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 456, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - }, - { - "id": 448, - "name": "reconnectAfterMs", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 24, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Function", - "package": "typescript", - "name": "Function" - } - }, - { - "id": 443, - "name": "timeout", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 19, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 442, - "name": "transport", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "WebSocket", - "package": "typescript", - "name": "WebSocket" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 17, - "character": 36 - } - ] - } - } - }, - { - "id": 457, - "name": "RealtimeMessage", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 29, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 458, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 460, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 31, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 29, - "character": 30 - } - ] - } - } - }, - { - "id": 464, - "name": "RealtimePostgresChangesFilter", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 62, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 470, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 539, - "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" - }, - "" - ] - ] - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 465, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 466, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The type of database change to listen to." - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 68, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 470, - "name": "T" - } - }, - { - "id": 469, - "name": "filter", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Receive database changes when filter is matched." - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 80, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 467, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The database schema to listen to." - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 72, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 468, - "name": "table", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The database table to listen to." - }, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 76, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 64, - "character": 4 - } - ] - } - } - }, - { - "id": 471, - "name": "RealtimePostgresChangesPayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 57, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 475, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 472, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 57, - "character": 53 - } - ], - "indexSignature": { - "id": 473, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 474, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 476, - "typeArguments": [ - { - "type": "reference", - "id": 475, - "name": "T" - } - ], - "name": "RealtimePostgresInsertPayload" - }, - { - "type": "reference", - "id": 486, - "typeArguments": [ - { - "type": "reference", - "id": 475, - "name": "T" - } - ], - "name": "RealtimePostgresUpdatePayload" - }, - { - "type": "reference", - "id": 495, - "typeArguments": [ - { - "type": "reference", - "id": 475, - "name": "T" - } - ], - "name": "RealtimePostgresDeletePayload" - } - ] - } - }, - { - "id": 495, - "name": "RealtimePostgresDeletePayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 50, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 504, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 501, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 50, - "character": 52 - } - ], - "indexSignature": { - "id": 502, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 503, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "intersection", - "types": [ - { - "type": "reference", - "name": "RealtimePostgresChangesPayloadBase" - }, - { - "type": "reflection", - "declaration": { - "id": 496, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 497, - "name": "eventType", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 52, - "character": 4 - } - ], - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 543, - "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" - }, - "" - ] - ] - } - }, - { - "id": 498, - "name": "new", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 53, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 499, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 53, - "character": 9 - } - ] - } - } - }, - { - "id": 500, - "name": "old", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 54, - "character": 4 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 504, - "name": "T" - } - ], - "qualifiedName": "Partial", - "package": "typescript", - "name": "Partial" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 497, - 498, - 500 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 51, - "character": 39 - } - ] - } - } - ] - } - }, - { - "id": 476, - "name": "RealtimePostgresInsertPayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 36, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 485, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 482, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 36, - "character": 52 - } - ], - "indexSignature": { - "id": 483, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 484, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "intersection", - "types": [ - { - "type": "reference", - "name": "RealtimePostgresChangesPayloadBase" - }, - { - "type": "reflection", - "declaration": { - "id": 477, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 478, - "name": "eventType", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 38, - "character": 4 - } - ], - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 541, - "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" - }, - "" - ] - ] - } - }, - { - "id": 479, - "name": "new", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 39, - "character": 4 - } - ], - "type": { - "type": "reference", - "id": 485, - "name": "T" - } - }, - { - "id": 480, - "name": "old", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 40, - "character": 4 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 481, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 40, - "character": 9 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 478, - 479, - 480 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 37, - "character": 39 - } - ] - } - } - ] - } - }, - { - "id": 486, - "name": "RealtimePostgresUpdatePayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 43, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 494, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 491, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 43, - "character": 52 - } - ], - "indexSignature": { - "id": 492, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 493, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "intersection", - "types": [ - { - "type": "reference", - "name": "RealtimePostgresChangesPayloadBase" - }, - { - "type": "reflection", - "declaration": { - "id": 487, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 488, - "name": "eventType", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 45, - "character": 4 - } - ], - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 542, - "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" - }, - "" - ] - ] - } - }, - { - "id": 489, - "name": "new", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 46, - "character": 4 - } - ], - "type": { - "type": "reference", - "id": 494, - "name": "T" - } - }, - { - "id": 490, - "name": "old", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 47, - "character": 4 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 494, - "name": "T" - } - ], - "qualifiedName": "Partial", - "package": "typescript", - "name": "Partial" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 488, - 489, - 490 - ] - } - ], - "sources": [ - { - "fileName": "RealtimeChannel.ts", - "line": 44, - "character": 39 - } - ] - } - } - ] - } - }, - { - "id": 505, - "name": "RealtimePresenceJoinPayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 21, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 514, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 511, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 21, - "character": 50 - } - ], - "indexSignature": { - "id": 512, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 513, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 506, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 509, - "name": "currentPresences", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 24, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 514, - "name": "T" - } - ], - "name": "Presence" - } - } - }, - { - "id": 507, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 22, - "character": 2 - } - ], - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 546, - "name": "REALTIME_PRESENCE_LISTEN_EVENTS.JOIN" - }, - "" - ] - ] - } - }, - { - "id": 508, - "name": "key", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 23, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 510, - "name": "newPresences", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 25, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 514, - "name": "T" - } - ], - "name": "Presence" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 509, - 507, - 508, - 510 - ] - } - ], - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 21, - "character": 76 - } - ] - } - } - }, - { - "id": 515, - "name": "RealtimePresenceLeavePayload", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 28, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 524, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 521, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 28, - "character": 51 - } - ], - "indexSignature": { - "id": 522, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 523, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 516, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 519, - "name": "currentPresences", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 31, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 524, - "name": "T" - } - ], - "name": "Presence" - } - } - }, - { - "id": 517, - "name": "event", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 29, - "character": 2 - } - ], - "type": { - "type": "template-literal", - "head": "", - "tail": [ - [ - { - "type": "reference", - "id": 547, - "name": "REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE" - }, - "" - ] - ] - } - }, - { - "id": 518, - "name": "key", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 520, - "name": "leftPresences", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 524, - "name": "T" - } - ], - "name": "Presence" - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 519, - 517, - 518, - 520 - ] - } - ], - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 28, - "character": 77 - } - ] - } - } - }, - { - "id": 525, - "name": "RealtimePresenceState", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 17, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 533, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 529, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 17, - "character": 44 - } - ], - "indexSignature": { - "id": 530, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 531, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - } - } - }, - "default": { - "type": "reflection", - "declaration": { - "id": 532, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 17, - "character": 69 - } - ] - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 526, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "RealtimePresence.ts", - "line": 17, - "character": 75 - } - ], - "indexSignature": { - "id": 527, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 528, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 533, - "name": "T" - } - ], - "name": "Presence" - } - } - } - } - } - }, - { - "id": 534, - "name": "RealtimeRemoveChannelResponse", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 37, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "ok" - }, - { - "type": "literal", - "value": "timed out" - }, - { - "type": "literal", - "value": "error" - } - ] - } - } - ], - "groups": [ - { - "title": "Enumerations", - "kind": 8, - "children": [ - 535, - 539, - 544, - 548 - ] - }, - { - "title": "Classes", - "kind": 128, - "children": [ - 64, - 328, - 1 - ] - }, - { - "title": "Type Aliases", - "kind": 4194304, - "children": [ - 316, - 327, - 440, - 457, - 464, - 471, - 495, - 476, - 486, - 505, - 515, - 525, - 534 - ] - } - ], - "sources": [ - { - "fileName": "index.ts", - "line": 1, - "character": 0 - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/realtime-js", + "kind": 1, + "kindString": "Project", + "flags": {}, + "originalName": "", + "children": [ + { + "id": 536, + "name": "REALTIME_LISTEN_TYPES", + "kind": 8, + "kindString": "Enumeration", + "flags": {}, + "children": [ + { + "id": 537, + "name": "BROADCAST", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 93, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "broadcast" + }, + "defaultValue": "\"broadcast\"" + }, + { + "id": 539, + "name": "POSTGRES_CHANGES", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "comment": { + "shortText": "listen to Postgres changes." + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 98, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "postgres_changes" + }, + "defaultValue": "\"postgres_changes\"" + }, + { + "id": 538, + "name": "PRESENCE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "presence" + }, + "defaultValue": "\"presence\"" + } + ], + "groups": [ + { + "title": "Enumeration Members", + "kind": 16, + "children": [537, 539, 538] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 92, + "character": 12 + } + ] + }, + { + "id": 540, + "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", + "kind": 8, + "kindString": "Enumeration", + "flags": {}, + "children": [ + { + "id": 541, + "name": "ALL", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 86, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "*" + }, + "defaultValue": "\"*\"" + }, + { + "id": 544, + "name": "DELETE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 89, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "DELETE" + }, + "defaultValue": "\"DELETE\"" + }, + { + "id": 542, + "name": "INSERT", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "INSERT" + }, + "defaultValue": "\"INSERT\"" + }, + { + "id": 543, + "name": "UPDATE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 88, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "UPDATE" + }, + "defaultValue": "\"UPDATE\"" + } + ], + "groups": [ + { + "title": "Enumeration Members", + "kind": 16, + "children": [541, 544, 542, 543] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 85, + "character": 12 + } + ] + }, + { + "id": 545, + "name": "REALTIME_PRESENCE_LISTEN_EVENTS", + "kind": 8, + "kindString": "Enumeration", + "flags": {}, + "children": [ + { + "id": 547, + "name": "JOIN", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "join" + }, + "defaultValue": "\"join\"" + }, + { + "id": 548, + "name": "LEAVE", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 38, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "leave" + }, + "defaultValue": "\"leave\"" + }, + { + "id": 546, + "name": "SYNC", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 36, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "sync" + }, + "defaultValue": "\"sync\"" + } + ], + "groups": [ + { + "title": "Enumeration Members", + "kind": 16, + "children": [547, 548, 546] + } + ], + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 35, + "character": 12 + } + ] + }, + { + "id": 549, + "name": "REALTIME_SUBSCRIBE_STATES", + "kind": 8, + "kindString": "Enumeration", + "flags": {}, + "children": [ + { + "id": 553, + "name": "CHANNEL_ERROR", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 105, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "CHANNEL_ERROR" + }, + "defaultValue": "\"CHANNEL_ERROR\"" + }, + { + "id": 552, + "name": "CLOSED", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 104, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "CLOSED" + }, + "defaultValue": "\"CLOSED\"" + }, + { + "id": 550, + "name": "SUBSCRIBED", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 102, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "SUBSCRIBED" + }, + "defaultValue": "\"SUBSCRIBED\"" + }, + { + "id": 551, + "name": "TIMED_OUT", + "kind": 16, + "kindString": "Enumeration Member", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 103, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "TIMED_OUT" + }, + "defaultValue": "\"TIMED_OUT\"" + } + ], + "groups": [ + { + "title": "Enumeration Members", + "kind": 16, + "children": [553, 552, 550, 551] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 101, + "character": 12 + } + ] + }, + { + "id": 64, + "name": "RealtimeChannel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A channel is the basic building block of Realtime\nand narrows the scope of data flow to subscribed clients.\nYou can think of a channel as a chatroom where participants are able to see who's online\nand send and receive messages." + }, + "children": [ + { + "id": 75, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 130, + "character": 2 + } + ], + "signatures": [ + { + "id": 76, + "name": "new RealtimeChannel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 77, + "name": "topic", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 78, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 316, + "name": "RealtimeChannelOptions" + }, + "defaultValue": "..." + }, + { + "id": 79, + "name": "socket", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 328, + "name": "default" + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + } + ] + }, + { + "id": 80, + "name": "bindings", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 114, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 81, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 82, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 83, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 84, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 90, + "name": "callback", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 118, + "character": 6 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 86, + "name": "filter", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 117, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 117, + "character": 14 + } + ], + "indexSignature": { + "id": 88, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 89, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 91, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 119, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 85, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 116, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [90, 86, 91, 85] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 115, + "character": 19 + } + ] + } + } + } + } + } + }, + "defaultValue": "{}" + }, + { + "id": 95, + "name": "joinPush", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 125, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "default" + } + }, + { + "id": 94, + "name": "joinedOnce", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 100, + "name": "params", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true + }, + "type": { + "type": "reference", + "id": 316, + "name": "RealtimeChannelOptions" + }, + "defaultValue": "..." + }, + { + "id": 98, + "name": "presence", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 128, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 1, + "name": "default" + } + }, + { + "id": 97, + "name": "pushBuffer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 127, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "name": "default" + } + }, + "defaultValue": "[]" + }, + { + "id": 96, + "name": "rejoinTimer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 126, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "default" + } + }, + { + "id": 101, + "name": "socket", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true + }, + "type": { + "type": "reference", + "id": 328, + "name": "default" + } + }, + { + "id": 93, + "name": "state", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 123, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "CHANNEL_STATES" + }, + "defaultValue": "CHANNEL_STATES.closed" + }, + { + "id": 92, + "name": "timeout", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 122, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 99, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 133, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 338, + "character": 2 + } + ], + "signatures": [ + { + "id": 134, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates an event handler that listens to changes." + }, + "parameters": [ + { + "id": 135, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "presence" + } + }, + { + "id": 136, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 137, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 138, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 340, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": "sync" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [138] + } + ] + } + } + }, + { + "id": 139, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 140, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 141, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 142, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 146, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 143, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 144, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 145, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 147, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "presence" + } + }, + { + "id": 148, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 149, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 150, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 345, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": "join" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [150] + } + ] + } + } + }, + { + "id": 151, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 152, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 153, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 154, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 506, + "typeArguments": [ + { + "type": "reference", + "id": 146, + "name": "T" + } + ], + "name": "RealtimePresenceJoinPayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 155, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 159, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 156, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 157, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 158, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 160, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "presence" + } + }, + { + "id": 161, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 162, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 163, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 350, + "character": 14 + } + ], + "type": { + "type": "literal", + "value": "leave" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [163] + } + ] + } + } + }, + { + "id": 164, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 165, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 166, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 167, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 516, + "typeArguments": [ + { + "type": "reference", + "id": 159, + "name": "T" + } + ], + "name": "RealtimePresenceLeavePayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 168, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 172, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 169, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 170, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 171, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 173, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "postgres_changes" + } + }, + { + "id": 174, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 465, + "typeArguments": [ + { + "type": "literal", + "value": "*" + } + ], + "name": "RealtimePostgresChangesFilter" + } + }, + { + "id": 175, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 176, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 177, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 178, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 472, + "typeArguments": [ + { + "type": "reference", + "id": 172, + "name": "T" + } + ], + "name": "RealtimePostgresChangesPayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 179, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 183, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 180, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 181, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 182, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 184, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "postgres_changes" + } + }, + { + "id": 185, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 465, + "typeArguments": [ + { + "type": "literal", + "value": "INSERT" + } + ], + "name": "RealtimePostgresChangesFilter" + } + }, + { + "id": 186, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 187, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 188, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 189, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 477, + "typeArguments": [ + { + "type": "reference", + "id": 183, + "name": "T" + } + ], + "name": "RealtimePostgresInsertPayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 190, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 194, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 191, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 192, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 193, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 195, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "postgres_changes" + } + }, + { + "id": 196, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 465, + "typeArguments": [ + { + "type": "literal", + "value": "UPDATE" + } + ], + "name": "RealtimePostgresChangesFilter" + } + }, + { + "id": 197, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 198, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 199, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 200, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 487, + "typeArguments": [ + { + "type": "reference", + "id": 194, + "name": "T" + } + ], + "name": "RealtimePostgresUpdatePayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 201, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 205, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 202, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 203, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 204, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "parameters": [ + { + "id": 206, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "literal", + "value": "postgres_changes" + } + }, + { + "id": 207, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 465, + "typeArguments": [ + { + "type": "literal", + "value": "DELETE" + } + ], + "name": "RealtimePostgresChangesFilter" + } + }, + { + "id": 208, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 209, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 210, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 211, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 496, + "typeArguments": [ + { + "type": "reference", + "id": 205, + "name": "T" + } + ], + "name": "RealtimePostgresDeletePayload" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 212, + "name": "on", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "The following is placed here to display on supabase.com/docs/reference/javascript/subscribe." + }, + "parameters": [ + { + "id": 213, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "One of \"broadcast\", \"presence\", or \"postgres_changes\"." + }, + "type": { + "type": "literal", + "value": "broadcast" + } + }, + { + "id": 214, + "name": "filter", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Custom object specific to the Realtime feature detailing which payloads to receive." + }, + "type": { + "type": "reflection", + "declaration": { + "id": 215, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 216, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 381, + "character": 14 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [216] + } + ] + } + } + }, + { + "id": 217, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "Function to be invoked when event handler is triggered.\n" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 218, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 219, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 220, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 221, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 223, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 384, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 222, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 383, + "character": 6 + } + ], + "type": { + "type": "literal", + "value": "broadcast" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [223, 222] + } + ], + "indexSignature": { + "id": 224, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 225, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + } + ] + }, + { + "id": 110, + "name": "presenceState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 303, + "character": 2 + } + ], + "signatures": [ + { + "id": 111, + "name": "presenceState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 116, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 112, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 113, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 114, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + }, + "default": { + "type": "reflection", + "declaration": { + "id": 115, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + } + } + ], + "type": { + "type": "reference", + "id": 526, + "typeArguments": [ + { + "type": "reference", + "id": 116, + "name": "T" + } + ], + "name": "RealtimePresenceState" + } + } + ] + }, + { + "id": 226, + "name": "send", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 396, + "character": 2 + } + ], + "signatures": [ + { + "id": 227, + "name": "send", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 228, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 229, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 230, + "name": "type", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 397, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [230] + } + ], + "indexSignature": { + "id": 231, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 232, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 233, + "name": "opts", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 234, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 235, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 236, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 327, + "name": "RealtimeChannelSendResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 102, + "name": "subscribe", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 190, + "character": 2 + } + ], + "signatures": [ + { + "id": 103, + "name": "subscribe", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Subscribe registers your client with the server" + }, + "parameters": [ + { + "id": 104, + "name": "callback", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 105, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 106, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 107, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "SUBSCRIBED" + }, + { + "type": "literal", + "value": "TIMED_OUT" + }, + { + "type": "literal", + "value": "CLOSED" + }, + { + "type": "literal", + "value": "CHANNEL_ERROR" + } + ] + } + }, + { + "id": 108, + "name": "err", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + }, + { + "id": 109, + "name": "timeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + } + ] + }, + { + "id": 117, + "name": "track", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 309, + "character": 8 + } + ], + "signatures": [ + { + "id": 118, + "name": "track", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 119, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 120, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 121, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 122, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 123, + "name": "opts", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 124, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 125, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 126, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 327, + "name": "RealtimeChannelSendResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 243, + "name": "unsubscribe", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 436, + "character": 2 + } + ], + "signatures": [ + { + "id": 244, + "name": "unsubscribe", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Leaves the channel.", + "text": "Unsubscribes from server events, and instructs channel to terminate on server.\nTriggers onClose() hooks.\n\nTo receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie:\nchannel.unsubscribe().receive(\"ok\", () => alert(\"left!\") )\n" + }, + "parameters": [ + { + "id": 245, + "name": "timeout", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "error" + }, + { + "type": "literal", + "value": "ok" + }, + { + "type": "literal", + "value": "timed out" + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 127, + "name": "untrack", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 323, + "character": 8 + } + ], + "signatures": [ + { + "id": 128, + "name": "untrack", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 129, + "name": "opts", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 130, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 131, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 132, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 327, + "name": "RealtimeChannelSendResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 237, + "name": "updateJoinPayload", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 423, + "character": 2 + } + ], + "signatures": [ + { + "id": 238, + "name": "updateJoinPayload", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 239, + "name": "payload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 240, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 241, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 242, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [75] + }, + { + "title": "Properties", + "kind": 1024, + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] + }, + { + "title": "Methods", + "kind": 2048, + "children": [133, 110, 226, 102, 117, 243, 127, 237] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 113, + "character": 21 + } + ] + }, + { + "id": 328, + "name": "RealtimeClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 329, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 90, + "character": 2 + } + ], + "signatures": [ + { + "id": 330, + "name": "new RealtimeClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "shortText": "Initializes the Socket." + }, + "parameters": [ + { + "id": 331, + "name": "endPoint", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The string WebSocket endpoint, ie, \"ws://example.com/socket\", \"wss://example.com\", \"/socket\" (inherited host & protocol)" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 332, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 440, + "name": "RealtimeClientOptions" + } + } + ], + "type": { + "type": "reference", + "id": 328, + "name": "default" + } + } + ] + }, + { + "id": 333, + "name": "accessToken", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "defaultValue": "null" + }, + { + "id": 334, + "name": "channels", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 44, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + "defaultValue": "[]" + }, + { + "id": 355, + "name": "conn", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 59, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "qualifiedName": "WebSocket", + "package": "typescript", + "name": "WebSocket" + } + ] + }, + "defaultValue": "null" + }, + { + "id": 353, + "name": "decode", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 57, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 352, + "name": "encode", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 56, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 335, + "name": "endPoint", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 45, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "''" + }, + { + "id": 364, + "name": "eventsPerSecondLimitMs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 73, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "100" + }, + { + "id": 336, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 46, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 337, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 338, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 339, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + "defaultValue": "DEFAULT_HEADERS" + }, + { + "id": 346, + "name": "heartbeatIntervalMs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 50, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "30000" + }, + { + "id": 347, + "name": "heartbeatTimer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 51, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "qualifiedName": "global.NodeJS.Timer", + "package": "@types/node", + "name": "Timer" + } + ] + }, + "defaultValue": "undefined" + }, + { + "id": 365, + "name": "inThrottle", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 351, + "name": "logger", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + }, + "defaultValue": "noop" + }, + { + "id": 340, + "name": "params", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 47, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 341, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 342, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 343, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + "defaultValue": "{}" + }, + { + "id": 348, + "name": "pendingHeartbeatRef", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 52, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "defaultValue": "null" + }, + { + "id": 354, + "name": "reconnectAfterMs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 58, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 350, + "name": "reconnectTimer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 54, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "default" + } + }, + { + "id": 349, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 53, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 356, + "name": "sendBuffer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 60, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + "defaultValue": "[]" + }, + { + "id": 357, + "name": "serializer", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 61, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "default" + }, + "defaultValue": "..." + }, + { + "id": 358, + "name": "stateChangeCallbacks", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 359, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 361, + "name": "close", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 64, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + } + }, + { + "id": 362, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 65, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + } + }, + { + "id": 363, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 66, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + } + }, + { + "id": 360, + "name": "open", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 63, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [361, 362, 363, 360] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 344, + "name": "timeout", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 48, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "DEFAULT_TIMEOUT" + }, + { + "id": 345, + "name": "transport", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + }, + "defaultValue": "w3cwebsocket" + }, + { + "id": 388, + "name": "channel", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 228, + "character": 2 + } + ], + "signatures": [ + { + "id": 389, + "name": "channel", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 390, + "name": "topic", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 391, + "name": "params", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 316, + "name": "RealtimeChannelOptions" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + } + ] + }, + { + "id": 366, + "name": "connect", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 127, + "character": 2 + } + ], + "signatures": [ + { + "id": 367, + "name": "connect", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Connects the socket, unless already connected." + }, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 384, + "name": "connectionState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 208, + "character": 2 + } + ], + "signatures": [ + { + "id": 385, + "name": "connectionState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns the current state of the socket." + }, + "type": { + "type": "reference", + "name": "CONNECTION_STATE" + } + } + ] + }, + { + "id": 368, + "name": "disconnect", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 149, + "character": 2 + } + ], + "signatures": [ + { + "id": 369, + "name": "disconnect", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Disconnects the socket." + }, + "parameters": [ + { + "id": 370, + "name": "code", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A numeric status code to send on disconnect." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 371, + "name": "reason", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom reason for the disconnect.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 372, + "name": "getChannels", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 167, + "character": 2 + } + ], + "signatures": [ + { + "id": 373, + "name": "getChannels", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns all created channels" + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 64, + "name": "default" + } + } + } + ] + }, + { + "id": 386, + "name": "isConnected", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 224, + "character": 2 + } + ], + "signatures": [ + { + "id": 387, + "name": "isConnected", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns `true` is the connection is open." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 379, + "name": "log", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 201, + "character": 2 + } + ], + "signatures": [ + { + "id": 380, + "name": "log", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Logs the message.", + "text": "For customized logging, `this.logger` can be overridden.\n" + }, + "parameters": [ + { + "id": 381, + "name": "kind", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 382, + "name": "msg", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 383, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 392, + "name": "push", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 246, + "character": 2 + } + ], + "signatures": [ + { + "id": 393, + "name": "push", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Push out a message if the socket is connected.", + "text": "If the socket is not connected, the message gets enqueued within a local buffer, and sent out when a connection is next established.\n" + }, + "parameters": [ + { + "id": 394, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 458, + "name": "RealtimeMessage" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "literal", + "value": "rate limited" + } + ] + } + } + ] + }, + { + "id": 377, + "name": "removeAllChannels", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 188, + "character": 8 + } + ], + "signatures": [ + { + "id": 378, + "name": "removeAllChannels", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Unsubscribes and removes all channels" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "id": 535, + "name": "RealtimeRemoveChannelResponse" + } + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 374, + "name": "removeChannel", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 175, + "character": 8 + } + ], + "signatures": [ + { + "id": 375, + "name": "removeChannel", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Unsubscribes and removes a single channel" + }, + "parameters": [ + { + "id": 376, + "name": "channel", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A RealtimeChannel instance\n" + }, + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 535, + "name": "RealtimeRemoveChannelResponse" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 395, + "name": "setAuth", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 273, + "character": 2 + } + ], + "signatures": [ + { + "id": 396, + "name": "setAuth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sets the JWT access token used for channel subscription authorization and Realtime RLS." + }, + "parameters": [ + { + "id": 397, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A JWT string.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [329] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, 354, 350, 349, + 356, 357, 358, 344, 345 + ] + }, + { + "title": "Methods", + "kind": 2048, + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] + } + ], + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 42, + "character": 21 + } + ] + }, + { + "id": 1, + "name": "RealtimePresence", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 36, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 84, + "character": 2 + } + ], + "signatures": [ + { + "id": 37, + "name": "new RealtimePresence", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "shortText": "Initializes the Presence." + }, + "parameters": [ + { + "id": 38, + "name": "channel", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The RealtimeChannel" + }, + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 39, + "name": "opts", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The options,\n for example `{events: {state: 'state', diff: 'diff'}}`\n" + }, + "type": { + "type": "reference", + "qualifiedName": "PresenceOpts", + "package": "@types/phoenix", + "name": "PresenceOpts" + } + } + ], + "type": { + "type": "reference", + "id": 1, + "name": "default" + } + } + ] + }, + { + "id": 44, + "name": "caller", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 67, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 45, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 46, + "name": "onJoin", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 68, + "character": 4 + } + ], + "type": { + "type": "reference", + "qualifiedName": "PresenceOnJoinCallback", + "package": "@types/phoenix", + "name": "PresenceOnJoinCallback" + } + }, + { + "id": 47, + "name": "onLeave", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 69, + "character": 4 + } + ], + "type": { + "type": "reference", + "qualifiedName": "PresenceOnLeaveCallback", + "package": "@types/phoenix", + "name": "PresenceOnLeaveCallback" + } + }, + { + "id": 48, + "name": "onSync", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 70, + "character": 4 + } + ], + "signatures": [ + { + "id": 49, + "name": "onSync", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [46, 47] + }, + { + "title": "Methods", + "kind": 2048, + "children": [48] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 50, + "name": "channel", + "kind": 1024, + "kindString": "Property", + "flags": { + "isPublic": true + }, + "type": { + "type": "reference", + "id": 64, + "name": "default" + } + }, + { + "id": 43, + "name": "joinRef", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 66, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "defaultValue": "null" + }, + { + "id": 42, + "name": "pendingDiffs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 65, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "name": "RawPresenceDiff" + } + }, + "defaultValue": "[]" + }, + { + "id": 40, + "name": "state", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 64, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 526, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 41, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + } + ], + "name": "RealtimePresenceState" + }, + "defaultValue": "{}" + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [36] + }, + { + "title": "Properties", + "kind": 1024, + "children": [44, 50, 43, 42, 40] + } + ], + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 63, + "character": 21 + } + ] + }, + { + "id": 316, + "name": "RealtimeChannelOptions", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 15, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 317, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 318, + "name": "config", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 16, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 319, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 320, + "name": "broadcast", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "self option enables client to receive message it broadcast\nack option instructs server to acknowledge that broadcast message was received" + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 21, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 321, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 323, + "name": "ack", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 21, + "character": 34 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 322, + "name": "self", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 21, + "character": 18 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [323, 322] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 21, + "character": 16 + } + ] + } + } + }, + { + "id": 324, + "name": "presence", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "key option is used to track presence payload across clients" + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 25, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 325, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 326, + "name": "key", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 25, + "character": 17 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [326] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 25, + "character": 15 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [320, 324] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 16, + "character": 10 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [318] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 15, + "character": 37 + } + ] + } + } + }, + { + "id": 327, + "name": "RealtimeChannelSendResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 83, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "ok" + }, + { + "type": "literal", + "value": "timed out" + }, + { + "type": "literal", + "value": "rate limited" + } + ] + } + }, + { + "id": 440, + "name": "RealtimeClientOptions", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 17, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 441, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 447, + "name": "decode", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 23, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 446, + "name": "encode", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 22, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 449, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 25, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 450, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 25, + "character": 12 + } + ], + "indexSignature": { + "id": 451, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 452, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 444, + "name": "heartbeatIntervalMs", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 20, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, + { + "id": 445, + "name": "logger", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 21, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 453, + "name": "params", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 26, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 454, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 26, + "character": 11 + } + ], + "indexSignature": { + "id": 455, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 456, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + }, + { + "id": 448, + "name": "reconnectAfterMs", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 24, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Function", + "package": "typescript", + "name": "Function" + } + }, + { + "id": 443, + "name": "timeout", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 19, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 442, + "name": "transport", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "WebSocket", + "package": "typescript", + "name": "WebSocket" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] + } + ], + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 17, + "character": 36 + } + ] + } + } + }, + { + "id": 458, + "name": "RealtimeMessage", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 30, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 459, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 461, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [461, 464, 462, 463, 460] + } + ], + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 30, + "character": 30 + } + ] + } + } + }, + { + "id": 465, + "name": "RealtimePostgresChangesFilter", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 62, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 471, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 540, + "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" + }, + "" + ] + ] + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 466, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 467, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The type of database change to listen to." + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 68, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 471, + "name": "T" + } + }, + { + "id": 470, + "name": "filter", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Receive database changes when filter is matched." + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 468, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The database schema to listen to." + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 72, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 469, + "name": "table", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The database table to listen to." + }, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 76, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [467, 470, 468, 469] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 64, + "character": 4 + } + ] + } + } + }, + { + "id": 472, + "name": "RealtimePostgresChangesPayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 57, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 476, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 473, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 57, + "character": 53 + } + ], + "indexSignature": { + "id": 474, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 475, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 477, + "typeArguments": [ + { + "type": "reference", + "id": 476, + "name": "T" + } + ], + "name": "RealtimePostgresInsertPayload" + }, + { + "type": "reference", + "id": 487, + "typeArguments": [ + { + "type": "reference", + "id": 476, + "name": "T" + } + ], + "name": "RealtimePostgresUpdatePayload" + }, + { + "type": "reference", + "id": 496, + "typeArguments": [ + { + "type": "reference", + "id": 476, + "name": "T" + } + ], + "name": "RealtimePostgresDeletePayload" + } + ] + } + }, + { + "id": 496, + "name": "RealtimePostgresDeletePayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 50, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 505, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 502, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 50, + "character": 52 + } + ], + "indexSignature": { + "id": 503, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 504, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "name": "RealtimePostgresChangesPayloadBase" + }, + { + "type": "reflection", + "declaration": { + "id": 497, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 498, + "name": "eventType", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 52, + "character": 4 + } + ], + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 544, + "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" + }, + "" + ] + ] + } + }, + { + "id": 499, + "name": "new", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 53, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 500, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 53, + "character": 9 + } + ] + } + } + }, + { + "id": 501, + "name": "old", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 54, + "character": 4 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 505, + "name": "T" + } + ], + "qualifiedName": "Partial", + "package": "typescript", + "name": "Partial" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [498, 499, 501] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 51, + "character": 39 + } + ] + } + } + ] + } + }, + { + "id": 477, + "name": "RealtimePostgresInsertPayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 36, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 486, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 483, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 36, + "character": 52 + } + ], + "indexSignature": { + "id": 484, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 485, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "name": "RealtimePostgresChangesPayloadBase" + }, + { + "type": "reflection", + "declaration": { + "id": 478, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 479, + "name": "eventType", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 38, + "character": 4 + } + ], + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 542, + "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" + }, + "" + ] + ] + } + }, + { + "id": 480, + "name": "new", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 39, + "character": 4 + } + ], + "type": { + "type": "reference", + "id": 486, + "name": "T" + } + }, + { + "id": 481, + "name": "old", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 40, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 482, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 40, + "character": 9 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [479, 480, 481] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 37, + "character": 39 + } + ] + } + } + ] + } + }, + { + "id": 487, + "name": "RealtimePostgresUpdatePayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 43, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 495, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 492, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 43, + "character": 52 + } + ], + "indexSignature": { + "id": 493, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 494, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "name": "RealtimePostgresChangesPayloadBase" + }, + { + "type": "reflection", + "declaration": { + "id": 488, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 489, + "name": "eventType", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 45, + "character": 4 + } + ], + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 543, + "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" + }, + "" + ] + ] + } + }, + { + "id": 490, + "name": "new", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "reference", + "id": 495, + "name": "T" + } + }, + { + "id": 491, + "name": "old", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 47, + "character": 4 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 495, + "name": "T" + } + ], + "qualifiedName": "Partial", + "package": "typescript", + "name": "Partial" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [489, 490, 491] + } + ], + "sources": [ + { + "fileName": "RealtimeChannel.ts", + "line": 44, + "character": 39 + } + ] + } + } + ] + } + }, + { + "id": 506, + "name": "RealtimePresenceJoinPayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 21, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 515, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 512, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 21, + "character": 50 + } + ], + "indexSignature": { + "id": 513, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 514, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 507, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 510, + "name": "currentPresences", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 24, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 515, + "name": "T" + } + ], + "name": "Presence" + } + } + }, + { + "id": 508, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 22, + "character": 2 + } + ], + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 547, + "name": "REALTIME_PRESENCE_LISTEN_EVENTS.JOIN" + }, + "" + ] + ] + } + }, + { + "id": 509, + "name": "key", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 23, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 511, + "name": "newPresences", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 25, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 515, + "name": "T" + } + ], + "name": "Presence" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [510, 508, 509, 511] + } + ], + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 21, + "character": 76 + } + ] + } + } + }, + { + "id": 516, + "name": "RealtimePresenceLeavePayload", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 28, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 525, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 522, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 28, + "character": 51 + } + ], + "indexSignature": { + "id": 523, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 524, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 517, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 520, + "name": "currentPresences", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 525, + "name": "T" + } + ], + "name": "Presence" + } + } + }, + { + "id": 518, + "name": "event", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 29, + "character": 2 + } + ], + "type": { + "type": "template-literal", + "head": "", + "tail": [ + [ + { + "type": "reference", + "id": 548, + "name": "REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE" + }, + "" + ] + ] + } + }, + { + "id": 519, + "name": "key", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 30, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 521, + "name": "leftPresences", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 525, + "name": "T" + } + ], + "name": "Presence" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [520, 518, 519, 521] + } + ], + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 28, + "character": 77 + } + ] + } + } + }, + { + "id": 526, + "name": "RealtimePresenceState", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 17, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 534, + "name": "T", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 530, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 17, + "character": 44 + } + ], + "indexSignature": { + "id": 531, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 532, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + } + }, + "default": { + "type": "reflection", + "declaration": { + "id": 533, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 17, + "character": 69 + } + ] + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 527, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "sources": [ + { + "fileName": "RealtimePresence.ts", + "line": 17, + "character": 75 + } + ], + "indexSignature": { + "id": 528, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 529, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 534, + "name": "T" + } + ], + "name": "Presence" + } + } + } + } + } + }, + { + "id": 535, + "name": "RealtimeRemoveChannelResponse", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 38, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "ok" + }, + { + "type": "literal", + "value": "timed out" + }, + { + "type": "literal", + "value": "error" + } + ] + } + } + ], + "groups": [ + { + "title": "Enumerations", + "kind": 8, + "children": [536, 540, 545, 549] + }, + { + "title": "Classes", + "kind": 128, + "children": [64, 328, 1] + }, + { + "title": "Type Aliases", + "kind": 4194304, + "children": [316, 327, 440, 458, 465, 472, 496, 477, 487, 506, 516, 526, 535] + } + ], + "sources": [ + { + "fileName": "index.ts", + "line": 1, + "character": 0 + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/realtime_dereferenced.json b/spec/enrichments/tsdoc_v2/realtime_dereferenced.json index ad50c2c7a13..532e436b6c3 100644 --- a/spec/enrichments/tsdoc_v2/realtime_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/realtime_dereferenced.json @@ -7,14 +7,14 @@ "originalName": "", "children": [ { - "id": 535, + "id": 536, "name": "REALTIME_LISTEN_TYPES", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 536, + "id": 537, "name": "BROADCAST", "kind": 16, "kindString": "Enumeration Member", @@ -33,7 +33,7 @@ "defaultValue": "\"broadcast\"" }, { - "id": 538, + "id": 539, "name": "POSTGRES_CHANGES", "kind": 16, "kindString": "Enumeration Member", @@ -55,7 +55,7 @@ "defaultValue": "\"postgres_changes\"" }, { - "id": 537, + "id": 538, "name": "PRESENCE", "kind": 16, "kindString": "Enumeration Member", @@ -78,11 +78,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 536, - 538, - 537 - ] + "children": [537, 539, 538] } ], "sources": [ @@ -94,14 +90,14 @@ ] }, { - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 540, + "id": 541, "name": "ALL", "kind": 16, "kindString": "Enumeration Member", @@ -120,7 +116,7 @@ "defaultValue": "\"*\"" }, { - "id": 543, + "id": 544, "name": "DELETE", "kind": 16, "kindString": "Enumeration Member", @@ -139,7 +135,7 @@ "defaultValue": "\"DELETE\"" }, { - "id": 541, + "id": 542, "name": "INSERT", "kind": 16, "kindString": "Enumeration Member", @@ -158,7 +154,7 @@ "defaultValue": "\"INSERT\"" }, { - "id": 542, + "id": 543, "name": "UPDATE", "kind": 16, "kindString": "Enumeration Member", @@ -181,12 +177,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 540, - 543, - 541, - 542 - ] + "children": [541, 544, 542, 543] } ], "sources": [ @@ -198,14 +189,14 @@ ] }, { - "id": 544, + "id": 545, "name": "REALTIME_PRESENCE_LISTEN_EVENTS", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 546, + "id": 547, "name": "JOIN", "kind": 16, "kindString": "Enumeration Member", @@ -224,7 +215,7 @@ "defaultValue": "\"join\"" }, { - "id": 547, + "id": 548, "name": "LEAVE", "kind": 16, "kindString": "Enumeration Member", @@ -243,7 +234,7 @@ "defaultValue": "\"leave\"" }, { - "id": 545, + "id": 546, "name": "SYNC", "kind": 16, "kindString": "Enumeration Member", @@ -266,11 +257,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 546, - 547, - 545 - ] + "children": [547, 548, 546] } ], "sources": [ @@ -282,14 +269,14 @@ ] }, { - "id": 548, + "id": 549, "name": "REALTIME_SUBSCRIBE_STATES", "kind": 8, "kindString": "Enumeration", "flags": {}, "children": [ { - "id": 552, + "id": 553, "name": "CHANNEL_ERROR", "kind": 16, "kindString": "Enumeration Member", @@ -308,7 +295,7 @@ "defaultValue": "\"CHANNEL_ERROR\"" }, { - "id": 551, + "id": 552, "name": "CLOSED", "kind": 16, "kindString": "Enumeration Member", @@ -327,7 +314,7 @@ "defaultValue": "\"CLOSED\"" }, { - "id": 549, + "id": 550, "name": "SUBSCRIBED", "kind": 16, "kindString": "Enumeration Member", @@ -346,7 +333,7 @@ "defaultValue": "\"SUBSCRIBED\"" }, { - "id": 550, + "id": 551, "name": "TIMED_OUT", "kind": 16, "kindString": "Enumeration Member", @@ -369,12 +356,7 @@ { "title": "Enumeration Members", "kind": 16, - "children": [ - 552, - 551, - 549, - 550 - ] + "children": [553, 552, 550, 551] } ], "sources": [ @@ -553,10 +535,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -621,9 +600,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -641,10 +618,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -662,9 +636,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -706,7 +678,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -889,6 +861,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -1037,15 +1046,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } ], @@ -1079,7 +1080,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -1107,7 +1108,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -1130,7 +1131,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -1160,7 +1161,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -1180,7 +1181,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -1200,7 +1201,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -1219,7 +1220,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -1240,7 +1241,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -1288,7 +1289,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -1307,7 +1308,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -1337,7 +1338,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -1356,7 +1357,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -1379,7 +1380,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -1427,7 +1428,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -1455,7 +1456,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -1475,7 +1476,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -1493,7 +1494,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -1512,7 +1513,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -1536,7 +1537,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -1555,7 +1556,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -1577,7 +1578,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -1600,7 +1601,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -1623,7 +1624,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -1646,7 +1647,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -1665,12 +1666,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -1686,7 +1682,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -1705,7 +1701,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -1724,7 +1720,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -1873,10 +1869,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -1941,9 +1934,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -1961,10 +1952,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -1982,9 +1970,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -2018,7 +2004,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -2048,7 +2034,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -2078,7 +2064,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -2142,7 +2128,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -2176,7 +2162,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -2206,7 +2192,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -2274,7 +2260,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -2298,10 +2284,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -2309,25 +2295,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -2339,99 +2399,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -2466,7 +2446,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -2487,7 +2467,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -2508,7 +2488,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -2550,40 +2530,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -2602,7 +2559,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -2622,7 +2579,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -2673,60 +2630,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, + 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -2909,12 +2832,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -3097,10 +3015,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -3165,9 +3080,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -3185,10 +3098,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -3206,9 +3116,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -3299,40 +3207,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -3466,17 +3351,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -3509,40 +3389,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -3620,7 +3477,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -3635,7 +3492,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -3649,7 +3506,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -3657,7 +3514,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -3670,14 +3527,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -3697,7 +3554,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -3716,7 +3573,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -3729,14 +3586,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -3753,7 +3610,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -3772,20 +3629,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -3866,7 +3715,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -4049,6 +3898,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -4196,17 +4082,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] } ], "sources": [ @@ -4239,7 +4115,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -4267,7 +4143,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -4290,7 +4166,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -4320,7 +4196,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -4340,7 +4216,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -4360,7 +4236,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -4379,7 +4255,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -4400,7 +4276,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -4448,7 +4324,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -4467,7 +4343,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -4497,7 +4373,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -4516,7 +4392,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -4539,7 +4415,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -4587,7 +4463,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -4615,7 +4491,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -4635,7 +4511,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -4653,7 +4529,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -4672,7 +4548,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -4696,7 +4572,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -4715,7 +4591,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -4737,7 +4613,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -4760,7 +4636,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -4783,7 +4659,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -4806,7 +4682,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -4825,12 +4701,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -4846,7 +4717,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -4865,7 +4736,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -4884,7 +4755,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -5033,10 +4904,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -5101,9 +4969,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -5121,10 +4987,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -5142,9 +5005,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -5178,7 +5039,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -5208,7 +5069,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -5238,7 +5099,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -5302,7 +5163,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -5336,7 +5197,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -5366,7 +5227,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -5434,7 +5295,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -5458,10 +5319,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -5469,25 +5330,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -5499,99 +5434,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -5626,7 +5481,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -5647,7 +5502,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -5668,7 +5523,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -5710,40 +5565,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -5762,7 +5594,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -5782,7 +5614,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -5833,60 +5665,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, 354, 350, + 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -6016,9 +5814,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -6159,9 +5955,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -6197,7 +5991,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -6323,9 +6117,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -6361,7 +6153,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -6457,7 +6249,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -6466,7 +6258,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -6480,7 +6272,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -6492,7 +6284,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -6504,14 +6296,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -6528,13 +6320,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -6557,7 +6349,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -6578,7 +6370,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -6605,12 +6397,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -6655,7 +6442,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -6751,7 +6538,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -6760,7 +6547,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -6774,7 +6561,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -6786,7 +6573,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -6798,14 +6585,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -6822,13 +6609,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -6851,7 +6638,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -6872,7 +6659,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -6899,12 +6686,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -6949,7 +6731,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -7045,7 +6827,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -7054,7 +6836,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -7068,7 +6850,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -7080,7 +6862,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -7092,14 +6874,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -7116,13 +6898,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -7145,7 +6927,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -7166,7 +6948,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -7193,12 +6975,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -7243,7 +7020,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -7339,7 +7116,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -7348,7 +7125,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -7362,7 +7139,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -7374,7 +7151,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -7386,14 +7163,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -7410,13 +7187,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -7439,7 +7216,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -7460,7 +7237,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -7487,12 +7264,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -7537,7 +7309,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -7630,9 +7402,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -7719,10 +7489,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -7844,7 +7611,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -7916,9 +7683,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -8465,40 +8230,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -8525,7 +8267,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -8708,6 +8450,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -8855,17 +8634,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] } ], "sources": [ @@ -8898,7 +8667,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -8926,7 +8695,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -8949,7 +8718,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -8979,7 +8748,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -8999,7 +8768,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -9019,7 +8788,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -9038,7 +8807,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -9059,7 +8828,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -9107,7 +8876,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -9126,7 +8895,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -9156,7 +8925,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -9175,7 +8944,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -9198,7 +8967,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -9246,7 +9015,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -9274,7 +9043,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -9294,7 +9063,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -9312,7 +9081,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -9331,7 +9100,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -9355,7 +9124,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -9374,7 +9143,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -9396,7 +9165,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -9419,7 +9188,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -9442,7 +9211,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -9465,7 +9234,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -9484,12 +9253,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -9505,7 +9269,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -9524,7 +9288,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -9543,7 +9307,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -9692,10 +9456,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -9760,9 +9521,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -9780,10 +9539,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -9801,9 +9557,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -9837,7 +9591,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -9867,7 +9621,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -9897,7 +9651,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -9961,7 +9715,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -9995,7 +9749,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -10025,7 +9779,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -10093,7 +9847,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -10117,10 +9871,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -10128,25 +9882,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -10158,99 +9986,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -10285,7 +10033,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -10306,7 +10054,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -10327,7 +10075,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -10523,10 +10271,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -10591,9 +10336,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -10611,10 +10354,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -10632,9 +10372,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -10671,60 +10409,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, + 351, 340, 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -10907,12 +10613,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -11095,10 +10796,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -11163,9 +10861,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -11183,10 +10879,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -11204,9 +10897,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -11407,17 +11098,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -11504,7 +11190,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -11519,7 +11205,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -11533,7 +11219,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -11541,7 +11227,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -11554,14 +11240,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -11581,7 +11267,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -11600,7 +11286,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -11613,14 +11299,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -11637,7 +11323,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -11656,20 +11342,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -11745,60 +11423,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, + 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -11928,9 +11574,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -12071,9 +11715,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -12109,7 +11751,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -12235,9 +11877,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -12273,7 +11913,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -12369,7 +12009,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -12378,7 +12018,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -12392,7 +12032,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -12404,7 +12044,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -12416,14 +12056,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -12440,13 +12080,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -12469,7 +12109,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -12490,7 +12130,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -12517,12 +12157,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -12567,7 +12202,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -12663,7 +12298,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -12672,7 +12307,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -12686,7 +12321,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -12698,7 +12333,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -12710,14 +12345,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -12734,13 +12369,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -12763,7 +12398,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -12784,7 +12419,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -12811,12 +12446,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -12861,7 +12491,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -12957,7 +12587,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -12966,7 +12596,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -12980,7 +12610,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -12992,7 +12622,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -13004,14 +12634,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -13028,13 +12658,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -13057,7 +12687,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -13078,7 +12708,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -13105,12 +12735,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -13155,7 +12780,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -13251,7 +12876,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -13260,7 +12885,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -13274,7 +12899,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -13286,7 +12911,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -13298,14 +12923,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -13322,13 +12947,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -13351,7 +12976,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -13372,7 +12997,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -13399,12 +13024,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -13449,7 +13069,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -13542,9 +13162,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -13631,10 +13249,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -13756,7 +13371,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -13828,9 +13443,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -14377,40 +13990,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -14429,7 +14019,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -14449,7 +14039,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -14500,60 +14090,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, 354, 350, 349, + 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -14770,10 +14326,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -14838,9 +14391,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -14858,10 +14409,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -14879,9 +14427,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -14923,7 +14469,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -15106,6 +14652,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -15254,15 +14837,8 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, + 448, 443, 442 ] } ], @@ -15296,7 +14872,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -15324,7 +14900,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -15347,7 +14923,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -15377,7 +14953,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -15397,7 +14973,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -15417,7 +14993,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -15436,7 +15012,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -15457,7 +15033,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -15505,7 +15081,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -15524,7 +15100,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -15554,7 +15130,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -15573,7 +15149,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -15596,7 +15172,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -15644,7 +15220,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -15672,7 +15248,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -15692,7 +15268,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -15710,7 +15286,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -15729,7 +15305,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -15753,7 +15329,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -15772,7 +15348,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -15794,7 +15370,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -15817,7 +15393,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -15840,7 +15416,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -15863,7 +15439,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -15882,12 +15458,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -15903,7 +15474,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -15922,7 +15493,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -15941,7 +15512,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -16090,10 +15661,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -16158,9 +15726,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -16178,10 +15744,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -16199,9 +15762,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -16235,7 +15796,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -16265,7 +15826,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -16295,7 +15856,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -16359,7 +15920,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -16393,7 +15954,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -16423,7 +15984,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -16491,7 +16052,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -16515,10 +16076,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -16526,25 +16087,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -16556,99 +16191,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -16683,7 +16238,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -16704,7 +16259,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -16725,7 +16280,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -16762,7 +16317,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -16782,7 +16337,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -16833,60 +16388,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, + 351, 340, 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -17069,12 +16592,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -17257,10 +16775,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -17325,9 +16840,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -17345,10 +16858,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -17366,9 +16876,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -17412,20 +16920,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -17506,7 +17006,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -17689,6 +17189,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -17837,14 +17374,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } @@ -17879,7 +17409,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -17907,7 +17437,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -17930,7 +17460,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -17960,7 +17490,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -17980,7 +17510,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -18000,7 +17530,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -18019,7 +17549,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -18040,7 +17570,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -18088,7 +17618,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -18107,7 +17637,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -18137,7 +17667,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -18156,7 +17686,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -18179,7 +17709,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -18227,7 +17757,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -18255,7 +17785,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -18275,7 +17805,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -18293,7 +17823,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -18312,7 +17842,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -18336,7 +17866,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -18355,7 +17885,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -18377,7 +17907,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -18400,7 +17930,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -18423,7 +17953,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -18446,7 +17976,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -18465,12 +17995,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -18486,7 +18011,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -18505,7 +18030,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -18524,7 +18049,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -18673,10 +18198,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -18741,9 +18263,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -18761,10 +18281,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -18782,9 +18299,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -18818,7 +18333,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -18848,7 +18363,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -18878,7 +18393,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -18942,7 +18457,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -18976,7 +18491,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -19006,7 +18521,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -19074,7 +18589,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -19098,10 +18613,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -19109,25 +18624,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -19139,99 +18728,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -19266,7 +18775,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -19287,7 +18796,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -19308,7 +18817,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -19345,7 +18854,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -19365,7 +18874,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -19416,60 +18925,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, + 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -19599,9 +19076,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -19742,9 +19217,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -19780,7 +19253,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -19906,9 +19379,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -19944,7 +19415,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -20040,7 +19511,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -20049,7 +19520,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -20063,7 +19534,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -20075,7 +19546,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -20087,14 +19558,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -20111,13 +19582,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -20140,7 +19611,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -20161,7 +19632,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -20188,12 +19659,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -20238,7 +19704,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -20334,7 +19800,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -20343,7 +19809,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -20357,7 +19823,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -20369,7 +19835,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -20381,14 +19847,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -20405,13 +19871,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -20434,7 +19900,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -20455,7 +19921,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -20482,12 +19948,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -20532,7 +19993,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -20628,7 +20089,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -20637,7 +20098,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -20651,7 +20112,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -20663,7 +20124,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -20675,14 +20136,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -20699,13 +20160,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -20728,7 +20189,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -20749,7 +20210,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -20776,12 +20237,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -20826,7 +20282,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -20922,7 +20378,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -20931,7 +20387,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -20945,7 +20401,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -20957,7 +20413,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -20969,14 +20425,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -20993,13 +20449,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -21022,7 +20478,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -21043,7 +20499,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -21070,12 +20526,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -21120,7 +20571,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -21213,9 +20664,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -21302,10 +20751,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -21427,7 +20873,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -21499,9 +20945,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -22048,40 +21492,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -22215,17 +21636,12 @@ { "title": "Properties", "kind": 1024, - "children": [ - 46, - 47 - ] + "children": [46, 47] }, { "title": "Methods", "kind": 2048, - "children": [ - 48 - ] + "children": [48] } ] } @@ -22412,10 +21828,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -22480,9 +21893,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -22500,10 +21911,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -22521,9 +21929,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -22565,7 +21971,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -22748,6 +22154,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -22896,14 +22339,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } @@ -22938,7 +22374,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -22966,7 +22402,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -22989,7 +22425,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -23019,7 +22455,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -23039,7 +22475,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -23059,7 +22495,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -23078,7 +22514,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -23099,7 +22535,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -23147,7 +22583,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -23166,7 +22602,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -23196,7 +22632,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -23215,7 +22651,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -23238,7 +22674,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -23286,7 +22722,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -23314,7 +22750,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -23334,7 +22770,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -23352,7 +22788,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -23371,7 +22807,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -23395,7 +22831,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -23414,7 +22850,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -23436,7 +22872,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -23459,7 +22895,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -23482,7 +22918,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -23505,7 +22941,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -23524,12 +22960,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -23545,7 +22976,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -23564,7 +22995,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -23583,7 +23014,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -23732,10 +23163,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -23800,9 +23228,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -23820,10 +23246,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -23841,9 +23264,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -23877,7 +23298,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -23907,7 +23328,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -23937,7 +23358,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -24001,7 +23422,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -24035,7 +23456,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -24065,7 +23486,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -24133,7 +23554,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -24157,10 +23578,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -24168,25 +23589,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -24198,99 +23693,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -24325,7 +23740,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -24346,7 +23761,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -24367,7 +23782,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -24404,7 +23819,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -24424,7 +23839,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -24475,60 +23890,28 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, + 348, 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 + 388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395 ] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -24711,12 +24094,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90, - 86, - 91, - 85 - ] + "children": [90, 86, 91, 85] } ], "sources": [ @@ -24899,10 +24277,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -24967,9 +24342,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -24987,10 +24360,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -25008,9 +24378,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -25054,20 +24422,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -25148,7 +24508,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 89, + "line": 90, "character": 2 } ], @@ -25331,6 +24691,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -25479,15 +24876,7 @@ "title": "Properties", "kind": 1024, "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 + 447, 446, 449, 444, 457, 445, 453, 448, 443, 442 ] } ], @@ -25521,7 +24910,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 42, + "line": 43, "character": 2 } ], @@ -25549,7 +24938,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 43, + "line": 44, "character": 2 } ], @@ -25572,7 +24961,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 58, + "line": 59, "character": 2 } ], @@ -25602,7 +24991,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 56, + "line": 57, "character": 2 } ], @@ -25622,7 +25011,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 55, + "line": 56, "character": 2 } ], @@ -25642,7 +25031,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 44, + "line": 45, "character": 2 } ], @@ -25661,7 +25050,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 72, + "line": 73, "character": 2 } ], @@ -25682,7 +25071,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 45, + "line": 46, "character": 2 } ], @@ -25730,7 +25119,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 49, + "line": 50, "character": 2 } ], @@ -25749,7 +25138,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 50, + "line": 51, "character": 2 } ], @@ -25779,7 +25168,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 73, + "line": 74, "character": 2 } ], @@ -25798,7 +25187,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 54, + "line": 55, "character": 2 } ], @@ -25821,7 +25210,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 46, + "line": 47, "character": 2 } ], @@ -25869,7 +25258,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 51, + "line": 52, "character": 2 } ], @@ -25897,7 +25286,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 57, + "line": 58, "character": 2 } ], @@ -25917,7 +25306,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 53, + "line": 54, "character": 2 } ], @@ -25935,7 +25324,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 52, + "line": 53, "character": 2 } ], @@ -25954,7 +25343,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 59, + "line": 60, "character": 2 } ], @@ -25978,7 +25367,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 60, + "line": 61, "character": 2 } ], @@ -25997,7 +25386,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 61, + "line": 62, "character": 2 } ], @@ -26019,7 +25408,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 63, + "line": 64, "character": 4 } ], @@ -26042,7 +25431,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 64, + "line": 65, "character": 4 } ], @@ -26065,7 +25454,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 65, + "line": 66, "character": 4 } ], @@ -26088,7 +25477,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 62, + "line": 63, "character": 4 } ], @@ -26107,12 +25496,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 362, - 363, - 360 - ] + "children": [361, 362, 363, 360] } ] } @@ -26128,7 +25512,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 47, + "line": 48, "character": 2 } ], @@ -26147,7 +25531,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 48, + "line": 49, "character": 2 } ], @@ -26166,7 +25550,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 227, + "line": 228, "character": 2 } ], @@ -26315,10 +25699,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -26383,9 +25764,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -26403,10 +25782,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -26424,9 +25800,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -26460,7 +25834,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 126, + "line": 127, "character": 2 } ], @@ -26490,7 +25864,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 207, + "line": 208, "character": 2 } ], @@ -26520,7 +25894,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 148, + "line": 149, "character": 2 } ], @@ -26584,7 +25958,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 166, + "line": 167, "character": 2 } ], @@ -26618,7 +25992,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 223, + "line": 224, "character": 2 } ], @@ -26648,7 +26022,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 200, + "line": 201, "character": 2 } ], @@ -26716,7 +26090,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 245, + "line": 246, "character": 2 } ], @@ -26740,10 +26114,10 @@ "flags": {}, "type": { "type": "reference", - "id": 457, + "id": 458, "name": "RealtimeMessage", "dereferenced": { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -26751,25 +26125,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -26781,99 +26229,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -26908,7 +26276,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 187, + "line": 188, "character": 8 } ], @@ -26929,7 +26297,7 @@ "type": "array", "elementType": { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } } @@ -26950,7 +26318,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 174, + "line": 175, "character": 8 } ], @@ -26987,7 +26355,7 @@ "typeArguments": [ { "type": "reference", - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse" } ], @@ -27007,7 +26375,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 272, + "line": 273, "character": 2 } ], @@ -27058,60 +26426,26 @@ { "title": "Constructors", "kind": 512, - "children": [ - 329 - ] + "children": [329] }, { "title": "Properties", "kind": 1024, "children": [ - 333, - 334, - 355, - 353, - 352, - 335, - 364, - 336, - 346, - 347, - 365, - 351, - 340, - 348, - 354, - 350, - 349, - 356, - 357, - 358, - 344, - 345 + 333, 334, 355, 353, 352, 335, 364, 336, 346, 347, 365, 351, 340, 348, + 354, 350, 349, 356, 357, 358, 344, 345 ] }, { "title": "Methods", "kind": 2048, - "children": [ - 388, - 366, - 384, - 368, - 372, - 386, - 379, - 392, - 377, - 374, - 395 - ] + "children": [388, 366, 384, 368, 372, 386, 379, 392, 377, 374, 395] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 41, + "line": 42, "character": 21 } ] @@ -27241,9 +26575,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 138 - ] + "children": [138] } ] } @@ -27384,9 +26716,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 150 - ] + "children": [150] } ] } @@ -27422,7 +26752,7 @@ "flags": {}, "type": { "type": "reference", - "id": 505, + "id": 506, "typeArguments": [ { "type": "reference", @@ -27548,9 +26878,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 163 - ] + "children": [163] } ] } @@ -27586,7 +26914,7 @@ "flags": {}, "type": { "type": "reference", - "id": 515, + "id": 516, "typeArguments": [ { "type": "reference", @@ -27682,7 +27010,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -27691,7 +27019,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -27705,7 +27033,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -27717,7 +27045,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -27729,14 +27057,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -27753,13 +27081,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -27782,7 +27110,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -27803,7 +27131,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -27830,12 +27158,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -27880,7 +27203,7 @@ "flags": {}, "type": { "type": "reference", - "id": 471, + "id": 472, "typeArguments": [ { "type": "reference", @@ -27976,7 +27299,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -27985,7 +27308,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -27999,7 +27322,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -28011,7 +27334,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -28023,14 +27346,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -28047,13 +27370,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -28076,7 +27399,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -28097,7 +27420,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -28124,12 +27447,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -28174,7 +27492,7 @@ "flags": {}, "type": { "type": "reference", - "id": 476, + "id": 477, "typeArguments": [ { "type": "reference", @@ -28270,7 +27588,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -28279,7 +27597,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -28293,7 +27611,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -28305,7 +27623,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -28317,14 +27635,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -28341,13 +27659,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -28370,7 +27688,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -28391,7 +27709,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -28418,12 +27736,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -28468,7 +27781,7 @@ "flags": {}, "type": { "type": "reference", - "id": 486, + "id": 487, "typeArguments": [ { "type": "reference", @@ -28564,7 +27877,7 @@ "flags": {}, "type": { "type": "reference", - "id": 464, + "id": 465, "typeArguments": [ { "type": "literal", @@ -28573,7 +27886,7 @@ ], "name": "RealtimePostgresChangesFilter", "dereferenced": { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -28587,7 +27900,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -28599,7 +27912,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -28611,14 +27924,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -28635,13 +27948,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -28664,7 +27977,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -28685,7 +27998,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -28712,12 +28025,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -28762,7 +28070,7 @@ "flags": {}, "type": { "type": "reference", - "id": 495, + "id": 496, "typeArguments": [ { "type": "reference", @@ -28855,9 +28163,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 216 - ] + "children": [216] } ] } @@ -28944,10 +28250,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223, - 222 - ] + "children": [223, 222] } ], "indexSignature": { @@ -29069,7 +28372,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reference", @@ -29141,9 +28444,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 230 - ] + "children": [230] } ], "indexSignature": { @@ -29690,40 +28991,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 75 - ] + "children": [75] }, { "title": "Properties", "kind": 1024, - "children": [ - 80, - 95, - 94, - 100, - 98, - 97, - 96, - 101, - 93, - 92, - 99 - ] + "children": [80, 95, 94, 100, 98, 97, 96, 101, 93, 92, 99] }, { "title": "Methods", "kind": 2048, - "children": [ - 133, - 110, - 226, - 102, - 117, - 243, - 127, - 237 - ] + "children": [133, 110, 226, 102, 117, 243, 127, 237] } ], "sources": [ @@ -29801,7 +29079,7 @@ ], "type": { "type": "reference", - "id": 525, + "id": 526, "typeArguments": [ { "type": "reflection", @@ -29816,7 +29094,7 @@ ], "name": "RealtimePresenceState", "dereferenced": { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -29830,7 +29108,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -29838,7 +29116,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -29851,14 +29129,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -29878,7 +29156,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -29897,7 +29175,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -29910,14 +29188,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -29934,7 +29212,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -29953,20 +29231,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 36 - ] + "children": [36] }, { "title": "Properties", "kind": 1024, - "children": [ - 44, - 50, - 43, - 42, - 40 - ] + "children": [44, 50, 43, 42, 40] } ], "sources": [ @@ -30093,10 +29363,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 323, - 322 - ] + "children": [323, 322] } ], "sources": [ @@ -30161,9 +29428,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326 - ] + "children": [326] } ], "sources": [ @@ -30181,10 +29446,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 320, - 324 - ] + "children": [320, 324] } ], "sources": [ @@ -30202,9 +29464,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 318 - ] + "children": [318] } ], "sources": [ @@ -30390,6 +29650,43 @@ "name": "number" } }, + { + "id": 457, + "name": "log_level", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 27, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "info" + }, + { + "type": "literal", + "value": "debug" + }, + { + "type": "literal", + "value": "warn" + }, + { + "type": "literal", + "value": "error" + } + ] + } + }, { "id": 445, "name": "logger", @@ -30537,17 +29834,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 447, - 446, - 449, - 444, - 445, - 453, - 448, - 443, - 442 - ] + "children": [447, 446, 449, 444, 457, 445, 453, 448, 443, 442] } ], "sources": [ @@ -30561,7 +29848,7 @@ } }, { - "id": 457, + "id": 458, "name": "RealtimeMessage", "kind": 4194304, "kindString": "Type alias", @@ -30569,25 +29856,99 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 458, + "id": 459, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 460, + "id": 461, "name": "event", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 32, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 464, + "name": "join_ref", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 35, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 462, + "name": "payload", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 463, + "name": "ref", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "RealtimeClient.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 460, + "name": "topic", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "RealtimeClient.ts", @@ -30599,99 +29960,19 @@ "type": "intrinsic", "name": "string" } - }, - { - "id": 463, - "name": "join_ref", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 34, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 461, - "name": "payload", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 32, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 462, - "name": "ref", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "topic", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "RealtimeClient.ts", - "line": 30, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } } ], "groups": [ { "title": "Properties", "kind": 1024, - "children": [ - 460, - 463, - 461, - 462, - 459 - ] + "children": [461, 464, 462, 463, 460] } ], "sources": [ { "fileName": "RealtimeClient.ts", - "line": 29, + "line": 30, "character": 30 } ] @@ -30699,7 +29980,7 @@ } }, { - "id": 464, + "id": 465, "name": "RealtimePostgresChangesFilter", "kind": 4194304, "kindString": "Type alias", @@ -30713,7 +29994,7 @@ ], "typeParameter": [ { - "id": 470, + "id": 471, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -30725,7 +30006,7 @@ [ { "type": "reference", - "id": 539, + "id": 540, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT" }, "" @@ -30737,14 +30018,14 @@ "type": { "type": "reflection", "declaration": { - "id": 465, + "id": 466, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 466, + "id": 467, "name": "event", "kind": 1024, "kindString": "Property", @@ -30761,13 +30042,13 @@ ], "type": { "type": "reference", - "id": 470, + "id": 471, "name": "T", "dereferenced": {} } }, { - "id": 469, + "id": 470, "name": "filter", "kind": 1024, "kindString": "Property", @@ -30790,7 +30071,7 @@ } }, { - "id": 467, + "id": 468, "name": "schema", "kind": 1024, "kindString": "Property", @@ -30811,7 +30092,7 @@ } }, { - "id": 468, + "id": 469, "name": "table", "kind": 1024, "kindString": "Property", @@ -30838,12 +30119,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 466, - 469, - 467, - 468 - ] + "children": [467, 470, 468, 469] } ], "sources": [ @@ -30857,7 +30133,7 @@ } }, { - "id": 471, + "id": 472, "name": "RealtimePostgresChangesPayload", "kind": 4194304, "kindString": "Type alias", @@ -30871,7 +30147,7 @@ ], "typeParameter": [ { - "id": 475, + "id": 476, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -30879,7 +30155,7 @@ "type": { "type": "reflection", "declaration": { - "id": 472, + "id": 473, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -30892,14 +30168,14 @@ } ], "indexSignature": { - "id": 473, + "id": 474, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 474, + "id": 475, "name": "key", "kind": 32768, "flags": {}, @@ -30922,7 +30198,7 @@ "type": "union", "types": [ { - "id": 476, + "id": 477, "name": "RealtimePostgresInsertPayload", "kind": 4194304, "kindString": "Type alias", @@ -30936,7 +30212,7 @@ ], "typeParameter": [ { - "id": 485, + "id": 486, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -30944,7 +30220,7 @@ "type": { "type": "reflection", "declaration": { - "id": 482, + "id": 483, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -30957,14 +30233,14 @@ } ], "indexSignature": { - "id": 483, + "id": 484, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 484, + "id": 485, "name": "key", "kind": 32768, "flags": {}, @@ -30993,14 +30269,14 @@ { "type": "reflection", "declaration": { - "id": 477, + "id": 478, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 478, + "id": 479, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31019,7 +30295,7 @@ [ { "type": "reference", - "id": 541, + "id": 542, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" }, "" @@ -31028,7 +30304,7 @@ } }, { - "id": 479, + "id": 480, "name": "new", "kind": 1024, "kindString": "Property", @@ -31042,12 +30318,12 @@ ], "type": { "type": "reference", - "id": 485, + "id": 486, "name": "T" } }, { - "id": 480, + "id": 481, "name": "old", "kind": 1024, "kindString": "Property", @@ -31062,7 +30338,7 @@ "type": { "type": "reflection", "declaration": { - "id": 481, + "id": 482, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31082,11 +30358,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 478, - 479, - 480 - ] + "children": [479, 480, 481] } ], "sources": [ @@ -31102,7 +30374,7 @@ } }, { - "id": 486, + "id": 487, "name": "RealtimePostgresUpdatePayload", "kind": 4194304, "kindString": "Type alias", @@ -31116,7 +30388,7 @@ ], "typeParameter": [ { - "id": 494, + "id": 495, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -31124,7 +30396,7 @@ "type": { "type": "reflection", "declaration": { - "id": 491, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31137,14 +30409,14 @@ } ], "indexSignature": { - "id": 492, + "id": 493, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 493, + "id": 494, "name": "key", "kind": 32768, "flags": {}, @@ -31173,14 +30445,14 @@ { "type": "reflection", "declaration": { - "id": 487, + "id": 488, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 488, + "id": 489, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31199,7 +30471,7 @@ [ { "type": "reference", - "id": 542, + "id": 543, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" }, "" @@ -31208,7 +30480,7 @@ } }, { - "id": 489, + "id": 490, "name": "new", "kind": 1024, "kindString": "Property", @@ -31222,12 +30494,12 @@ ], "type": { "type": "reference", - "id": 494, + "id": 495, "name": "T" } }, { - "id": 490, + "id": 491, "name": "old", "kind": 1024, "kindString": "Property", @@ -31244,7 +30516,7 @@ "typeArguments": [ { "type": "reference", - "id": 494, + "id": 495, "name": "T" } ], @@ -31258,11 +30530,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 488, - 489, - 490 - ] + "children": [489, 490, 491] } ], "sources": [ @@ -31278,7 +30546,7 @@ } }, { - "id": 495, + "id": 496, "name": "RealtimePostgresDeletePayload", "kind": 4194304, "kindString": "Type alias", @@ -31292,7 +30560,7 @@ ], "typeParameter": [ { - "id": 504, + "id": 505, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -31300,7 +30568,7 @@ "type": { "type": "reflection", "declaration": { - "id": 501, + "id": 502, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31313,14 +30581,14 @@ } ], "indexSignature": { - "id": 502, + "id": 503, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 503, + "id": 504, "name": "key", "kind": 32768, "flags": {}, @@ -31349,14 +30617,14 @@ { "type": "reflection", "declaration": { - "id": 496, + "id": 497, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 498, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31375,7 +30643,7 @@ [ { "type": "reference", - "id": 543, + "id": 544, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" }, "" @@ -31384,7 +30652,7 @@ } }, { - "id": 498, + "id": 499, "name": "new", "kind": 1024, "kindString": "Property", @@ -31399,7 +30667,7 @@ "type": { "type": "reflection", "declaration": { - "id": 499, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31415,7 +30683,7 @@ } }, { - "id": 500, + "id": 501, "name": "old", "kind": 1024, "kindString": "Property", @@ -31432,7 +30700,7 @@ "typeArguments": [ { "type": "reference", - "id": 504, + "id": 505, "name": "T" } ], @@ -31446,11 +30714,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497, - 498, - 500 - ] + "children": [498, 499, 501] } ], "sources": [ @@ -31469,7 +30733,7 @@ } }, { - "id": 495, + "id": 496, "name": "RealtimePostgresDeletePayload", "kind": 4194304, "kindString": "Type alias", @@ -31483,7 +30747,7 @@ ], "typeParameter": [ { - "id": 504, + "id": 505, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -31491,7 +30755,7 @@ "type": { "type": "reflection", "declaration": { - "id": 501, + "id": 502, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31504,14 +30768,14 @@ } ], "indexSignature": { - "id": 502, + "id": 503, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 503, + "id": 504, "name": "key", "kind": 32768, "flags": {}, @@ -31540,14 +30804,14 @@ { "type": "reflection", "declaration": { - "id": 496, + "id": 497, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 497, + "id": 498, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31566,7 +30830,7 @@ [ { "type": "reference", - "id": 543, + "id": 544, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE" }, "" @@ -31575,7 +30839,7 @@ } }, { - "id": 498, + "id": 499, "name": "new", "kind": 1024, "kindString": "Property", @@ -31590,7 +30854,7 @@ "type": { "type": "reflection", "declaration": { - "id": 499, + "id": 500, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31606,7 +30870,7 @@ } }, { - "id": 500, + "id": 501, "name": "old", "kind": 1024, "kindString": "Property", @@ -31623,7 +30887,7 @@ "typeArguments": [ { "type": "reference", - "id": 504, + "id": 505, "name": "T" } ], @@ -31637,11 +30901,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 497, - 498, - 500 - ] + "children": [498, 499, 501] } ], "sources": [ @@ -31657,7 +30917,7 @@ } }, { - "id": 476, + "id": 477, "name": "RealtimePostgresInsertPayload", "kind": 4194304, "kindString": "Type alias", @@ -31671,7 +30931,7 @@ ], "typeParameter": [ { - "id": 485, + "id": 486, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -31679,7 +30939,7 @@ "type": { "type": "reflection", "declaration": { - "id": 482, + "id": 483, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31692,14 +30952,14 @@ } ], "indexSignature": { - "id": 483, + "id": 484, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 484, + "id": 485, "name": "key", "kind": 32768, "flags": {}, @@ -31728,14 +30988,14 @@ { "type": "reflection", "declaration": { - "id": 477, + "id": 478, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 478, + "id": 479, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31754,7 +31014,7 @@ [ { "type": "reference", - "id": 541, + "id": 542, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT" }, "" @@ -31763,7 +31023,7 @@ } }, { - "id": 479, + "id": 480, "name": "new", "kind": 1024, "kindString": "Property", @@ -31777,12 +31037,12 @@ ], "type": { "type": "reference", - "id": 485, + "id": 486, "name": "T" } }, { - "id": 480, + "id": 481, "name": "old", "kind": 1024, "kindString": "Property", @@ -31797,7 +31057,7 @@ "type": { "type": "reflection", "declaration": { - "id": 481, + "id": 482, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31817,11 +31077,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 478, - 479, - 480 - ] + "children": [479, 480, 481] } ], "sources": [ @@ -31837,7 +31093,7 @@ } }, { - "id": 486, + "id": 487, "name": "RealtimePostgresUpdatePayload", "kind": 4194304, "kindString": "Type alias", @@ -31851,7 +31107,7 @@ ], "typeParameter": [ { - "id": 494, + "id": 495, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -31859,7 +31115,7 @@ "type": { "type": "reflection", "declaration": { - "id": 491, + "id": 492, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -31872,14 +31128,14 @@ } ], "indexSignature": { - "id": 492, + "id": 493, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 493, + "id": 494, "name": "key", "kind": 32768, "flags": {}, @@ -31908,14 +31164,14 @@ { "type": "reflection", "declaration": { - "id": 487, + "id": 488, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 488, + "id": 489, "name": "eventType", "kind": 1024, "kindString": "Property", @@ -31934,7 +31190,7 @@ [ { "type": "reference", - "id": 542, + "id": 543, "name": "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE" }, "" @@ -31943,7 +31199,7 @@ } }, { - "id": 489, + "id": 490, "name": "new", "kind": 1024, "kindString": "Property", @@ -31957,12 +31213,12 @@ ], "type": { "type": "reference", - "id": 494, + "id": 495, "name": "T" } }, { - "id": 490, + "id": 491, "name": "old", "kind": 1024, "kindString": "Property", @@ -31979,7 +31235,7 @@ "typeArguments": [ { "type": "reference", - "id": 494, + "id": 495, "name": "T" } ], @@ -31993,11 +31249,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 488, - 489, - 490 - ] + "children": [489, 490, 491] } ], "sources": [ @@ -32013,7 +31265,7 @@ } }, { - "id": 505, + "id": 506, "name": "RealtimePresenceJoinPayload", "kind": 4194304, "kindString": "Type alias", @@ -32027,7 +31279,7 @@ ], "typeParameter": [ { - "id": 514, + "id": 515, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -32035,7 +31287,7 @@ "type": { "type": "reflection", "declaration": { - "id": 511, + "id": 512, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -32048,14 +31300,14 @@ } ], "indexSignature": { - "id": 512, + "id": 513, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 513, + "id": 514, "name": "key", "kind": 32768, "flags": {}, @@ -32077,14 +31329,14 @@ "type": { "type": "reflection", "declaration": { - "id": 506, + "id": 507, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 509, + "id": 510, "name": "currentPresences", "kind": 1024, "kindString": "Property", @@ -32103,7 +31355,7 @@ "typeArguments": [ { "type": "reference", - "id": 514, + "id": 515, "name": "T" } ], @@ -32112,7 +31364,7 @@ } }, { - "id": 507, + "id": 508, "name": "event", "kind": 1024, "kindString": "Property", @@ -32131,7 +31383,7 @@ [ { "type": "reference", - "id": 546, + "id": 547, "name": "REALTIME_PRESENCE_LISTEN_EVENTS.JOIN" }, "" @@ -32140,7 +31392,7 @@ } }, { - "id": 508, + "id": 509, "name": "key", "kind": 1024, "kindString": "Property", @@ -32158,7 +31410,7 @@ } }, { - "id": 510, + "id": 511, "name": "newPresences", "kind": 1024, "kindString": "Property", @@ -32177,7 +31429,7 @@ "typeArguments": [ { "type": "reference", - "id": 514, + "id": 515, "name": "T" } ], @@ -32190,12 +31442,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 509, - 507, - 508, - 510 - ] + "children": [510, 508, 509, 511] } ], "sources": [ @@ -32209,7 +31456,7 @@ } }, { - "id": 515, + "id": 516, "name": "RealtimePresenceLeavePayload", "kind": 4194304, "kindString": "Type alias", @@ -32223,7 +31470,7 @@ ], "typeParameter": [ { - "id": 524, + "id": 525, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -32231,7 +31478,7 @@ "type": { "type": "reflection", "declaration": { - "id": 521, + "id": 522, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -32244,14 +31491,14 @@ } ], "indexSignature": { - "id": 522, + "id": 523, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 523, + "id": 524, "name": "key", "kind": 32768, "flags": {}, @@ -32273,14 +31520,14 @@ "type": { "type": "reflection", "declaration": { - "id": 516, + "id": 517, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 519, + "id": 520, "name": "currentPresences", "kind": 1024, "kindString": "Property", @@ -32299,7 +31546,7 @@ "typeArguments": [ { "type": "reference", - "id": 524, + "id": 525, "name": "T" } ], @@ -32308,7 +31555,7 @@ } }, { - "id": 517, + "id": 518, "name": "event", "kind": 1024, "kindString": "Property", @@ -32327,7 +31574,7 @@ [ { "type": "reference", - "id": 547, + "id": 548, "name": "REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE" }, "" @@ -32336,7 +31583,7 @@ } }, { - "id": 518, + "id": 519, "name": "key", "kind": 1024, "kindString": "Property", @@ -32354,7 +31601,7 @@ } }, { - "id": 520, + "id": 521, "name": "leftPresences", "kind": 1024, "kindString": "Property", @@ -32373,7 +31620,7 @@ "typeArguments": [ { "type": "reference", - "id": 524, + "id": 525, "name": "T" } ], @@ -32386,12 +31633,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 519, - 517, - 518, - 520 - ] + "children": [520, 518, 519, 521] } ], "sources": [ @@ -32405,7 +31647,7 @@ } }, { - "id": 525, + "id": 526, "name": "RealtimePresenceState", "kind": 4194304, "kindString": "Type alias", @@ -32419,7 +31661,7 @@ ], "typeParameter": [ { - "id": 533, + "id": 534, "name": "T", "kind": 131072, "kindString": "Type parameter", @@ -32427,7 +31669,7 @@ "type": { "type": "reflection", "declaration": { - "id": 529, + "id": 530, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -32440,14 +31682,14 @@ } ], "indexSignature": { - "id": 530, + "id": 531, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 531, + "id": 532, "name": "key", "kind": 32768, "flags": {}, @@ -32467,7 +31709,7 @@ "default": { "type": "reflection", "declaration": { - "id": 532, + "id": 533, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -32486,7 +31728,7 @@ "type": { "type": "reflection", "declaration": { - "id": 526, + "id": 527, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -32499,14 +31741,14 @@ } ], "indexSignature": { - "id": 527, + "id": 528, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 528, + "id": 529, "name": "key", "kind": 32768, "flags": {}, @@ -32523,7 +31765,7 @@ "typeArguments": [ { "type": "reference", - "id": 533, + "id": 534, "name": "T" } ], @@ -32535,7 +31777,7 @@ } }, { - "id": 534, + "id": 535, "name": "RealtimeRemoveChannelResponse", "kind": 4194304, "kindString": "Type alias", @@ -32543,7 +31785,7 @@ "sources": [ { "fileName": "RealtimeClient.ts", - "line": 37, + "line": 38, "character": 12 } ], @@ -32570,40 +31812,17 @@ { "title": "Enumerations", "kind": 8, - "children": [ - 535, - 539, - 544, - 548 - ] + "children": [536, 540, 545, 549] }, { "title": "Classes", "kind": 128, - "children": [ - 64, - 328, - 1 - ] + "children": [64, 328, 1] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 316, - 327, - 440, - 457, - 464, - 471, - 495, - 476, - 486, - 505, - 515, - 525, - 534 - ] + "children": [316, 327, 440, 458, 465, 472, 496, 477, 487, 506, 516, 526, 535] } ], "sources": [ @@ -32613,4 +31832,4 @@ "character": 0 } ] -} \ No newline at end of file +} diff --git a/spec/enrichments/tsdoc_v2/storage.json b/spec/enrichments/tsdoc_v2/storage.json index 24cc94a246a..79756f23f4a 100644 --- a/spec/enrichments/tsdoc_v2/storage.json +++ b/spec/enrichments/tsdoc_v2/storage.json @@ -1,7986 +1,7670 @@ { - "id": 0, - "name": "@supabase/storage-js", - "kind": 1, - "flags": {}, - "originalName": "", - "children": [ - { - "id": 1, - "name": "index", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 442, - "name": "StorageApiError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 443, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 17, - "character": 2 - } - ], - "signatures": [ - { - "id": 444, - "name": "new StorageApiError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 445, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 446, - "name": "status", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "type": { - "type": "reference", - "id": 442, - "name": "StorageApiError" - }, - "overwrites": { - "type": "reference", - "id": 439, - "name": "StorageError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 438, - "name": "StorageError.constructor" - } - }, - { - "id": 447, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 15, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 448, - "name": "toJSON", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 23, - "character": 2 - } - ], - "signatures": [ - { - "id": 449, - "name": "toJSON", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 450, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 452, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 26, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 451, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 25, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - }, - { - "id": 453, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 27, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 452, - 451, - 453 - ] - } - ] - } - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 443 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 447 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 448 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 14, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 437, - "name": "StorageError" - } - ] - }, - { - "id": 297, - "name": "StorageClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 298, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/StorageClient.ts", - "line": 6, - "character": 2 - } - ], - "signatures": [ - { - "id": 299, - "name": "new StorageClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 300, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 301, - "name": "headers", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 302, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 303, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 304, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - }, - "defaultValue": "{}" - }, - { - "id": 305, - "name": "fetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 306, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 307, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 308, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - } - }, - { - "id": 309, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 297, - "name": "StorageClient" - }, - "overwrites": { - "type": "reference", - "id": 5, - "name": "default.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 4, - "name": "default.constructor" - } - }, - { - "id": 340, - "name": "createBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 85, - "character": 8 - } - ], - "signatures": [ - { - "id": 341, - "name": "createBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a new Storage bucket", - "returns": "newly created bucket id\n" - }, - "parameters": [ - { - "id": 342, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A unique identifier for the bucket you are creating." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 343, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 344, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 347, - "name": "allowedMimeTypes", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 90, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - ] - } - }, - { - "id": 346, - "name": "fileSizeLimit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 89, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - }, - { - "id": 345, - "name": "public", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 88, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 347, - 346, - 345 - ] - } - ] - } - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 348, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 349, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 96, - "character": 8 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 392, - "name": "Bucket" - }, - { - "type": "literal", - "value": "name" - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 350, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 97, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 349, - 350 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 351, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 352, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 100, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 353, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 101, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 352, - 353 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 44, - "name": "default.createBucket" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 43, - "name": "default.createBucket" - } - }, - { - "id": 381, - "name": "deleteBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 219, - "character": 8 - } - ], - "signatures": [ - { - "id": 382, - "name": "deleteBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.\nYou must first `empty()` the bucket." - }, - "parameters": [ - { - "id": 383, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to delete.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 384, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 385, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 223, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 386, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 387, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 223, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 387 - ] - } - ] - } - } - }, - { - "id": 388, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 224, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 385, - 388 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 389, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 390, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 227, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 391, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 228, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 390, - 391 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 85, - "name": "default.deleteBucket" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 84, - "name": "default.deleteBucket" - } - }, - { - "id": 370, - "name": "emptyBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 184, - "character": 8 - } - ], - "signatures": [ - { - "id": 371, - "name": "emptyBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Removes all objects inside a single bucket." - }, - "parameters": [ - { - "id": 372, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to empty.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 373, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 374, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 188, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 375, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 376, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 188, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 376 - ] - } - ] - } - } - }, - { - "id": 377, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 189, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 374, - 377 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 378, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 379, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 192, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 380, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 193, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 379, - 380 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 74, - "name": "default.emptyBucket" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 73, - "name": "default.emptyBucket" - } - }, - { - "id": 310, - "name": "from", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/StorageClient.ts", - "line": 15, - "character": 2 - } - ], - "signatures": [ - { - "id": 311, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform file operation in a bucket." - }, - "parameters": [ - { - "id": 312, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The bucket id to operate on.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 96, - "name": "default" - } - } - ] - }, - { - "id": 331, - "name": "getBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 48, - "character": 8 - } - ], - "signatures": [ - { - "id": 332, - "name": "getBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Retrieves the details of an existing Storage bucket." - }, - "parameters": [ - { - "id": 333, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to retrieve.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 334, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 335, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 52, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 392, - "name": "Bucket" - } - }, - { - "id": 336, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 53, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 335, - 336 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 337, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 338, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 56, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 339, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 57, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 338, - 339 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 35, - "name": "default.getBucket" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 34, - "name": "default.getBucket" - } - }, - { - "id": 323, - "name": "listBuckets", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 21, - "character": 8 - } - ], - "signatures": [ - { - "id": 324, - "name": "listBuckets", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Retrieves the details of all Storage buckets within an existing project." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 325, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 326, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 23, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 392, - "name": "Bucket" - } - } - }, - { - "id": 327, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 24, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 326, - 327 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 328, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 329, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 27, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 330, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 28, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 329, - 330 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 27, - "name": "default.listBuckets" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 26, - "name": "default.listBuckets" - } - }, - { - "id": 354, - "name": "updateBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 139, - "character": 8 - } - ], - "signatures": [ - { - "id": 355, - "name": "updateBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Updates a Storage bucket" - }, - "parameters": [ - { - "id": 356, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A unique identifier for the bucket you are updating." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 357, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 358, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 361, - "name": "allowedMimeTypes", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 144, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - ] - } - }, - { - "id": 360, - "name": "fileSizeLimit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 143, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - }, - { - "id": 359, - "name": "public", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 142, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 361, - 360, - 359 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 362, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 363, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 148, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 364, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 365, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 148, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 365 - ] - } - ] - } - } - }, - { - "id": 366, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 149, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 363, - 366 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 367, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 368, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 152, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 369, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 153, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 368, - 369 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - }, - "inheritedFrom": { - "type": "reference", - "id": 58, - "name": "default.updateBucket" - } - } - ], - "inheritedFrom": { - "type": "reference", - "id": 57, - "name": "default.updateBucket" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 298 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 340, - 381, - 370, - 310, - 331, - 323, - 354 - ] - } - ], - "sources": [ - { - "fileName": "src/StorageClient.ts", - "line": 5, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 3, - "name": "default" - } - ] - }, - { - "id": 437, - "name": "StorageError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 438, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 4, - "character": 2 - } - ], - "signatures": [ - { - "id": 439, - "name": "new StorageError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 440, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - }, - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "name": "Error.constructor" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 438 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 1, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "qualifiedName": "Error", - "package": "typescript", - "name": "Error" - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 442, - "name": "StorageApiError" - }, - { - "type": "reference", - "id": 455, - "name": "StorageUnknownError" - } - ] - }, - { - "id": 455, - "name": "StorageUnknownError", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 456, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 35, - "character": 2 - } - ], - "signatures": [ - { - "id": 457, - "name": "new StorageUnknownError", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 458, - "name": "message", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 459, - "name": "originalError", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "reference", - "id": 455, - "name": "StorageUnknownError" - }, - "overwrites": { - "type": "reference", - "id": 439, - "name": "StorageError.constructor" - } - } - ], - "overwrites": { - "type": "reference", - "id": 438, - "name": "StorageError.constructor" - } - }, - { - "id": 460, - "name": "originalError", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 456 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 460 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 32, - "character": 13 - } - ], - "extendedTypes": [ - { - "type": "reference", - "id": 437, - "name": "StorageError" - } - ] - }, - { - "id": 392, - "name": "Bucket", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 397, - "name": "allowed_mime_types", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 6, - "character": 2 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 398, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 7, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 396, - "name": "file_size_limit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 5, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 393, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 2, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 394, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 3, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 395, - "name": "owner", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 4, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 400, - "name": "public", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 9, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 399, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 8, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 397, - 398, - 396, - 393, - 394, - 395, - 400, - 399 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 1, - "character": 17 - } - ] - }, - { - "id": 424, - "name": "FetchParameters", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 425, - "name": "signal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Pass in an AbortController's signal to cancel the request." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 74, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "AbortSignal", - "package": "typescript", - "name": "AbortSignal" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 425 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 70, - "character": 17 - } - ] - }, - { - "id": 401, - "name": "FileObject", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 403, - "name": "bucket_id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 14, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 410, - "name": "buckets", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 21, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 392, - "name": "Bucket" - } - }, - { - "id": 407, - "name": "created_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 405, - "name": "id", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 16, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 408, - "name": "last_accessed_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 19, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 409, - "name": "metadata", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 20, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "any" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 402, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 13, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 404, - "name": "owner", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 15, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 406, - "name": "updated_at", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 17, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 403, - 410, - 407, - 405, - 408, - 409, - 402, - 404, - 406 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 12, - "character": 17 - } - ] - }, - { - "id": 414, - "name": "FileOptions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 415, - "name": "cacheControl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The number of seconds the asset is cached in the browser and in the Supabase CDN. This is set in the `Cache-Control: max-age=` header. Defaults to 3600 seconds." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 33, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 416, - "name": "contentType", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 37, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 418, - "name": "duplex", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The duplex option is a string parameter that enables or disables duplex streaming, allowing for both reading and writing data in the same stream. It can be passed as an option to the fetch() method." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 45, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 417, - "name": "upsert", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "When upsert is set to true, the file is overwritten if it exists. When set to false, an error is thrown if the object already exists. Defaults to false." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 41, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 29, - "character": 17 - } - ] - }, - { - "id": 426, - "name": "Metadata", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 427, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 79, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 427 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 78, - "character": 17 - } - ] - }, - { - "id": 419, - "name": "SearchOptions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 420, - "name": "limit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": " The number of files you want to be returned." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 52, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 421, - "name": "offset", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The starting position." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 57, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 423, - "name": "search", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The search string to filter files by." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 422, - "name": "sortBy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The column to sort by. Can be any column inside a FileObject." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 62, - "character": 2 - } - ], - "type": { - "type": "reference", - "id": 411, - "name": "SortBy" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 420, - 421, - 423, - 422 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 48, - "character": 17 - } - ] - }, - { - "id": 411, - "name": "SortBy", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 412, - "name": "column", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 25, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 413, - "name": "order", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 26, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 412, - 413 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 24, - "character": 17 - } - ] - }, - { - "id": 428, - "name": "TransformOptions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 433, - "name": "format", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Specify the format of the image requested.", - "text": "When using 'origin' we force the format to be the same as the original image.\nWhen this option is not passed in, images are optimized to modern image formats like Webp.\n" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 110, - "character": 2 - } - ], - "type": { - "type": "literal", - "value": "origin" - } - }, - { - "id": 430, - "name": "height", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The height of the image in pixels." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 90, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 432, - "name": "quality", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Set the quality of the returned image.\nA number from 20 to 100, with 100 being the highest quality.\nDefaults to 80" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 103, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 431, - "name": "resize", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The resize mode can be cover, contain or fill. Defaults to cover.\nCover resizes the image to maintain it's aspect ratio while filling the entire width and height.\nContain resizes the image to maintain it's aspect ratio while fitting the entire image within the width and height.\nFill resizes the image to fill the entire width and height. If the object's aspect ratio does not match the width and height, the image will be stretched to fit." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 97, - "character": 2 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "cover" - }, - { - "type": "literal", - "value": "contain" - }, - { - "type": "literal", - "value": "fill" - } - ] - } - }, - { - "id": 429, - "name": "width", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The width of the image in pixels." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 86, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 82, - "character": 17 - } - ] - }, - { - "id": 434, - "name": "isStorageError", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/errors.ts", - "line": 10, - "character": 16 - } - ], - "signatures": [ - { - "id": 435, - "name": "isStorageError", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 436, - "name": "error", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "type": { - "type": "predicate", - "name": "error", - "asserts": false, - "targetType": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 442, - 297, - 437, - 455 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 392, - 424, - 401, - 414, - 426, - 419, - 411, - 428 - ] - }, - { - "title": "Functions", - "kind": 64, - "children": [ - 434 - ] - } - ], - "sources": [ - { - "fileName": "src/index.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 2, - "name": "packages/StorageBucketApi", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 3, - "name": "default", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 4, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 12, - "character": 2 - } - ], - "signatures": [ - { - "id": 5, - "name": "new default", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 6, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 7, - "name": "headers", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 8, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 9, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 10, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - }, - "defaultValue": "{}" - }, - { - "id": 11, - "name": "fetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 12, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 13, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 14, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - } - }, - { - "id": 15, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 3, - "name": "default" - } - } - ] - }, - { - "id": 43, - "name": "createBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 85, - "character": 8 - } - ], - "signatures": [ - { - "id": 44, - "name": "createBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a new Storage bucket", - "returns": "newly created bucket id\n" - }, - "parameters": [ - { - "id": 45, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A unique identifier for the bucket you are creating." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 46, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 47, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 50, - "name": "allowedMimeTypes", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 90, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - ] - } - }, - { - "id": 49, - "name": "fileSizeLimit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 89, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - }, - { - "id": 48, - "name": "public", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 88, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 50, - 49, - 48 - ] - } - ] - } - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 51, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 52, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 96, - "character": 8 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 392, - "name": "Bucket" - }, - { - "type": "literal", - "value": "name" - } - ], - "qualifiedName": "Pick", - "package": "typescript", - "name": "Pick" - } - }, - { - "id": 53, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 97, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 52, - 53 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 54, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 55, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 100, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 56, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 101, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 55, - 56 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 84, - "name": "deleteBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 219, - "character": 8 - } - ], - "signatures": [ - { - "id": 85, - "name": "deleteBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.\nYou must first `empty()` the bucket." - }, - "parameters": [ - { - "id": 86, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to delete.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 87, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 88, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 223, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 89, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 90, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 223, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 90 - ] - } - ] - } - } - }, - { - "id": 91, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 224, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 91 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 92, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 93, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 227, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 94, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 228, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 93, - 94 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 73, - "name": "emptyBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 184, - "character": 8 - } - ], - "signatures": [ - { - "id": 74, - "name": "emptyBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Removes all objects inside a single bucket." - }, - "parameters": [ - { - "id": 75, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to empty.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 76, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 77, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 188, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 78, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 79, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 188, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 79 - ] - } - ] - } - } - }, - { - "id": 80, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 189, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 77, - 80 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 82, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 192, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 83, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 193, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 82, - 83 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 34, - "name": "getBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 48, - "character": 8 - } - ], - "signatures": [ - { - "id": 35, - "name": "getBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Retrieves the details of an existing Storage bucket." - }, - "parameters": [ - { - "id": 36, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique identifier of the bucket you would like to retrieve.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 37, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 38, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 52, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 392, - "name": "Bucket" - } - }, - { - "id": 39, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 53, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 38, - 39 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 40, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 41, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 56, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 42, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 57, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 41, - 42 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 26, - "name": "listBuckets", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 21, - "character": 8 - } - ], - "signatures": [ - { - "id": 27, - "name": "listBuckets", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Retrieves the details of all Storage buckets within an existing project." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 28, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 29, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 23, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 392, - "name": "Bucket" - } - } - }, - { - "id": 30, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 24, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 29, - 30 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 31, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 32, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 27, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 33, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 28, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 32, - 33 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 57, - "name": "updateBucket", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 139, - "character": 8 - } - ], - "signatures": [ - { - "id": 58, - "name": "updateBucket", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Updates a Storage bucket" - }, - "parameters": [ - { - "id": 59, - "name": "id", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "A unique identifier for the bucket you are updating." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 60, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 61, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 64, - "name": "allowedMimeTypes", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 144, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - ] - } - }, - { - "id": 63, - "name": "fileSizeLimit", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 143, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "number" - } - ] - } - }, - { - "id": 62, - "name": "public", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations." - }, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 142, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 64, - 63, - 62 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 65, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 66, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 148, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 67, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 68, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 148, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 68 - ] - } - ] - } - } - }, - { - "id": 69, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 149, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 66, - 69 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 70, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 71, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 152, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 72, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 153, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 71, - 72 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 4 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 43, - 84, - 73, - 34, - 26, - 57 - ] - } - ], - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 7, - "character": 21 - } - ], - "extendedBy": [ - { - "type": "reference", - "id": 297, - "name": "StorageClient" - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 3 - ] - } - ], - "sources": [ - { - "fileName": "src/packages/StorageBucketApi.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 95, - "name": "packages/StorageFileApi", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 96, - "name": "default", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 97, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 45, - "character": 2 - } - ], - "signatures": [ - { - "id": 98, - "name": "new default", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 99, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 100, - "name": "headers", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 101, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 102, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 103, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - }, - "defaultValue": "{}" - }, - { - "id": 104, - "name": "bucketId", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 105, - "name": "fetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 106, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 107, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 108, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - } - }, - { - "id": 109, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "id": 96, - "name": "default" - } - } - ] - }, - { - "id": 200, - "name": "copy", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 334, - "character": 8 - } - ], - "signatures": [ - { - "id": 201, - "name": "copy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Copies an existing file to a new path in the same bucket." - }, - "parameters": [ - { - "id": 202, - "name": "fromPath", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The original file path, including the current file name. For example `folder/image.png`." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 203, - "name": "toPath", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The new file path, including the new file name. For example `folder/image-copy.png`.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 204, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 205, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 339, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 206, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 207, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 339, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 207 - ] - } - ] - } - } - }, - { - "id": 208, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 340, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 205, - 208 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 209, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 210, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 343, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 211, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 344, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 210, - 211 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 162, - "name": "createSignedUploadUrl", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 219, - "character": 8 - } - ], - "signatures": [ - { - "id": 163, - "name": "createSignedUploadUrl", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a signed upload URL.\nSigned upload URLs can be used to upload files to the bucket without further authentication.\nThey are valid for 2 hours." - }, - "parameters": [ - { - "id": 164, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The file path, including the current file name. For example `folder/image.png`.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 165, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 166, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 223, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 167, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 170, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 223, - "character": 50 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 168, - "name": "signedUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 223, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 169, - "name": "token", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 223, - "character": 35 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 170, - 168, - 169 - ] - } - ] - } - } - }, - { - "id": 171, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 224, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 166, - 171 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 172, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 173, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 227, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 174, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 228, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 173, - 174 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 212, - "name": "createSignedUrl", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 372, - "character": 8 - } - ], - "signatures": [ - { - "id": 213, - "name": "createSignedUrl", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a signed URL. Use a signed URL to share a file for a fixed amount of time." - }, - "parameters": [ - { - "id": 214, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The file path, including the current file name. For example `folder/image.png`." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 215, - "name": "expiresIn", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute." - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 216, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 217, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 218, - "name": "download", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename." - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 375, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "boolean" - } - ] - } - }, - { - "id": 219, - "name": "transform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Transform the asset before serving it to the client.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 375, - "character": 45 - } - ], - "type": { - "type": "reference", - "id": 428, - "name": "TransformOptions" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 218, - 219 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 220, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 221, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 378, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 222, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 223, - "name": "signedUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 378, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 223 - ] - } - ] - } - } - }, - { - "id": 224, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 379, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 221, - 224 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 225, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 226, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 382, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 227, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 383, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 226, - 227 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 228, - "name": "createSignedUrls", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 417, - "character": 8 - } - ], - "signatures": [ - { - "id": 229, - "name": "createSignedUrls", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time." - }, - "parameters": [ - { - "id": 230, - "name": "paths", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`." - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 231, - "name": "expiresIn", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute." - }, - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 232, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 233, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 234, - "name": "download", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 420, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "boolean" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 234 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 235, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 236, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 423, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reflection", - "declaration": { - "id": 237, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 238, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 423, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 239, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 423, - "character": 38 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 240, - "name": "signedUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 423, - "character": 59 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 238, - 239, - 240 - ] - } - ] - } - } - } - }, - { - "id": 241, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 424, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 236, - 241 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 242, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 243, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 427, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 244, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 428, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 243, - 244 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 245, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 466, - "character": 8 - } - ], - "signatures": [ - { - "id": 246, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead." - }, - "parameters": [ - { - "id": 247, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The full path and file name of the file to be downloaded. For example `folder/image.png`." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 248, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 249, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 250, - "name": "transform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Transform the asset before serving it to the client.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 468, - "character": 16 - } - ], - "type": { - "type": "reference", - "id": 428, - "name": "TransformOptions" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 250 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 251, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 252, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 471, - "character": 8 - } - ], - "type": { - "type": "reference", - "qualifiedName": "Blob", - "package": "typescript", - "name": "Blob" - } - }, - { - "id": 253, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 472, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 252, - 253 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 254, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 255, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 475, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 256, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 476, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 255, - 256 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 257, - "name": "getPublicUrl", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 509, - "character": 2 - } - ], - "signatures": [ - { - "id": 258, - "name": "getPublicUrl", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.\nThis function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset." - }, - "parameters": [ - { - "id": 259, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The path and name of the file to generate the public URL for. For example `folder/image.png`." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 260, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 261, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 262, - "name": "download", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename." - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 511, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "boolean" - } - ] - } - }, - { - "id": 263, - "name": "transform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Transform the asset before serving it to the client.\n" - }, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 511, - "character": 45 - } - ], - "type": { - "type": "reference", - "id": 428, - "name": "TransformOptions" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 262, - 263 - ] - } - ] - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 264, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 265, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 512, - "character": 7 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 266, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 267, - "name": "publicUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 512, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 267 - ] - } - ] - } - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 265 - ] - } - ] - } - } - } - ] - }, - { - "id": 277, - "name": "list", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 643, - "character": 8 - } - ], - "signatures": [ - { - "id": 278, - "name": "list", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Lists all the files within a bucket." - }, - "parameters": [ - { - "id": 279, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The folder path.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 280, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 419, - "name": "SearchOptions" - } - }, - { - "id": 281, - "name": "parameters", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 424, - "name": "FetchParameters" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 282, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 283, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 649, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 401, - "name": "FileObject" - } - } - }, - { - "id": 284, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 650, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 283, - 284 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 285, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 286, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 653, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 287, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 654, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 286, - 287 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 188, - "name": "move", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 298, - "character": 8 - } - ], - "signatures": [ - { - "id": 189, - "name": "move", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Moves an existing file to a new path in the same bucket." - }, - "parameters": [ - { - "id": 190, - "name": "fromPath", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The original file path, including the current file name. For example `folder/image.png`." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 191, - "name": "toPath", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The new file path, including the new file name. For example `folder/image-new.png`.\n" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 192, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 193, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 303, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 194, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 195, - "name": "message", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 303, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 195 - ] - } - ] - } - } - }, - { - "id": 196, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 304, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 193, - 196 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 197, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 198, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 307, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 199, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 308, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 198, - 199 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 268, - "name": "remove", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 547, - "character": 8 - } - ], - "signatures": [ - { - "id": 269, - "name": "remove", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Deletes files within the same bucket" - }, - "parameters": [ - { - "id": 270, - "name": "paths", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "An array of files to delete, including the path and file name. For example [`'folder/image.png'`].\n" - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 271, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 272, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 551, - "character": 8 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "id": 401, - "name": "FileObject" - } - } - }, - { - "id": 273, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 552, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 272, - 273 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 274, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 275, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 555, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 276, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 556, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 275, - 276 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 175, - "name": "update", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 265, - "character": 8 - } - ], - "signatures": [ - { - "id": 176, - "name": "update", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Replaces an existing file at the specified path with a new one." - }, - "parameters": [ - { - "id": 177, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 178, - "name": "fileBody", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The body of the file to be stored in the bucket.\n" - }, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "qualifiedName": "ArrayBuffer", - "package": "typescript", - "name": "ArrayBuffer" - }, - { - "type": "reference", - "qualifiedName": "ArrayBufferView", - "package": "typescript", - "name": "ArrayBufferView" - }, - { - "type": "reference", - "qualifiedName": "Blob", - "package": "typescript", - "name": "Blob" - }, - { - "type": "reference", - "qualifiedName": "Buffer", - "package": "@types/node", - "name": "Buffer" - }, - { - "type": "reference", - "qualifiedName": "File", - "package": "typescript", - "name": "File" - }, - { - "type": "reference", - "qualifiedName": "FormData", - "package": "typescript", - "name": "FormData" - }, - { - "type": "reference", - "qualifiedName": "NodeJS.ReadableStream", - "package": "@types/node", - "name": "ReadableStream" - }, - { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Uint8Array", - "package": "typescript", - "name": "Uint8Array" - } - ], - "qualifiedName": "ReadableStream", - "package": "typescript", - "name": "ReadableStream" - }, - { - "type": "reference", - "qualifiedName": "URLSearchParams", - "package": "typescript", - "name": "URLSearchParams" - } - ] - } - }, - { - "id": 179, - "name": "fileOptions", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 414, - "name": "FileOptions" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 180, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 181, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 281, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 182, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 183, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 281, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 183 - ] - } - ] - } - } - }, - { - "id": 184, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 282, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 181, - 184 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 185, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 186, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 285, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 187, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 286, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 186, - 187 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 135, - "name": "upload", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 133, - "character": 8 - } - ], - "signatures": [ - { - "id": 136, - "name": "upload", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Uploads a file to an existing bucket." - }, - "parameters": [ - { - "id": 137, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 138, - "name": "fileBody", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The body of the file to be stored in the bucket.\n" - }, - "type": { - "type": "reference", - "name": "FileBody" - } - }, - { - "id": 139, - "name": "fileOptions", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 414, - "name": "FileOptions" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 140, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 141, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 139, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 142, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 143, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 139, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 143 - ] - } - ] - } - } - }, - { - "id": 144, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 140, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 141, - 144 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 145, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 146, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 143, - "character": 8 - } - ], - "type": { - "type": "literal", - "value": null - } - }, - { - "id": 147, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 144, - "character": 8 - } - ], - "type": { - "type": "reference", - "id": 437, - "name": "StorageError" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 146, - 147 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 148, - "name": "uploadToSignedUrl", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 156, - "character": 8 - } - ], - "signatures": [ - { - "id": 149, - "name": "uploadToSignedUrl", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Upload a file with a token generated from `createSignedUploadUrl`." - }, - "parameters": [ - { - "id": 150, - "name": "path", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 151, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The token generated from `createSignedUploadUrl`" - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 152, - "name": "fileBody", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The body of the file to be stored in the bucket.\n" - }, - "type": { - "type": "reference", - "name": "FileBody" - } - }, - { - "id": 153, - "name": "fileOptions", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 414, - "name": "FileOptions" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "reflection", - "declaration": { - "id": 154, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 155, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 197, - "character": 10 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 156, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 157, - "name": "path", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 197, - "character": 18 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "cleanPath" - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 157 - ] - } - ] - } - }, - "defaultValue": "..." - }, - { - "id": 158, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 198, - "character": 10 - } - ], - "type": { - "type": "literal", - "value": null - }, - "defaultValue": "null" - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 155, - 158 - ] - } - ] - } - }, - { - "type": "reflection", - "declaration": { - "id": 159, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 160, - "name": "data", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 202, - "character": 17 - } - ], - "type": { - "type": "literal", - "value": null - }, - "defaultValue": "null" - }, - { - "id": 161, - "name": "error", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 160, - 161 - ] - } - ] - } - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 97 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 200, - 162, - 212, - 228, - 245, - 257, - 277, - 188, - 268, - 175, - 135, - 148 - ] - } - ], - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 39, - "character": 21 - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 96 - ] - } - ], - "sources": [ - { - "fileName": "src/packages/StorageFileApi.ts", - "line": 1, - "character": 0 - } - ] - } - ], - "groups": [ - { - "title": "Modules", - "kind": 2, - "children": [ - 1, - 2, - 95 - ] - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/storage-js", + "kind": 1, + "flags": {}, + "originalName": "", + "children": [ + { + "id": 1, + "name": "index", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 442, + "name": "StorageApiError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 443, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 17, + "character": 2 + } + ], + "signatures": [ + { + "id": 444, + "name": "new StorageApiError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 445, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 446, + "name": "status", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "id": 442, + "name": "StorageApiError" + }, + "overwrites": { + "type": "reference", + "id": 439, + "name": "StorageError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 438, + "name": "StorageError.constructor" + } + }, + { + "id": 447, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 15, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 448, + "name": "toJSON", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 23, + "character": 2 + } + ], + "signatures": [ + { + "id": 449, + "name": "toJSON", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 450, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 452, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 26, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 451, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 25, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 453, + "name": "status", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 27, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [452, 451, 453] + } + ] + } + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [443] + }, + { + "title": "Properties", + "kind": 1024, + "children": [447] + }, + { + "title": "Methods", + "kind": 2048, + "children": [448] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 14, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 437, + "name": "StorageError" + } + ] + }, + { + "id": 297, + "name": "StorageClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 298, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/StorageClient.ts", + "line": 6, + "character": 2 + } + ], + "signatures": [ + { + "id": 299, + "name": "new StorageClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 300, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 301, + "name": "headers", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 302, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 303, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 304, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + "defaultValue": "{}" + }, + { + "id": 305, + "name": "fetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 306, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 307, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 308, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + } + }, + { + "id": 309, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 297, + "name": "StorageClient" + }, + "overwrites": { + "type": "reference", + "id": 5, + "name": "default.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 4, + "name": "default.constructor" + } + }, + { + "id": 340, + "name": "createBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 85, + "character": 8 + } + ], + "signatures": [ + { + "id": 341, + "name": "createBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a new Storage bucket", + "returns": "newly created bucket id\n" + }, + "parameters": [ + { + "id": 342, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the bucket you are creating." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 343, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 344, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 347, + "name": "allowedMimeTypes", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 90, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 346, + "name": "fileSizeLimit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 89, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 345, + "name": "public", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 88, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [347, 346, 345] + } + ] + } + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 348, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 349, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 96, + "character": 8 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 392, + "name": "Bucket" + }, + { + "type": "literal", + "value": "name" + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 350, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 97, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [349, 350] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 351, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 352, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 100, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 353, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 101, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [352, 353] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 44, + "name": "default.createBucket" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 43, + "name": "default.createBucket" + } + }, + { + "id": 381, + "name": "deleteBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 219, + "character": 8 + } + ], + "signatures": [ + { + "id": 382, + "name": "deleteBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.\nYou must first `empty()` the bucket." + }, + "parameters": [ + { + "id": 383, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to delete.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 384, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 385, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 223, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 386, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 387, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 223, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [387] + } + ] + } + } + }, + { + "id": 388, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 224, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [385, 388] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 389, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 390, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 227, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 391, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 228, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [390, 391] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 85, + "name": "default.deleteBucket" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 84, + "name": "default.deleteBucket" + } + }, + { + "id": 370, + "name": "emptyBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 184, + "character": 8 + } + ], + "signatures": [ + { + "id": 371, + "name": "emptyBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Removes all objects inside a single bucket." + }, + "parameters": [ + { + "id": 372, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to empty.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 373, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 374, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 188, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 375, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 376, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 188, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [376] + } + ] + } + } + }, + { + "id": 377, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 189, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [374, 377] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 378, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 379, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 192, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 380, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 193, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [379, 380] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 74, + "name": "default.emptyBucket" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 73, + "name": "default.emptyBucket" + } + }, + { + "id": 310, + "name": "from", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/StorageClient.ts", + "line": 15, + "character": 2 + } + ], + "signatures": [ + { + "id": 311, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform file operation in a bucket." + }, + "parameters": [ + { + "id": 312, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The bucket id to operate on.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 96, + "name": "default" + } + } + ] + }, + { + "id": 331, + "name": "getBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 48, + "character": 8 + } + ], + "signatures": [ + { + "id": 332, + "name": "getBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Retrieves the details of an existing Storage bucket." + }, + "parameters": [ + { + "id": 333, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to retrieve.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 334, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 335, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 52, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 392, + "name": "Bucket" + } + }, + { + "id": 336, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 53, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [335, 336] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 337, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 338, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 56, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 339, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 57, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [338, 339] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 35, + "name": "default.getBucket" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 34, + "name": "default.getBucket" + } + }, + { + "id": 323, + "name": "listBuckets", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 324, + "name": "listBuckets", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Retrieves the details of all Storage buckets within an existing project." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 325, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 326, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 23, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 392, + "name": "Bucket" + } + } + }, + { + "id": 327, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 24, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [326, 327] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 328, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 329, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 27, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 330, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [329, 330] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 27, + "name": "default.listBuckets" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 26, + "name": "default.listBuckets" + } + }, + { + "id": 354, + "name": "updateBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 139, + "character": 8 + } + ], + "signatures": [ + { + "id": 355, + "name": "updateBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Updates a Storage bucket" + }, + "parameters": [ + { + "id": 356, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the bucket you are updating." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 357, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 358, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 361, + "name": "allowedMimeTypes", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 144, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 360, + "name": "fileSizeLimit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 143, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 359, + "name": "public", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 142, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [361, 360, 359] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 362, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 363, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 148, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 364, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 365, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 148, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [365] + } + ] + } + } + }, + { + "id": 366, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 149, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [363, 366] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 367, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 368, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 152, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 369, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 153, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [368, 369] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 58, + "name": "default.updateBucket" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 57, + "name": "default.updateBucket" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [298] + }, + { + "title": "Methods", + "kind": 2048, + "children": [340, 381, 370, 310, 331, 323, 354] + } + ], + "sources": [ + { + "fileName": "src/StorageClient.ts", + "line": 5, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 3, + "name": "default" + } + ] + }, + { + "id": 437, + "name": "StorageError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 438, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 4, + "character": 2 + } + ], + "signatures": [ + { + "id": 439, + "name": "new StorageError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 440, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + }, + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "name": "Error.constructor" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [438] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 1, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "qualifiedName": "Error", + "package": "typescript", + "name": "Error" + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 442, + "name": "StorageApiError" + }, + { + "type": "reference", + "id": 455, + "name": "StorageUnknownError" + } + ] + }, + { + "id": 455, + "name": "StorageUnknownError", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 456, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 35, + "character": 2 + } + ], + "signatures": [ + { + "id": 457, + "name": "new StorageUnknownError", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 458, + "name": "message", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 459, + "name": "originalError", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "reference", + "id": 455, + "name": "StorageUnknownError" + }, + "overwrites": { + "type": "reference", + "id": 439, + "name": "StorageError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "id": 438, + "name": "StorageError.constructor" + } + }, + { + "id": 460, + "name": "originalError", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [456] + }, + { + "title": "Properties", + "kind": 1024, + "children": [460] + } + ], + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 32, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 437, + "name": "StorageError" + } + ] + }, + { + "id": 392, + "name": "Bucket", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 397, + "name": "allowed_mime_types", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 6, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 398, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 7, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 396, + "name": "file_size_limit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 5, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 393, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 2, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 394, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 3, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 395, + "name": "owner", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 4, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 400, + "name": "public", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 9, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 399, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 8, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [397, 398, 396, 393, 394, 395, 400, 399] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1, + "character": 17 + } + ] + }, + { + "id": 424, + "name": "FetchParameters", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 425, + "name": "signal", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Pass in an AbortController's signal to cancel the request." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "AbortSignal", + "package": "typescript", + "name": "AbortSignal" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [425] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 17 + } + ] + }, + { + "id": 401, + "name": "FileObject", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 403, + "name": "bucket_id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 14, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 410, + "name": "buckets", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 21, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 392, + "name": "Bucket" + } + }, + { + "id": 407, + "name": "created_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 405, + "name": "id", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 16, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 408, + "name": "last_accessed_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 19, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 409, + "name": "metadata", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 20, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 402, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 13, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 404, + "name": "owner", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 15, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 406, + "name": "updated_at", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 17, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [403, 410, 407, 405, 408, 409, 402, 404, 406] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 12, + "character": 17 + } + ] + }, + { + "id": 414, + "name": "FileOptions", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 415, + "name": "cacheControl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The number of seconds the asset is cached in the browser and in the Supabase CDN. This is set in the `Cache-Control: max-age=` header. Defaults to 3600 seconds." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 33, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 416, + "name": "contentType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 418, + "name": "duplex", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The duplex option is a string parameter that enables or disables duplex streaming, allowing for both reading and writing data in the same stream. It can be passed as an option to the fetch() method." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 45, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 417, + "name": "upsert", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "When upsert is set to true, the file is overwritten if it exists. When set to false, an error is thrown if the object already exists. Defaults to false." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 41, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [415, 416, 418, 417] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 29, + "character": 17 + } + ] + }, + { + "id": 426, + "name": "Metadata", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 427, + "name": "name", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 79, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [427] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 78, + "character": 17 + } + ] + }, + { + "id": 419, + "name": "SearchOptions", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 420, + "name": "limit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": " The number of files you want to be returned." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 421, + "name": "offset", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The starting position." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 57, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 423, + "name": "search", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The search string to filter files by." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 67, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 422, + "name": "sortBy", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The column to sort by. Can be any column inside a FileObject." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "reference", + "id": 411, + "name": "SortBy" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [420, 421, 423, 422] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 48, + "character": 17 + } + ] + }, + { + "id": 411, + "name": "SortBy", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 412, + "name": "column", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 25, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 413, + "name": "order", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 26, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [412, 413] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 24, + "character": 17 + } + ] + }, + { + "id": 428, + "name": "TransformOptions", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "children": [ + { + "id": 433, + "name": "format", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Specify the format of the image requested.", + "text": "When using 'origin' we force the format to be the same as the original image.\nWhen this option is not passed in, images are optimized to modern image formats like Webp.\n" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 110, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": "origin" + } + }, + { + "id": 430, + "name": "height", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The height of the image in pixels." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 90, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 432, + "name": "quality", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Set the quality of the returned image.\nA number from 20 to 100, with 100 being the highest quality.\nDefaults to 80" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 103, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 431, + "name": "resize", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The resize mode can be cover, contain or fill. Defaults to cover.\nCover resizes the image to maintain it's aspect ratio while filling the entire width and height.\nContain resizes the image to maintain it's aspect ratio while fitting the entire image within the width and height.\nFill resizes the image to fill the entire width and height. If the object's aspect ratio does not match the width and height, the image will be stretched to fit." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 97, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "cover" + }, + { + "type": "literal", + "value": "contain" + }, + { + "type": "literal", + "value": "fill" + } + ] + } + }, + { + "id": 429, + "name": "width", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The width of the image in pixels." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 86, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [433, 430, 432, 431, 429] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 82, + "character": 17 + } + ] + }, + { + "id": 434, + "name": "isStorageError", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/errors.ts", + "line": 10, + "character": 16 + } + ], + "signatures": [ + { + "id": 435, + "name": "isStorageError", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 436, + "name": "error", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "error", + "asserts": false, + "targetType": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [442, 297, 437, 455] + }, + { + "title": "Interfaces", + "kind": 256, + "children": [392, 424, 401, 414, 426, 419, 411, 428] + }, + { + "title": "Functions", + "kind": 64, + "children": [434] + } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 2, + "name": "packages/StorageBucketApi", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 3, + "name": "default", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 4, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 12, + "character": 2 + } + ], + "signatures": [ + { + "id": 5, + "name": "new default", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 6, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7, + "name": "headers", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 8, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 9, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 10, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + "defaultValue": "{}" + }, + { + "id": 11, + "name": "fetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 12, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 13, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 14, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + } + }, + { + "id": 15, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 3, + "name": "default" + } + } + ] + }, + { + "id": 43, + "name": "createBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 85, + "character": 8 + } + ], + "signatures": [ + { + "id": 44, + "name": "createBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a new Storage bucket", + "returns": "newly created bucket id\n" + }, + "parameters": [ + { + "id": 45, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the bucket you are creating." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 46, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 47, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 50, + "name": "allowedMimeTypes", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 90, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 49, + "name": "fileSizeLimit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 89, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 48, + "name": "public", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 88, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [50, 49, 48] + } + ] + } + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 51, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 52, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 96, + "character": 8 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 392, + "name": "Bucket" + }, + { + "type": "literal", + "value": "name" + } + ], + "qualifiedName": "Pick", + "package": "typescript", + "name": "Pick" + } + }, + { + "id": 53, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 97, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [52, 53] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 54, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 55, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 100, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 56, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 101, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [55, 56] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 84, + "name": "deleteBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 219, + "character": 8 + } + ], + "signatures": [ + { + "id": 85, + "name": "deleteBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.\nYou must first `empty()` the bucket." + }, + "parameters": [ + { + "id": 86, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to delete.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 88, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 223, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 89, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 90, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 223, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [90] + } + ] + } + } + }, + { + "id": 91, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 224, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [88, 91] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 92, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 93, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 227, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 94, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 228, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93, 94] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 73, + "name": "emptyBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 184, + "character": 8 + } + ], + "signatures": [ + { + "id": 74, + "name": "emptyBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Removes all objects inside a single bucket." + }, + "parameters": [ + { + "id": 75, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to empty.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 76, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 77, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 188, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 78, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 79, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 188, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [79] + } + ] + } + } + }, + { + "id": 80, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 189, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [77, 80] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 81, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 82, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 192, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 83, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 193, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [82, 83] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 34, + "name": "getBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 48, + "character": 8 + } + ], + "signatures": [ + { + "id": 35, + "name": "getBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Retrieves the details of an existing Storage bucket." + }, + "parameters": [ + { + "id": 36, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique identifier of the bucket you would like to retrieve.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 37, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 38, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 52, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 392, + "name": "Bucket" + } + }, + { + "id": 39, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 53, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [38, 39] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 40, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 41, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 56, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 42, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 57, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [41, 42] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 26, + "name": "listBuckets", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 27, + "name": "listBuckets", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Retrieves the details of all Storage buckets within an existing project." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 28, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 29, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 23, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 392, + "name": "Bucket" + } + } + }, + { + "id": 30, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 24, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [29, 30] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 31, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 32, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 27, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 33, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [32, 33] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 57, + "name": "updateBucket", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 139, + "character": 8 + } + ], + "signatures": [ + { + "id": 58, + "name": "updateBucket", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Updates a Storage bucket" + }, + "parameters": [ + { + "id": 59, + "name": "id", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the bucket you are updating." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 60, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 61, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 64, + "name": "allowedMimeTypes", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the allowed mime types that this bucket can accept during upload.\nThe default value is null, which allows files with all mime types to be uploaded.\nEach mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 144, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 63, + "name": "fileSizeLimit", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "specifies the max file size in bytes that can be uploaded to this bucket.\nThe global file size limit takes precedence over this value.\nThe default value is null, which doesn't set a per bucket file size limit." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 143, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 62, + "name": "public", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations." + }, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 142, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [64, 63, 62] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 65, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 66, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 148, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 67, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 68, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 148, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [68] + } + ] + } + } + }, + { + "id": 69, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 149, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [66, 69] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 70, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 71, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 152, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 72, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 153, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [71, 72] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [4] + }, + { + "title": "Methods", + "kind": 2048, + "children": [43, 84, 73, 34, 26, 57] + } + ], + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 7, + "character": 21 + } + ], + "extendedBy": [ + { + "type": "reference", + "id": 297, + "name": "StorageClient" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [3] + } + ], + "sources": [ + { + "fileName": "src/packages/StorageBucketApi.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 95, + "name": "packages/StorageFileApi", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 96, + "name": "default", + "kind": 128, + "kindString": "Class", + "flags": {}, + "children": [ + { + "id": 97, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 45, + "character": 2 + } + ], + "signatures": [ + { + "id": 98, + "name": "new default", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 99, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 100, + "name": "headers", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 101, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 102, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 103, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + "defaultValue": "{}" + }, + { + "id": 104, + "name": "bucketId", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 105, + "name": "fetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 106, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 107, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 108, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + } + }, + { + "id": 109, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "id": 96, + "name": "default" + } + } + ] + }, + { + "id": 200, + "name": "copy", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 334, + "character": 8 + } + ], + "signatures": [ + { + "id": 201, + "name": "copy", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Copies an existing file to a new path in the same bucket." + }, + "parameters": [ + { + "id": 202, + "name": "fromPath", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The original file path, including the current file name. For example `folder/image.png`." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 203, + "name": "toPath", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The new file path, including the new file name. For example `folder/image-copy.png`.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 204, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 205, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 339, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 206, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 207, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 339, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [207] + } + ] + } + } + }, + { + "id": 208, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 340, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [205, 208] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 209, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 210, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 343, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 211, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 344, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [210, 211] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 162, + "name": "createSignedUploadUrl", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 219, + "character": 8 + } + ], + "signatures": [ + { + "id": 163, + "name": "createSignedUploadUrl", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a signed upload URL.\nSigned upload URLs can be used to upload files to the bucket without further authentication.\nThey are valid for 2 hours." + }, + "parameters": [ + { + "id": 164, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The file path, including the current file name. For example `folder/image.png`.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 165, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 166, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 223, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 167, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 170, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 223, + "character": 50 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 168, + "name": "signedUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 223, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 169, + "name": "token", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 223, + "character": 35 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [170, 168, 169] + } + ] + } + } + }, + { + "id": 171, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 224, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [166, 171] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 172, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 173, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 227, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 174, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 228, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [173, 174] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 212, + "name": "createSignedUrl", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 372, + "character": 8 + } + ], + "signatures": [ + { + "id": 213, + "name": "createSignedUrl", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a signed URL. Use a signed URL to share a file for a fixed amount of time." + }, + "parameters": [ + { + "id": 214, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The file path, including the current file name. For example `folder/image.png`." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 215, + "name": "expiresIn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 216, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 217, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 218, + "name": "download", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename." + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 375, + "character": 16 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "boolean" + } + ] + } + }, + { + "id": 219, + "name": "transform", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Transform the asset before serving it to the client.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 375, + "character": 45 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "TransformOptions" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [218, 219] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 220, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 221, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 378, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 222, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 223, + "name": "signedUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 378, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [223] + } + ] + } + } + }, + { + "id": 224, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 379, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [221, 224] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 225, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 226, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 382, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 227, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 383, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [226, 227] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 228, + "name": "createSignedUrls", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 417, + "character": 8 + } + ], + "signatures": [ + { + "id": 229, + "name": "createSignedUrls", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time." + }, + "parameters": [ + { + "id": 230, + "name": "paths", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`." + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 231, + "name": "expiresIn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute." + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 232, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 233, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 234, + "name": "download", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 420, + "character": 16 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "boolean" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [234] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 235, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 236, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 423, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 237, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 238, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 423, + "character": 16 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 239, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 423, + "character": 38 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 240, + "name": "signedUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 423, + "character": 59 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [238, 239, 240] + } + ] + } + } + } + }, + { + "id": 241, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 424, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [236, 241] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 242, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 243, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 427, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 244, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 428, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [243, 244] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 245, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 466, + "character": 8 + } + ], + "signatures": [ + { + "id": 246, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead." + }, + "parameters": [ + { + "id": 247, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The full path and file name of the file to be downloaded. For example `folder/image.png`." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 248, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 249, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 250, + "name": "transform", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Transform the asset before serving it to the client.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 468, + "character": 16 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "TransformOptions" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [250] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 251, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 252, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 471, + "character": 8 + } + ], + "type": { + "type": "reference", + "qualifiedName": "Blob", + "package": "typescript", + "name": "Blob" + } + }, + { + "id": 253, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 472, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [252, 253] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 254, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 255, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 475, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 256, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 476, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [255, 256] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 257, + "name": "getPublicUrl", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 509, + "character": 2 + } + ], + "signatures": [ + { + "id": 258, + "name": "getPublicUrl", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.\nThis function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset." + }, + "parameters": [ + { + "id": 259, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The path and name of the file to generate the public URL for. For example `folder/image.png`." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 260, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 261, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 262, + "name": "download", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename." + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 511, + "character": 16 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "boolean" + } + ] + } + }, + { + "id": 263, + "name": "transform", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Transform the asset before serving it to the client.\n" + }, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 511, + "character": 45 + } + ], + "type": { + "type": "reference", + "id": 428, + "name": "TransformOptions" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [262, 263] + } + ] + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 264, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 265, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 512, + "character": 7 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 266, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 267, + "name": "publicUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 512, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [267] + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [265] + } + ] + } + } + } + ] + }, + { + "id": 277, + "name": "list", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 643, + "character": 8 + } + ], + "signatures": [ + { + "id": 278, + "name": "list", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Lists all the files within a bucket." + }, + "parameters": [ + { + "id": 279, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The folder path.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 280, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 419, + "name": "SearchOptions" + } + }, + { + "id": 281, + "name": "parameters", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 424, + "name": "FetchParameters" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 282, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 283, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 649, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 401, + "name": "FileObject" + } + } + }, + { + "id": 284, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 650, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [283, 284] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 285, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 286, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 653, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 287, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 654, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [286, 287] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 188, + "name": "move", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 298, + "character": 8 + } + ], + "signatures": [ + { + "id": 189, + "name": "move", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Moves an existing file to a new path in the same bucket." + }, + "parameters": [ + { + "id": 190, + "name": "fromPath", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The original file path, including the current file name. For example `folder/image.png`." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 191, + "name": "toPath", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The new file path, including the new file name. For example `folder/image-new.png`.\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 192, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 193, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 303, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 194, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 195, + "name": "message", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 303, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [195] + } + ] + } + } + }, + { + "id": 196, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 304, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [193, 196] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 197, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 198, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 307, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 199, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 308, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [198, 199] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 268, + "name": "remove", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 547, + "character": 8 + } + ], + "signatures": [ + { + "id": 269, + "name": "remove", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Deletes files within the same bucket" + }, + "parameters": [ + { + "id": 270, + "name": "paths", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "An array of files to delete, including the path and file name. For example [`'folder/image.png'`].\n" + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 271, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 272, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 551, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "id": 401, + "name": "FileObject" + } + } + }, + { + "id": 273, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 552, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [272, 273] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 274, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 275, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 555, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 276, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 556, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [275, 276] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 175, + "name": "update", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 265, + "character": 8 + } + ], + "signatures": [ + { + "id": 176, + "name": "update", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Replaces an existing file at the specified path with a new one." + }, + "parameters": [ + { + "id": 177, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 178, + "name": "fileBody", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The body of the file to be stored in the bucket.\n" + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "qualifiedName": "ArrayBuffer", + "package": "typescript", + "name": "ArrayBuffer" + }, + { + "type": "reference", + "qualifiedName": "ArrayBufferView", + "package": "typescript", + "name": "ArrayBufferView" + }, + { + "type": "reference", + "qualifiedName": "Blob", + "package": "typescript", + "name": "Blob" + }, + { + "type": "reference", + "qualifiedName": "Buffer", + "package": "@types/node", + "name": "Buffer" + }, + { + "type": "reference", + "qualifiedName": "File", + "package": "typescript", + "name": "File" + }, + { + "type": "reference", + "qualifiedName": "FormData", + "package": "typescript", + "name": "FormData" + }, + { + "type": "reference", + "qualifiedName": "NodeJS.ReadableStream", + "package": "@types/node", + "name": "ReadableStream" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Uint8Array", + "package": "typescript", + "name": "Uint8Array" + } + ], + "qualifiedName": "ReadableStream", + "package": "typescript", + "name": "ReadableStream" + }, + { + "type": "reference", + "qualifiedName": "URLSearchParams", + "package": "typescript", + "name": "URLSearchParams" + } + ] + } + }, + { + "id": 179, + "name": "fileOptions", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 414, + "name": "FileOptions" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 180, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 181, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 281, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 182, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 183, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 281, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [183] + } + ] + } + } + }, + { + "id": 184, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 282, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [181, 184] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 185, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 186, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 285, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 187, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 286, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [186, 187] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 135, + "name": "upload", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 133, + "character": 8 + } + ], + "signatures": [ + { + "id": 136, + "name": "upload", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Uploads a file to an existing bucket." + }, + "parameters": [ + { + "id": 137, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 138, + "name": "fileBody", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The body of the file to be stored in the bucket.\n" + }, + "type": { + "type": "reference", + "name": "FileBody" + } + }, + { + "id": 139, + "name": "fileOptions", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 414, + "name": "FileOptions" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 140, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 141, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 139, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 142, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 143, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 139, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [143] + } + ] + } + } + }, + { + "id": 144, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 140, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [141, 144] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 145, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 146, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 143, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": null + } + }, + { + "id": 147, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 144, + "character": 8 + } + ], + "type": { + "type": "reference", + "id": 437, + "name": "StorageError" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [146, 147] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 148, + "name": "uploadToSignedUrl", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 156, + "character": 8 + } + ], + "signatures": [ + { + "id": 149, + "name": "uploadToSignedUrl", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Upload a file with a token generated from `createSignedUploadUrl`." + }, + "parameters": [ + { + "id": 150, + "name": "path", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 151, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The token generated from `createSignedUploadUrl`" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 152, + "name": "fileBody", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The body of the file to be stored in the bucket.\n" + }, + "type": { + "type": "reference", + "name": "FileBody" + } + }, + { + "id": 153, + "name": "fileOptions", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 414, + "name": "FileOptions" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 154, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 155, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 197, + "character": 10 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 156, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 157, + "name": "path", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 197, + "character": 18 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "cleanPath" + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [157] + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 158, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 198, + "character": 10 + } + ], + "type": { + "type": "literal", + "value": null + }, + "defaultValue": "null" + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [155, 158] + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 159, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 160, + "name": "data", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 202, + "character": 17 + } + ], + "type": { + "type": "literal", + "value": null + }, + "defaultValue": "null" + }, + { + "id": 161, + "name": "error", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [160, 161] + } + ] + } + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [97] + }, + { + "title": "Methods", + "kind": 2048, + "children": [200, 162, 212, 228, 245, 257, 277, 188, 268, 175, 135, 148] + } + ], + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 39, + "character": 21 + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "kind": 128, + "children": [96] + } + ], + "sources": [ + { + "fileName": "src/packages/StorageFileApi.ts", + "line": 1, + "character": 0 + } + ] + } + ], + "groups": [ + { + "title": "Modules", + "kind": 2, + "children": [1, 2, 95] + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/storage_dereferenced.json b/spec/enrichments/tsdoc_v2/storage_dereferenced.json index a056a4da26a..82ee225ed96 100644 --- a/spec/enrichments/tsdoc_v2/storage_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/storage_dereferenced.json @@ -190,11 +190,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 452, - 451, - 453 - ] + "children": [452, 451, 453] } ] } @@ -207,23 +203,17 @@ { "title": "Constructors", "kind": 512, - "children": [ - 443 - ] + "children": [443] }, { "title": "Properties", "kind": 1024, - "children": [ - 447 - ] + "children": [447] }, { "title": "Methods", "kind": 2048, - "children": [ - 448 - ] + "children": [448] } ], "sources": [ @@ -563,11 +553,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 347, - 346, - 345 - ] + "children": [347, 346, 345] } ] } @@ -644,10 +630,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 349, - 350 - ] + "children": [349, 350] } ] } @@ -703,10 +686,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 352, - 353 - ] + "children": [352, 353] } ] } @@ -830,9 +810,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 387 - ] + "children": [387] } ] } @@ -861,10 +839,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 385, - 388 - ] + "children": [385, 388] } ] } @@ -920,10 +895,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 390, - 391 - ] + "children": [390, 391] } ] } @@ -1047,9 +1019,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 376 - ] + "children": [376] } ] } @@ -1078,10 +1048,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 374, - 377 - ] + "children": [374, 377] } ] } @@ -1137,10 +1104,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 379, - 380 - ] + "children": [379, 380] } ] } @@ -1308,10 +1272,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 335, - 336 - ] + "children": [335, 336] } ] } @@ -1367,10 +1328,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 338, - 339 - ] + "children": [338, 339] } ] } @@ -1478,10 +1436,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 326, - 327 - ] + "children": [326, 327] } ] } @@ -1537,10 +1492,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 329, - 330 - ] + "children": [329, 330] } ] } @@ -1715,11 +1667,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 361, - 360, - 359 - ] + "children": [361, 360, 359] } ] } @@ -1786,9 +1734,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 365 - ] + "children": [365] } ] } @@ -1817,10 +1763,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 363, - 366 - ] + "children": [363, 366] } ] } @@ -1876,10 +1819,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 368, - 369 - ] + "children": [368, 369] } ] } @@ -1909,22 +1849,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 298 - ] + "children": [298] }, { "title": "Methods", "kind": 2048, - "children": [ - 340, - 381, - 370, - 310, - 331, - 323, - 354 - ] + "children": [340, 381, 370, 310, 331, 323, 354] } ], "sources": [ @@ -2003,9 +1933,7 @@ { "title": "Constructors", "kind": 512, - "children": [ - 438 - ] + "children": [438] } ], "sources": [ @@ -2128,16 +2056,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 456 - ] + "children": [456] }, { "title": "Properties", "kind": 1024, - "children": [ - 460 - ] + "children": [460] } ], "sources": [ @@ -2318,16 +2242,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 397, - 398, - 396, - 393, - 394, - 395, - 400, - 399 - ] + "children": [397, 398, 396, 393, 394, 395, 400, 399] } ], "sources": [ @@ -2375,9 +2290,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 425 - ] + "children": [425] } ], "sources": [ @@ -2593,16 +2506,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 397, - 398, - 396, - 393, - 394, - 395, - 400, - 399 - ] + "children": [397, 398, 396, 393, 394, 395, 400, 399] } ], "sources": [ @@ -2758,17 +2662,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 403, - 410, - 407, - 405, - 408, - 409, - 402, - 404, - 406 - ] + "children": [403, 410, 407, 405, 408, 409, 402, 404, 406] } ], "sources": [ @@ -2883,12 +2777,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -2929,9 +2818,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 427 - ] + "children": [427] } ], "sources": [ @@ -3092,10 +2979,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -3113,12 +2997,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 420, - 421, - 423, - 422 - ] + "children": [420, 421, 423, 422] } ], "sources": [ @@ -3181,10 +3060,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -3336,13 +3212,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -3404,33 +3274,17 @@ { "title": "Classes", "kind": 128, - "children": [ - 442, - 297, - 437, - 455 - ] + "children": [442, 297, 437, 455] }, { "title": "Interfaces", "kind": 256, - "children": [ - 392, - 424, - 401, - 414, - 426, - 419, - 411, - 428 - ] + "children": [392, 424, 401, 414, 426, 419, 411, 428] }, { "title": "Functions", "kind": 64, - "children": [ - 434 - ] + "children": [434] } ], "sources": [ @@ -3760,11 +3614,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 50, - 49, - 48 - ] + "children": [50, 49, 48] } ] } @@ -3841,10 +3691,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 52, - 53 - ] + "children": [52, 53] } ] } @@ -3900,10 +3747,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 55, - 56 - ] + "children": [55, 56] } ] } @@ -4017,9 +3861,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 90 - ] + "children": [90] } ] } @@ -4048,10 +3890,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 88, - 91 - ] + "children": [88, 91] } ] } @@ -4107,10 +3946,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 93, - 94 - ] + "children": [93, 94] } ] } @@ -4224,9 +4060,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 79 - ] + "children": [79] } ] } @@ -4255,10 +4089,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 80 - ] + "children": [77, 80] } ] } @@ -4314,10 +4145,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 82, - 83 - ] + "children": [82, 83] } ] } @@ -4428,10 +4256,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 38, - 39 - ] + "children": [38, 39] } ] } @@ -4487,10 +4312,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 41, - 42 - ] + "children": [41, 42] } ] } @@ -4588,10 +4410,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 29, - 30 - ] + "children": [29, 30] } ] } @@ -4647,10 +4466,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 32, - 33 - ] + "children": [32, 33] } ] } @@ -4815,11 +4631,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 64, - 63, - 62 - ] + "children": [64, 63, 62] } ] } @@ -4886,9 +4698,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68 - ] + "children": [68] } ] } @@ -4917,10 +4727,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 69 - ] + "children": [66, 69] } ] } @@ -4976,10 +4783,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 71, - 72 - ] + "children": [71, 72] } ] } @@ -4999,21 +4803,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 4 - ] + "children": [4] }, { "title": "Methods", "kind": 2048, - "children": [ - 43, - 84, - 73, - 34, - 26, - 57 - ] + "children": [43, 84, 73, 34, 26, 57] } ], "sources": [ @@ -5036,9 +4831,7 @@ { "title": "Classes", "kind": 128, - "children": [ - 3 - ] + "children": [3] } ], "sources": [ @@ -5343,9 +5136,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 207 - ] + "children": [207] } ] } @@ -5374,10 +5165,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 205, - 208 - ] + "children": [205, 208] } ] } @@ -5433,10 +5221,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 210, - 211 - ] + "children": [210, 211] } ] } @@ -5586,11 +5371,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 170, - 168, - 169 - ] + "children": [170, 168, 169] } ] } @@ -5619,10 +5400,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 166, - 171 - ] + "children": [166, 171] } ] } @@ -5678,10 +5456,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 173, - 174 - ] + "children": [173, 174] } ] } @@ -5960,13 +5735,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -5984,10 +5753,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 218, - 219 - ] + "children": [218, 219] } ] } @@ -6054,9 +5820,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 223 - ] + "children": [223] } ] } @@ -6085,10 +5849,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 221, - 224 - ] + "children": [221, 224] } ] } @@ -6144,10 +5905,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 226, - 227 - ] + "children": [226, 227] } ] } @@ -6269,9 +6027,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 234 - ] + "children": [234] } ] } @@ -6394,11 +6150,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 238, - 239, - 240 - ] + "children": [238, 239, 240] } ] } @@ -6428,10 +6180,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 236, - 241 - ] + "children": [236, 241] } ] } @@ -6487,10 +6236,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 243, - 244 - ] + "children": [243, 244] } ] } @@ -6723,13 +6469,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -6747,9 +6487,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 250 - ] + "children": [250] } ] } @@ -6814,10 +6552,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 252, - 253 - ] + "children": [252, 253] } ] } @@ -6873,10 +6608,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 255, - 256 - ] + "children": [255, 256] } ] } @@ -7141,13 +6873,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 433, - 430, - 432, - 431, - 429 - ] + "children": [433, 430, 432, 431, 429] } ], "sources": [ @@ -7165,10 +6891,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 262, - 263 - ] + "children": [262, 263] } ] } @@ -7229,9 +6952,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 267 - ] + "children": [267] } ] } @@ -7242,9 +6963,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 265 - ] + "children": [265] } ] } @@ -7454,10 +7173,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 412, - 413 - ] + "children": [412, 413] } ], "sources": [ @@ -7475,12 +7191,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 420, - 421, - 423, - 422 - ] + "children": [420, 421, 423, 422] } ], "sources": [ @@ -7542,9 +7253,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 425 - ] + "children": [425] } ], "sources": [ @@ -7618,10 +7327,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 283, - 284 - ] + "children": [283, 284] } ] } @@ -7677,10 +7383,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 286, - 287 - ] + "children": [286, 287] } ] } @@ -7808,9 +7511,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 195 - ] + "children": [195] } ] } @@ -7839,10 +7540,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 193, - 196 - ] + "children": [193, 196] } ] } @@ -7898,10 +7596,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 198, - 199 - ] + "children": [198, 199] } ] } @@ -8018,10 +7713,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 272, - 273 - ] + "children": [272, 273] } ] } @@ -8077,10 +7769,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 275, - 276 - ] + "children": [275, 276] } ] } @@ -8330,12 +8019,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -8409,9 +8093,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 183 - ] + "children": [183] } ] } @@ -8440,10 +8122,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 181, - 184 - ] + "children": [181, 184] } ] } @@ -8499,10 +8178,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 186, - 187 - ] + "children": [186, 187] } ] } @@ -8685,12 +8361,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -8764,9 +8435,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 143 - ] + "children": [143] } ] } @@ -8795,10 +8464,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 141, - 144 - ] + "children": [141, 144] } ] } @@ -8854,10 +8520,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 146, - 147 - ] + "children": [146, 147] } ] } @@ -9054,12 +8717,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 415, - 416, - 418, - 417 - ] + "children": [415, 416, 418, 417] } ], "sources": [ @@ -9134,9 +8792,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 157 - ] + "children": [157] } ] } @@ -9167,10 +8823,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 155, - 158 - ] + "children": [155, 158] } ] } @@ -9219,10 +8872,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 160, - 161 - ] + "children": [160, 161] } ] } @@ -9242,27 +8892,12 @@ { "title": "Constructors", "kind": 512, - "children": [ - 97 - ] + "children": [97] }, { "title": "Methods", "kind": 2048, - "children": [ - 200, - 162, - 212, - 228, - 245, - 257, - 277, - 188, - 268, - 175, - 135, - 148 - ] + "children": [200, 162, 212, 228, 245, 257, 277, 188, 268, 175, 135, 148] } ], "sources": [ @@ -9278,9 +8913,7 @@ { "title": "Classes", "kind": 128, - "children": [ - 96 - ] + "children": [96] } ], "sources": [ @@ -9296,11 +8929,7 @@ { "title": "Modules", "kind": 2, - "children": [ - 1, - 2, - 95 - ] + "children": [1, 2, 95] } ] -} \ No newline at end of file +} diff --git a/spec/enrichments/tsdoc_v2/supabase.json b/spec/enrichments/tsdoc_v2/supabase.json index eba29df7edc..f2ec11fad6b 100644 --- a/spec/enrichments/tsdoc_v2/supabase.json +++ b/spec/enrichments/tsdoc_v2/supabase.json @@ -1,4214 +1,4308 @@ { - "id": 0, - "name": "@supabase/supabase-js", - "kind": 1, - "flags": {}, - "originalName": "", - "children": [ - { - "id": 1, - "name": "index", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 195, - "name": "SupabaseClientOptions", - "kind": 16777216, - "kindString": "Reference", - "flags": {}, - "sources": [ - { - "fileName": "src/index.ts", - "line": 20, - "character": 14 - } - ], - "target": 61 - }, - { - "id": 105, - "name": "SupabaseClient", - "kind": 128, - "kindString": "Class", - "flags": {}, - "comment": { - "shortText": "Supabase Client.", - "text": "An isomorphic Javascript client for interacting with Postgres.\n" - }, - "children": [ - { - "id": 106, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 83, - "character": 2 - } - ], - "signatures": [ - { - "id": 107, - "name": "new SupabaseClient", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "comment": { - "shortText": "Create a new client for use in the browser." - }, - "typeParameter": [ - { - "id": 108, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 109, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 108, - "name": "Database" - } - } - ] - } - } - }, - { - "id": 110, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - } - ], - "parameters": [ - { - "id": 111, - "name": "supabaseUrl", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique Supabase URL which is supplied when you create a new project in your project dashboard." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 112, - "name": "supabaseKey", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The unique Supabase Key which is supplied when you create a new project in your project dashboard." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 113, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 61, - "typeArguments": [ - { - "type": "reference", - "id": 109, - "name": "SchemaName" - } - ], - "name": "SupabaseClientOptions" - } - } - ], - "type": { - "type": "reference", - "id": 105, - "typeArguments": [ - { - "type": "reference", - "id": 108, - "name": "Database" - }, - { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - { - "type": "reference", - "id": 110, - "name": "Schema" - } - ], - "name": "default" - } - } - ] - }, - { - "id": 114, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "comment": { - "shortText": "Supabase Auth allows you to create and manage user sessions for access to data that is secured by access policies." - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 55, - "character": 2 - } - ], - "type": { - "type": "reference", - "name": "SupabaseAuthClient" - } - }, - { - "id": 117, - "name": "authUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 59, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 127, - "name": "changedAccessToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 65, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 122, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 64, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 123, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 124, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 125, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 126, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 119, - "name": "functionsUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 61, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 128, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 67, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 129, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "indexSignature": { - "id": 130, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 131, - "name": "key", - "kind": 32768, - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - } - } - }, - { - "id": 115, - "name": "realtime", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 56, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "RealtimeClient", - "package": "@supabase/realtime-js", - "name": "default" - } - }, - { - "id": 116, - "name": "realtimeUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 58, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 120, - "name": "rest", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 62, - "character": 12 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 108, - "name": "Database" - }, - { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "qualifiedName": "GenericSchema", - "package": "@supabase/postgrest-js", - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - ], - "qualifiedName": "PostgrestClient", - "package": "@supabase/postgrest-js", - "name": "default" - } - }, - { - "id": 121, - "name": "storageKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 63, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 118, - "name": "storageUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 60, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 133, - "name": "supabaseKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 132, - "name": "supabaseUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 134, - "name": "functions", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 138, - "character": 6 - } - ], - "getSignature": [ - { - "id": 135, - "name": "functions", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Supabase Functions allows you to deploy and invoke edge functions." - }, - "type": { - "type": "reference", - "qualifiedName": "FunctionsClient", - "package": "@supabase/functions-js", - "name": "FunctionsClient" - } - } - ] - }, - { - "id": 136, - "name": "storage", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 148, - "character": 6 - } - ], - "getSignature": [ - { - "id": 137, - "name": "storage", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Supabase Storage allows you to manage user-generated content, such as photos or videos." - }, - "type": { - "type": "reference", - "qualifiedName": "StorageClient", - "package": "@supabase/storage-js", - "name": "StorageClient" - } - } - ] - }, - { - "id": 170, - "name": "_getAccessToken", - "kind": 2048, - "kindString": "Method", - "flags": { - "isPrivate": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 235, - "character": 16 - } - ], - "signatures": [ - { - "id": 171, - "name": "_getAccessToken", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 187, - "name": "_handleTokenChanged", - "kind": 2048, - "kindString": "Method", - "flags": { - "isPrivate": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 284, - "character": 10 - } - ], - "signatures": [ - { - "id": 188, - "name": "_handleTokenChanged", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 189, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "AuthChangeEvent", - "package": "@supabase/gotrue-js", - "name": "AuthChangeEvent" - } - }, - { - "id": 190, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 191, - "name": "source", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "CLIENT" - }, - { - "type": "literal", - "value": "STORAGE" - } - ] - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ] - }, - { - "id": 181, - "name": "_initRealtimeClient", - "kind": 2048, - "kindString": "Method", - "flags": { - "isPrivate": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 270, - "character": 10 - } - ], - "signatures": [ - { - "id": 182, - "name": "_initRealtimeClient", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 183, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "qualifiedName": "RealtimeClientOptions", - "package": "@supabase/realtime-js", - "name": "RealtimeClientOptions" - } - } - ], - "type": { - "type": "reference", - "qualifiedName": "RealtimeClient", - "package": "@supabase/realtime-js", - "name": "default" - } - } - ] - }, - { - "id": 172, - "name": "_initSupabaseAuthClient", - "kind": 2048, - "kindString": "Method", - "flags": { - "isPrivate": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 241, - "character": 10 - } - ], - "signatures": [ - { - "id": 173, - "name": "_initSupabaseAuthClient", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 174, - "name": "__namedParameters", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 59, - "name": "SupabaseAuthClientOptions" - } - }, - { - "id": 175, - "name": "headers", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 176, - "name": "fetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 177, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 178, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 179, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 180, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reference", - "name": "SupabaseAuthClient" - } - } - ] - }, - { - "id": 184, - "name": "_listenForAuthEvents", - "kind": 2048, - "kindString": "Method", - "flags": { - "isPrivate": true - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 277, - "character": 10 - } - ], - "signatures": [ - { - "id": 185, - "name": "_listenForAuthEvents", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 186, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {} - } - } - } - ] - }, - { - "id": 159, - "name": "channel", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 207, - "character": 2 - } - ], - "signatures": [ - { - "id": 160, - "name": "channel", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a Realtime channel with Broadcast, Presence, and Postgres Changes." - }, - "parameters": [ - { - "id": 161, - "name": "name", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The name of the Realtime channel." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 162, - "name": "opts", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The options to pass to the Realtime channel.\n\n" - }, - "type": { - "type": "reference", - "qualifiedName": "RealtimeChannelOptions", - "package": "@supabase/realtime-js", - "name": "RealtimeChannelOptions" - }, - "defaultValue": "..." - } - ], - "type": { - "type": "reference", - "qualifiedName": "RealtimeChannel", - "package": "@supabase/realtime-js", - "name": "default" - } - } - ] - }, - { - "id": 138, - "name": "from", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 157, - "character": 2 - } - ], - "signatures": [ - { - "id": 139, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a table operation." - }, - "typeParameter": [ - { - "id": 140, - "name": "TableName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 141, - "name": "Table", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 80, - "name": "GenericTable" - } - } - ], - "parameters": [ - { - "id": 142, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 140, - "name": "TableName" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 110, - "name": "Schema" - }, - { - "type": "reference", - "id": 141, - "name": "Table" - } - ], - "qualifiedName": "PostgrestQueryBuilder", - "package": "@supabase/postgrest-js", - "name": "default" - } - }, - { - "id": 143, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 144, - "name": "ViewName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 145, - "name": "View", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 93, - "name": "GenericView" - } - } - ], - "parameters": [ - { - "id": 146, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 144, - "name": "ViewName" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 110, - "name": "Schema" - }, - { - "type": "reference", - "id": 145, - "name": "View" - } - ], - "qualifiedName": "PostgrestQueryBuilder", - "package": "@supabase/postgrest-js", - "name": "default" - } - }, - { - "id": 147, - "name": "from", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 148, - "name": "relation", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 110, - "name": "Schema" - }, - { - "type": "intrinsic", - "name": "any" - } - ], - "qualifiedName": "PostgrestQueryBuilder", - "package": "@supabase/postgrest-js", - "name": "default" - } - } - ] - }, - { - "id": 163, - "name": "getChannels", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 214, - "character": 2 - } - ], - "signatures": [ - { - "id": 164, - "name": "getChannels", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Returns all Realtime channels." - }, - "type": { - "type": "array", - "elementType": { - "type": "reference", - "qualifiedName": "RealtimeChannel", - "package": "@supabase/realtime-js", - "name": "default" - } - } - } - ] - }, - { - "id": 168, - "name": "removeAllChannels", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 231, - "character": 2 - } - ], - "signatures": [ - { - "id": 169, - "name": "removeAllChannels", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Unsubscribes and removes all Realtime channels from Realtime client." - }, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "error" - }, - { - "type": "literal", - "value": "ok" - }, - { - "type": "literal", - "value": "timed out" - } - ] - } - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 165, - "name": "removeChannel", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 224, - "character": 2 - } - ], - "signatures": [ - { - "id": 166, - "name": "removeChannel", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Unsubscribes and removes Realtime channel from Realtime client." - }, - "parameters": [ - { - "id": 167, - "name": "channel", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The name of the Realtime channel.\n\n" - }, - "type": { - "type": "reference", - "qualifiedName": "RealtimeChannel", - "package": "@supabase/realtime-js", - "name": "default" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": "error" - }, - { - "type": "literal", - "value": "ok" - }, - { - "type": "literal", - "value": "timed out" - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - }, - { - "id": 149, - "name": "rpc", - "kind": 2048, - "kindString": "Method", - "flags": {}, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 178, - "character": 2 - } - ], - "signatures": [ - { - "id": 150, - "name": "rpc", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Perform a function call." - }, - "typeParameter": [ - { - "id": 151, - "name": "FunctionName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 152, - "name": "Function_", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 94, - "name": "GenericFunction" - } - } - ], - "parameters": [ - { - "id": 153, - "name": "fn", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The function name to call." - }, - "type": { - "type": "reference", - "id": 151, - "name": "FunctionName" - } - }, - { - "id": 154, - "name": "args", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "shortText": "The parameters to pass to the function call." - }, - "type": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Args" - }, - "objectType": { - "type": "reference", - "id": 152, - "name": "Function_" - } - }, - "defaultValue": "{}" - }, - { - "id": 155, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 156, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 158, - "name": "count", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Count algorithm to use to count rows in a table.\n\n" - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 186, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "literal", - "value": "exact" - }, - { - "type": "literal", - "value": "planned" - }, - { - "type": "literal", - "value": "estimated" - } - ] - } - }, - { - "id": 157, - "name": "head", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "When set to true, no data will be returned." - }, - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 185, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 158, - 157 - ] - } - ] - } - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "id": 110, - "name": "Schema" - }, - { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Returns" - }, - "objectType": { - "type": "reference", - "id": 152, - "name": "Function_" - } - }, - "extendsType": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "any" - } - }, - "trueType": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "number" - }, - "objectType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - } - }, - "extendsType": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - }, - "falseType": { - "type": "intrinsic", - "name": "never" - } - }, - { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "Returns" - }, - "objectType": { - "type": "reference", - "id": 152, - "name": "Function_" - } - } - ], - "qualifiedName": "PostgrestFilterBuilder", - "package": "@supabase/postgrest-js", - "name": "default" - } - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 106 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 114, - 117, - 127, - 122, - 119, - 128, - 115, - 116, - 120, - 121, - 118, - 133, - 132 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 134, - 136 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 170, - 187, - 181, - 172, - 184, - 159, - 138, - 163, - 168, - 165, - 149 - ] - } - ], - "sources": [ - { - "fileName": "src/SupabaseClient.ts", - "line": 43, - "character": 21 - } - ], - "typeParameter": [ - { - "id": 192, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 193, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 108, - "name": "Database" - } - } - ] - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 108, - "name": "Database" - } - } - ] - } - } - }, - { - "id": 194, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 109, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 108, - "name": "Database" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - } - ] - }, - { - "id": 2, - "name": "createClient", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/index.ts", - "line": 25, - "character": 13 - } - ], - "signatures": [ - { - "id": 3, - "name": "createClient", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a new Supabase Client." - }, - "typeParameter": [ - { - "id": 4, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 5, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 4, - "name": "Database" - } - } - ] - } - } - }, - { - "id": 6, - "name": "Schema", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "indexedAccess", - "indexType": { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - "objectType": { - "type": "reference", - "id": 4, - "name": "Database" - } - }, - "extendsType": { - "type": "reference", - "id": 98, - "name": "GenericSchema" - }, - "trueType": { - "type": "indexedAccess", - "indexType": { - "type": "intrinsic", - "name": "any" - }, - "objectType": { - "type": "intrinsic", - "name": "any" - } - }, - "falseType": { - "type": "intrinsic", - "name": "any" - } - } - } - ], - "parameters": [ - { - "id": 7, - "name": "supabaseUrl", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 8, - "name": "supabaseKey", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 9, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "id": 61, - "typeArguments": [ - { - "type": "reference", - "id": 5, - "name": "SchemaName" - } - ], - "name": "SupabaseClientOptions" - } - } - ], - "type": { - "type": "reference", - "id": 105, - "typeArguments": [ - { - "type": "reference", - "id": 4, - "name": "Database" - }, - { - "type": "reference", - "id": 5, - "name": "SchemaName" - }, - { - "type": "reference", - "id": 6, - "name": "Schema" - } - ], - "name": "default" - } - } - ] - } - ], - "groups": [ - { - "title": "References", - "kind": 16777216, - "children": [ - 195 - ] - }, - { - "title": "Classes", - "kind": 128, - "children": [ - 105 - ] - }, - { - "title": "Functions", - "kind": 64, - "children": [ - 2 - ] - } - ], - "sources": [ - { - "fileName": "src/index.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 10, - "name": "lib/constants", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 11, - "name": "DEFAULT_HEADERS", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true - }, - "sources": [ - { - "fileName": "src/lib/constants.ts", - "line": 3, - "character": 13 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 12, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 13, - "name": "X-Client-Info", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/constants.ts", - "line": 3, - "character": 33 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 13 - ] - } - ] - } - }, - "defaultValue": "..." - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 11 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/constants.ts", - "line": 2, - "character": 0 - } - ] - }, - { - "id": 14, - "name": "lib/fetch", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 29, - "name": "fetchWithAuth", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/fetch.ts", - "line": 25, - "character": 13 - } - ], - "signatures": [ - { - "id": 30, - "name": "fetchWithAuth", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 31, - "name": "supabaseKey", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 32, - "name": "getAccessToken", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 33, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 34, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "literal", - "value": null - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - }, - { - "id": 35, - "name": "customFetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 36, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 37, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 38, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 39, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 40, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 41, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 42, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 43, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ] - }, - { - "id": 15, - "name": "resolveFetch", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/fetch.ts", - "line": 5, - "character": 13 - } - ], - "signatures": [ - { - "id": 16, - "name": "resolveFetch", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 17, - "name": "customFetch", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reflection", - "declaration": { - "id": 18, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 19, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 20, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 21, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 22, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 23, - "name": "__type", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 24, - "name": "input", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "qualifiedName": "RequestInfo", - "package": "typescript", - "name": "RequestInfo" - }, - { - "type": "reference", - "qualifiedName": "URL", - "package": "typescript", - "name": "URL" - } - ] - } - }, - { - "id": 25, - "name": "init", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "qualifiedName": "RequestInit", - "package": "typescript", - "name": "RequestInit" - } - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "reference", - "qualifiedName": "Response", - "package": "typescript", - "name": "Response" - } - ], - "qualifiedName": "Promise", - "package": "typescript", - "name": "Promise" - } - } - ] - } - } - } - ] - }, - { - "id": 26, - "name": "resolveHeadersConstructor", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/fetch.ts", - "line": 17, - "character": 13 - } - ], - "signatures": [ - { - "id": 27, - "name": "resolveHeadersConstructor", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 28, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {} - } - } - } - ] - } - ], - "groups": [ - { - "title": "Functions", - "kind": 64, - "children": [ - 29, - 15, - 26 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/fetch.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 44, - "name": "lib/helpers", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 50, - "name": "applySettingDefaults", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/helpers.ts", - "line": 18, - "character": 16 - } - ], - "signatures": [ - { - "id": 51, - "name": "applySettingDefaults", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 52, - "name": "Database", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "default": { - "type": "intrinsic", - "name": "any" - } - }, - { - "id": 53, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "default": { - "type": "conditional", - "checkType": { - "type": "literal", - "value": "public" - }, - "extendsType": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 52, - "name": "Database" - } - }, - "trueType": { - "type": "literal", - "value": "public" - }, - "falseType": { - "type": "intersection", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "id": 52, - "name": "Database" - } - } - ] - } - } - } - ], - "parameters": [ - { - "id": 54, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 61, - "typeArguments": [ - { - "type": "reference", - "id": 53, - "name": "SchemaName" - } - ], - "name": "SupabaseClientOptions" - } - }, - { - "id": 55, - "name": "defaults", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "id": 61, - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ], - "name": "SupabaseClientOptions" - } - } - ], - "type": { - "type": "reference", - "id": 61, - "typeArguments": [ - { - "type": "reference", - "id": 53, - "name": "SchemaName" - } - ], - "name": "SupabaseClientOptions" - } - } - ] - }, - { - "id": 56, - "name": "isBrowser", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/helpers.ts", - "line": 16, - "character": 13 - } - ], - "signatures": [ - { - "id": 57, - "name": "isBrowser", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ] - }, - { - "id": 47, - "name": "stripTrailingSlash", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/helpers.ts", - "line": 12, - "character": 16 - } - ], - "signatures": [ - { - "id": 48, - "name": "stripTrailingSlash", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 49, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ] - }, - { - "id": 45, - "name": "uuid", - "kind": 64, - "kindString": "Function", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/helpers.ts", - "line": 4, - "character": 16 - } - ], - "signatures": [ - { - "id": 46, - "name": "uuid", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ] - } - ], - "groups": [ - { - "title": "Functions", - "kind": 64, - "children": [ - 50, - 56, - 47, - 45 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/helpers.ts", - "line": 2, - "character": 0 - } - ] - }, - { - "id": 58, - "name": "lib/types", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 59, - "name": "SupabaseAuthClientOptions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 6, - "character": 17 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "GoTrueClientOptions" - } - ] - }, - { - "id": 60, - "name": "Fetch", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "query", - "queryType": { - "type": "reference", - "id": 18, - "qualifiedName": "fetch", - "package": "typescript", - "name": "fetch" - } - } - }, - { - "id": 94, - "name": "GenericFunction", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 78, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 95, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 96, - "name": "Args", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 79, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 97, - "name": "Returns", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 80, - "character": 2 - } - ], - "type": { - "type": "intrinsic", - "name": "unknown" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 96, - 97 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 78, - "character": 30 - } - ] - } - } - }, - { - "id": 90, - "name": "GenericNonUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 72, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 91, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 92, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 73, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 92 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 72, - "character": 38 - } - ] - } - } - }, - { - "id": 98, - "name": "GenericSchema", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 99, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 102, - "name": "Functions", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 86, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 94, - "name": "GenericFunction" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 100, - "name": "Tables", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 84, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 80, - "name": "GenericTable" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 101, - "name": "Views", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 85, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 93, - "name": "GenericView" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 102, - 100, - 101 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 28 - } - ] - } - } - }, - { - "id": 80, - "name": "GenericTable", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 83, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 62, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 82, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 61, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 84, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 63, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 83, - 82, - 84 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 27 - } - ] - } - } - }, - { - "id": 85, - "name": "GenericUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 86, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 88, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 68, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 87, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 89, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 87, - 89 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 35 - } - ] - } - } - }, - { - "id": 93, - "name": "GenericView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 76, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "id": 85, - "name": "GenericUpdatableView" - }, - { - "type": "reference", - "id": 90, - "name": "GenericNonUpdatableView" - } - ] - } - }, - { - "id": 61, - "name": "SupabaseClientOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 10, - "character": 12 - } - ], - "typeParameter": [ - { - "id": 79, - "name": "SchemaName", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 62, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 66, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 18, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 67, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 68, - "name": "autoRefreshToken", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Automatically refreshes the token for logged-in users. Defaults to true." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 22, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 71, - "name": "detectSessionInUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Detect a session from the URL. Used for OAuth login callbacks. Defaults to true." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 34, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 73, - "name": "flowType", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "OAuth flow to use - defaults to implicit flow. PKCE is recommended for mobile and server-side applications." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 42, - "character": 4 - } - ], - "type": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "flowType" - }, - "objectType": { - "type": "reference", - "id": 59, - "name": "SupabaseAuthClientOptions" - } - } - }, - { - "id": 70, - "name": "persistSession", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Whether to persist a logged-in session to storage. Defaults to true." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 30, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 72, - "name": "storage", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A storage provider. Used to store the logged-in session." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 38, - "character": 4 - } - ], - "type": { - "type": "indexedAccess", - "indexType": { - "type": "literal", - "value": "storage" - }, - "objectType": { - "type": "reference", - "id": 59, - "name": "SupabaseAuthClientOptions" - } - } - }, - { - "id": 69, - "name": "storageKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Optional key name used for storing tokens in local storage." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 26, - "character": 4 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 18, - "character": 9 - } - ] - } - } - }, - { - "id": 63, - "name": "db", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "The Postgres schema which your tables belong to. Must be on the list of exposed schemas in Supabase. Defaults to `public`." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 14, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 64, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 65, - "name": "schema", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 15, - "character": 4 - } - ], - "type": { - "type": "reference", - "id": 79, - "name": "SchemaName" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 65 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 14, - "character": 7 - } - ] - } - } - }, - { - "id": 75, - "name": "global", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 48, - "character": 2 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 76, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 77, - "name": "fetch", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "A custom `fetch` implementation." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 52, - "character": 4 - } - ], - "type": { - "type": "reference", - "id": 60, - "name": "Fetch" - } - }, - { - "id": 78, - "name": "headers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Optional headers for initializing the client." - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 56, - "character": 4 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "string" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 77, - 78 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 48, - "character": 11 - } - ] - } - } - }, - { - "id": 74, - "name": "realtime", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true - }, - "comment": { - "shortText": "Options passed to the realtime-js instance" - }, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 47, - "character": 2 - } - ], - "type": { - "type": "reference", - "qualifiedName": "RealtimeClientOptions", - "package": "@supabase/realtime-js", - "name": "RealtimeClientOptions" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 10, - "character": 48 - } - ] - } - } - } - ], - "groups": [ - { - "title": "Interfaces", - "kind": 256, - "children": [ - 59 - ] - }, - { - "title": "Type Aliases", - "kind": 4194304, - "children": [ - 60, - 94, - 90, - 98, - 80, - 85, - 93, - 61 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 103, - "name": "lib/version", - "kind": 2, - "kindString": "Module", - "flags": {}, - "children": [ - { - "id": 104, - "name": "version", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true - }, - "sources": [ - { - "fileName": "src/lib/version.ts", - "line": 1, - "character": 13 - } - ], - "type": { - "type": "literal", - "value": "0.0.0-automated" - }, - "defaultValue": "'0.0.0-automated'" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 104 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/version.ts", - "line": 1, - "character": 0 - } - ] - } - ], - "groups": [ - { - "title": "Modules", - "kind": 2, - "children": [ - 1, - 10, - 14, - 44, - 58, - 103 - ] - } - ] -} \ No newline at end of file + "id": 0, + "name": "@supabase/supabase-js", + "kind": 1, + "flags": {}, + "originalName": "", + "children": [ + { + "id": 1, + "name": "index", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 202, + "name": "SupabaseClientOptions", + "kind": 16777216, + "kindString": "Reference", + "flags": {}, + "sources": [ + { + "fileName": "src/index.ts", + "line": 20, + "character": 14 + } + ], + "target": 61 + }, + { + "id": 106, + "name": "SupabaseClient", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "Supabase Client.", + "text": "An isomorphic Javascript client for interacting with Postgres.\n" + }, + "children": [ + { + "id": 107, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 83, + "character": 2 + } + ], + "signatures": [ + { + "id": 108, + "name": "new SupabaseClient", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "comment": { + "shortText": "Create a new client for use in the browser." + }, + "typeParameter": [ + { + "id": 109, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 110, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 109, + "name": "Database" + } + } + ] + } + } + }, + { + "id": 111, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "parameters": [ + { + "id": 112, + "name": "supabaseUrl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique Supabase URL which is supplied when you create a new project in your project dashboard." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 113, + "name": "supabaseKey", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The unique Supabase Key which is supplied when you create a new project in your project dashboard." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 114, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 61, + "typeArguments": [ + { + "type": "reference", + "id": 110, + "name": "SchemaName" + } + ], + "name": "SupabaseClientOptions" + } + } + ], + "type": { + "type": "reference", + "id": 106, + "typeArguments": [ + { + "type": "reference", + "id": 109, + "name": "Database" + }, + { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + { + "type": "reference", + "id": 111, + "name": "Schema" + } + ], + "name": "default" + } + } + ] + }, + { + "id": 115, + "name": "auth", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Supabase Auth allows you to create and manage user sessions for access to data that is secured by access policies." + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "reference", + "name": "SupabaseAuthClient" + } + }, + { + "id": 118, + "name": "authUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 59, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 128, + "name": "changedAccessToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 65, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 123, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 64, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 124, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 125, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 126, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 127, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 120, + "name": "functionsUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 61, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 129, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 67, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 130, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "indexSignature": { + "id": 131, + "name": "__index", + "kind": 8192, + "kindString": "Index signature", + "flags": {}, + "parameters": [ + { + "id": 132, + "name": "key", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 116, + "name": "realtime", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 56, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "RealtimeClient", + "package": "@supabase/realtime-js", + "name": "default" + } + }, + { + "id": 117, + "name": "realtimeUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 58, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 121, + "name": "rest", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 62, + "character": 12 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 109, + "name": "Database" + }, + { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "qualifiedName": "GenericSchema", + "package": "@supabase/postgrest-js", + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "qualifiedName": "PostgrestClient", + "package": "@supabase/postgrest-js", + "name": "default" + } + }, + { + "id": 122, + "name": "storageKey", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 63, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 119, + "name": "storageUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 60, + "character": 12 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 134, + "name": "supabaseKey", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 133, + "name": "supabaseUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 135, + "name": "functions", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 132, + "character": 6 + } + ], + "getSignature": [ + { + "id": 136, + "name": "functions", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Supabase Functions allows you to deploy and invoke edge functions." + }, + "type": { + "type": "reference", + "qualifiedName": "FunctionsClient", + "package": "@supabase/functions-js", + "name": "FunctionsClient" + } + } + ] + }, + { + "id": 137, + "name": "storage", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 142, + "character": 6 + } + ], + "getSignature": [ + { + "id": 138, + "name": "storage", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Supabase Storage allows you to manage user-generated content, such as photos or videos." + }, + "type": { + "type": "reference", + "qualifiedName": "StorageClient", + "package": "@supabase/storage-js", + "name": "StorageClient" + } + } + ] + }, + { + "id": 177, + "name": "_getAccessToken", + "kind": 2048, + "kindString": "Method", + "flags": { + "isPrivate": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 259, + "character": 16 + } + ], + "signatures": [ + { + "id": 178, + "name": "_getAccessToken", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 194, + "name": "_handleTokenChanged", + "kind": 2048, + "kindString": "Method", + "flags": { + "isPrivate": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 310, + "character": 10 + } + ], + "signatures": [ + { + "id": 195, + "name": "_handleTokenChanged", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 196, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "AuthChangeEvent", + "package": "@supabase/gotrue-js", + "name": "AuthChangeEvent" + } + }, + { + "id": 197, + "name": "source", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "CLIENT" + }, + { + "type": "literal", + "value": "STORAGE" + } + ] + } + }, + { + "id": 198, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 188, + "name": "_initRealtimeClient", + "kind": 2048, + "kindString": "Method", + "flags": { + "isPrivate": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 296, + "character": 10 + } + ], + "signatures": [ + { + "id": 189, + "name": "_initRealtimeClient", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 190, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "qualifiedName": "RealtimeClientOptions", + "package": "@supabase/realtime-js", + "name": "RealtimeClientOptions" + } + } + ], + "type": { + "type": "reference", + "qualifiedName": "RealtimeClient", + "package": "@supabase/realtime-js", + "name": "default" + } + } + ] + }, + { + "id": 179, + "name": "_initSupabaseAuthClient", + "kind": 2048, + "kindString": "Method", + "flags": { + "isPrivate": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 265, + "character": 10 + } + ], + "signatures": [ + { + "id": 180, + "name": "_initSupabaseAuthClient", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 181, + "name": "__namedParameters", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 59, + "name": "SupabaseAuthClientOptions" + } + }, + { + "id": 182, + "name": "headers", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 183, + "name": "fetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 184, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 185, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 186, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 187, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "name": "SupabaseAuthClient" + } + } + ] + }, + { + "id": 191, + "name": "_listenForAuthEvents", + "kind": 2048, + "kindString": "Method", + "flags": { + "isPrivate": true + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 303, + "character": 10 + } + ], + "signatures": [ + { + "id": 192, + "name": "_listenForAuthEvents", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 193, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + } + } + ] + }, + { + "id": 166, + "name": "channel", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 167, + "name": "channel", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a Realtime channel with Broadcast, Presence, and Postgres Changes." + }, + "parameters": [ + { + "id": 168, + "name": "name", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the Realtime channel." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 169, + "name": "opts", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The options to pass to the Realtime channel.\n\n" + }, + "type": { + "type": "reference", + "qualifiedName": "RealtimeChannelOptions", + "package": "@supabase/realtime-js", + "name": "RealtimeChannelOptions" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "qualifiedName": "RealtimeChannel", + "package": "@supabase/realtime-js", + "name": "default" + } + } + ] + }, + { + "id": 139, + "name": "from", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 146, + "character": 2 + } + ], + "signatures": [ + { + "id": 140, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "typeParameter": [ + { + "id": 141, + "name": "TableName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 142, + "name": "Table", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 81, + "name": "GenericTable" + } + } + ], + "parameters": [ + { + "id": 143, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "reference", + "id": 141, + "name": "TableName" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 111, + "name": "Schema" + }, + { + "type": "reference", + "id": 142, + "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 142, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 144, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "qualifiedName": "PostgrestQueryBuilder", + "package": "@supabase/postgrest-js", + "name": "default" + } + }, + { + "id": 145, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "typeParameter": [ + { + "id": 146, + "name": "ViewName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 147, + "name": "View", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 94, + "name": "GenericView" + } + } + ], + "parameters": [ + { + "id": 148, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "reference", + "id": 146, + "name": "ViewName" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 111, + "name": "Schema" + }, + { + "type": "reference", + "id": 147, + "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 147, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 149, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "qualifiedName": "PostgrestQueryBuilder", + "package": "@supabase/postgrest-js", + "name": "default" + } + }, + { + "id": 150, + "name": "from", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, + "parameters": [ + { + "id": 151, + "name": "relation", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 111, + "name": "Schema" + }, + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "PostgrestQueryBuilder", + "package": "@supabase/postgrest-js", + "name": "default" + } + } + ] + }, + { + "id": 170, + "name": "getChannels", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 238, + "character": 2 + } + ], + "signatures": [ + { + "id": 171, + "name": "getChannels", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Returns all Realtime channels." + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "qualifiedName": "RealtimeChannel", + "package": "@supabase/realtime-js", + "name": "default" + } + } + } + ] + }, + { + "id": 175, + "name": "removeAllChannels", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 255, + "character": 2 + } + ], + "signatures": [ + { + "id": 176, + "name": "removeAllChannels", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Unsubscribes and removes all Realtime channels from Realtime client." + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "error" + }, + { + "type": "literal", + "value": "ok" + }, + { + "type": "literal", + "value": "timed out" + } + ] + } + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 172, + "name": "removeChannel", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 248, + "character": 2 + } + ], + "signatures": [ + { + "id": 173, + "name": "removeChannel", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Unsubscribes and removes Realtime channel from Realtime client." + }, + "parameters": [ + { + "id": 174, + "name": "channel", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the Realtime channel.\n\n" + }, + "type": { + "type": "reference", + "qualifiedName": "RealtimeChannel", + "package": "@supabase/realtime-js", + "name": "default" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "error" + }, + { + "type": "literal", + "value": "ok" + }, + { + "type": "literal", + "value": "timed out" + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + }, + { + "id": 156, + "name": "rpc", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 202, + "character": 2 + } + ], + "signatures": [ + { + "id": 157, + "name": "rpc", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a function call." + }, + "typeParameter": [ + { + "id": 158, + "name": "FunctionName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 159, + "name": "Function_", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 95, + "name": "GenericFunction" + } + } + ], + "parameters": [ + { + "id": 160, + "name": "fn", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The function name to call" + }, + "type": { + "type": "reference", + "id": 158, + "name": "FunctionName" + } + }, + { + "id": 161, + "name": "args", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The arguments to pass to the function call" + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Args" + }, + "objectType": { + "type": "reference", + "id": 159, + "name": "Function_" + } + }, + "defaultValue": "{}" + }, + { + "id": 162, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Named parameters" + }, + "type": { + "type": "reflection", + "declaration": { + "id": 163, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 165, + "name": "count", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Count algorithm to use to count rows returned by the\nfunction. Only applicable for [set-returning\nfunctions](https://www.postgresql.org/docs/current/functions-srf.html).\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 210, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "exact" + }, + { + "type": "literal", + "value": "planned" + }, + { + "type": "literal", + "value": "estimated" + } + ] + } + }, + { + "id": 164, + "name": "head", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count." + }, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 209, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [165, 164] + } + ] + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 111, + "name": "Schema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Returns" + }, + "objectType": { + "type": "reference", + "id": 159, + "name": "Function_" + } + }, + "extendsType": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + }, + "trueType": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + } + }, + "extendsType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "Returns" + }, + "objectType": { + "type": "reference", + "id": 159, + "name": "Function_" + } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "PostgrestFilterBuilder", + "package": "@supabase/postgrest-js", + "name": "default" + } + } + ] + }, + { + "id": 152, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 171, + "character": 2 + } + ], + "signatures": [ + { + "id": 153, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a schema distinct from the default schema supplied via\nthe `options.db.schema` constructor parameter.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 154, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 155, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the schema to query\n" + }, + "type": { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 109, + "name": "Database" + }, + { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "qualifiedName": "PostgrestClient", + "package": "@supabase/postgrest-js", + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [107] + }, + { + "title": "Properties", + "kind": 1024, + "children": [115, 118, 128, 123, 120, 129, 116, 117, 121, 122, 119, 134, 133] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [135, 137] + }, + { + "title": "Methods", + "kind": 2048, + "children": [177, 194, 188, 179, 191, 166, 139, 170, 175, 172, 156, 152] + } + ], + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 43, + "character": 21 + } + ], + "typeParameter": [ + { + "id": 199, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 200, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 109, + "name": "Database" + } + } + ] + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 109, + "name": "Database" + } + } + ] + } + } + }, + { + "id": 201, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 110, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + } + ] + }, + { + "id": 2, + "name": "createClient", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/index.ts", + "line": 25, + "character": 13 + } + ], + "signatures": [ + { + "id": 3, + "name": "createClient", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a new Supabase Client." + }, + "typeParameter": [ + { + "id": 4, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 5, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 4, + "name": "Database" + } + } + ] + } + } + }, + { + "id": 6, + "name": "Schema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + "objectType": { + "type": "reference", + "id": 4, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "parameters": [ + { + "id": 7, + "name": "supabaseUrl", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8, + "name": "supabaseKey", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "id": 61, + "typeArguments": [ + { + "type": "reference", + "id": 5, + "name": "SchemaName" + } + ], + "name": "SupabaseClientOptions" + } + } + ], + "type": { + "type": "reference", + "id": 106, + "typeArguments": [ + { + "type": "reference", + "id": 4, + "name": "Database" + }, + { + "type": "reference", + "id": 5, + "name": "SchemaName" + }, + { + "type": "reference", + "id": 6, + "name": "Schema" + } + ], + "name": "default" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "kind": 16777216, + "children": [202] + }, + { + "title": "Classes", + "kind": 128, + "children": [106] + }, + { + "title": "Functions", + "kind": 64, + "children": [2] + } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 10, + "name": "lib/constants", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 11, + "name": "DEFAULT_HEADERS", + "kind": 32, + "kindString": "Variable", + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "src/lib/constants.ts", + "line": 3, + "character": 13 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 13, + "name": "X-Client-Info", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/constants.ts", + "line": 3, + "character": 33 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [13] + } + ] + } + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Variables", + "kind": 32, + "children": [11] + } + ], + "sources": [ + { + "fileName": "src/lib/constants.ts", + "line": 2, + "character": 0 + } + ] + }, + { + "id": 14, + "name": "lib/fetch", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 29, + "name": "fetchWithAuth", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/fetch.ts", + "line": 25, + "character": 13 + } + ], + "signatures": [ + { + "id": 30, + "name": "fetchWithAuth", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 31, + "name": "supabaseKey", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 32, + "name": "getAccessToken", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 33, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 34, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + }, + { + "id": 35, + "name": "customFetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 36, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 37, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 38, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 39, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 40, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 41, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 42, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 43, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ] + }, + { + "id": 15, + "name": "resolveFetch", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/fetch.ts", + "line": 5, + "character": 13 + } + ], + "signatures": [ + { + "id": 16, + "name": "resolveFetch", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 17, + "name": "customFetch", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 18, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 19, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 20, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 21, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 22, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "signatures": [ + { + "id": 23, + "name": "__type", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 24, + "name": "input", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "qualifiedName": "RequestInfo", + "package": "typescript", + "name": "RequestInfo" + }, + { + "type": "reference", + "qualifiedName": "URL", + "package": "typescript", + "name": "URL" + } + ] + } + }, + { + "id": 25, + "name": "init", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "qualifiedName": "RequestInit", + "package": "typescript", + "name": "RequestInit" + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "qualifiedName": "Response", + "package": "typescript", + "name": "Response" + } + ], + "qualifiedName": "Promise", + "package": "typescript", + "name": "Promise" + } + } + ] + } + } + } + ] + }, + { + "id": 26, + "name": "resolveHeadersConstructor", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/fetch.ts", + "line": 17, + "character": 13 + } + ], + "signatures": [ + { + "id": 27, + "name": "resolveHeadersConstructor", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 28, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + } + } + ] + } + ], + "groups": [ + { + "title": "Functions", + "kind": 64, + "children": [29, 15, 26] + } + ], + "sources": [ + { + "fileName": "src/lib/fetch.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 44, + "name": "lib/helpers", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 50, + "name": "applySettingDefaults", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/helpers.ts", + "line": 18, + "character": 16 + } + ], + "signatures": [ + { + "id": 51, + "name": "applySettingDefaults", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "typeParameter": [ + { + "id": 52, + "name": "Database", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 53, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + }, + "default": { + "type": "conditional", + "checkType": { + "type": "literal", + "value": "public" + }, + "extendsType": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 52, + "name": "Database" + } + }, + "trueType": { + "type": "literal", + "value": "public" + }, + "falseType": { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "id": 52, + "name": "Database" + } + } + ] + } + } + } + ], + "parameters": [ + { + "id": 54, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 61, + "typeArguments": [ + { + "type": "reference", + "id": 53, + "name": "SchemaName" + } + ], + "name": "SupabaseClientOptions" + } + }, + { + "id": 55, + "name": "defaults", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "id": 61, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "SupabaseClientOptions" + } + } + ], + "type": { + "type": "reference", + "id": 61, + "typeArguments": [ + { + "type": "reference", + "id": 53, + "name": "SchemaName" + } + ], + "name": "SupabaseClientOptions" + } + } + ] + }, + { + "id": 56, + "name": "isBrowser", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/helpers.ts", + "line": 16, + "character": 13 + } + ], + "signatures": [ + { + "id": 57, + "name": "isBrowser", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 47, + "name": "stripTrailingSlash", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/helpers.ts", + "line": 12, + "character": 16 + } + ], + "signatures": [ + { + "id": 48, + "name": "stripTrailingSlash", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 49, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 45, + "name": "uuid", + "kind": 64, + "kindString": "Function", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/helpers.ts", + "line": 4, + "character": 16 + } + ], + "signatures": [ + { + "id": 46, + "name": "uuid", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + ], + "groups": [ + { + "title": "Functions", + "kind": 64, + "children": [50, 56, 47, 45] + } + ], + "sources": [ + { + "fileName": "src/lib/helpers.ts", + "line": 2, + "character": 0 + } + ] + }, + { + "id": 58, + "name": "lib/types", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 59, + "name": "SupabaseAuthClientOptions", + "kind": 256, + "kindString": "Interface", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 6, + "character": 17 + } + ], + "extendedTypes": [ + { + "type": "reference", + "name": "GoTrueClientOptions" + } + ] + }, + { + "id": 60, + "name": "Fetch", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 8, + "character": 12 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "id": 18, + "qualifiedName": "fetch", + "package": "typescript", + "name": "fetch" + } + } + }, + { + "id": 95, + "name": "GenericFunction", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 82, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 96, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 97, + "name": "Args", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 83, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 98, + "name": "Returns", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 84, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [97, 98] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 82, + "character": 30 + } + ] + } + } + }, + { + "id": 91, + "name": "GenericNonUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 92, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 93, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 77, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 38 + } + ] + } + } + }, + { + "id": 99, + "name": "GenericSchema", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 100, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 103, + "name": "Functions", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 90, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 95, + "name": "GenericFunction" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 101, + "name": "Tables", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 88, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 81, + "name": "GenericTable" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 102, + "name": "Views", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 89, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 94, + "name": "GenericView" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [103, 101, 102] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 28 + } + ] + } + } + }, + { + "id": 81, + "name": "GenericTable", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 82, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 84, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 66, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 83, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 65, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 85, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 67, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [84, 83, 85] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 27 + } + ] + } + } + }, + { + "id": 86, + "name": "GenericUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 89, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 72, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 88, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 71, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 90, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 73, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [89, 88, 90] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 35 + } + ] + } + } + }, + { + "id": 94, + "name": "GenericView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 80, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "id": 86, + "name": "GenericUpdatableView" + }, + { + "type": "reference", + "id": 91, + "name": "GenericNonUpdatableView" + } + ] + } + }, + { + "id": 61, + "name": "SupabaseClientOptions", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 10, + "character": 12 + } + ], + "typeParameter": [ + { + "id": 80, + "name": "SchemaName", + "kind": 131072, + "kindString": "Type parameter", + "flags": {} + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 62, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 66, + "name": "auth", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 18, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 67, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 68, + "name": "autoRefreshToken", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Automatically refreshes the token for logged-in users. Defaults to true." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 22, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 71, + "name": "detectSessionInUrl", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Detect a session from the URL. Used for OAuth login callbacks. Defaults to true." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 34, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 73, + "name": "flowType", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "OAuth flow to use - defaults to implicit flow. PKCE is recommended for mobile and server-side applications." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 42, + "character": 4 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "flowType" + }, + "objectType": { + "type": "reference", + "id": 59, + "name": "SupabaseAuthClientOptions" + } + } + }, + { + "id": 70, + "name": "persistSession", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Whether to persist a logged-in session to storage. Defaults to true." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 30, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 72, + "name": "storage", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A storage provider. Used to store the logged-in session." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 38, + "character": 4 + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "storage" + }, + "objectType": { + "type": "reference", + "id": 59, + "name": "SupabaseAuthClientOptions" + } + } + }, + { + "id": 69, + "name": "storageKey", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Optional key name used for storing tokens in local storage." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 26, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [68, 74, 71, 73, 70, 72, 69] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 18, + "character": 9 + } + ] + } + } + }, + { + "id": 63, + "name": "db", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "The Postgres schema which your tables belong to. Must be on the list of exposed schemas in Supabase. Defaults to `public`." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 14, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 64, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 65, + "name": "schema", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 15, + "character": 4 + } + ], + "type": { + "type": "reference", + "id": 80, + "name": "SchemaName" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [65] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 14, + "character": 7 + } + ] + } + } + }, + { + "id": 76, + "name": "global", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 77, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 78, + "name": "fetch", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "A custom `fetch` implementation." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 56, + "character": 4 + } + ], + "type": { + "type": "reference", + "id": 60, + "name": "Fetch" + } + }, + { + "id": 79, + "name": "headers", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Optional headers for initializing the client." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 60, + "character": 4 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [78, 79] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 52, + "character": 11 + } + ] + } + } + }, + { + "id": 75, + "name": "realtime", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "Options passed to the realtime-js instance" + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 51, + "character": 2 + } + ], + "type": { + "type": "reference", + "qualifiedName": "RealtimeClientOptions", + "package": "@supabase/realtime-js", + "name": "RealtimeClientOptions" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [66, 63, 76, 75] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 10, + "character": 48 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Interfaces", + "kind": 256, + "children": [59] + }, + { + "title": "Type Aliases", + "kind": 4194304, + "children": [60, 95, 91, 99, 81, 86, 94, 61] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 104, + "name": "lib/version", + "kind": 2, + "kindString": "Module", + "flags": {}, + "children": [ + { + "id": 105, + "name": "version", + "kind": 32, + "kindString": "Variable", + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "src/lib/version.ts", + "line": 1, + "character": 13 + } + ], + "type": { + "type": "literal", + "value": "0.0.0-automated" + }, + "defaultValue": "'0.0.0-automated'" + } + ], + "groups": [ + { + "title": "Variables", + "kind": 32, + "children": [105] + } + ], + "sources": [ + { + "fileName": "src/lib/version.ts", + "line": 1, + "character": 0 + } + ] + } + ], + "groups": [ + { + "title": "Modules", + "kind": 2, + "children": [1, 10, 14, 44, 58, 104] + } + ] +} diff --git a/spec/enrichments/tsdoc_v2/supabase_dereferenced.json b/spec/enrichments/tsdoc_v2/supabase_dereferenced.json index 51e4395c221..0d4f73c23cb 100644 --- a/spec/enrichments/tsdoc_v2/supabase_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/supabase_dereferenced.json @@ -13,7 +13,7 @@ "flags": {}, "children": [ { - "id": 195, + "id": 202, "name": "SupabaseClientOptions", "kind": 16777216, "kindString": "Reference", @@ -28,7 +28,7 @@ "target": 61 }, { - "id": 105, + "id": 106, "name": "SupabaseClient", "kind": 128, "kindString": "Class", @@ -39,7 +39,7 @@ }, "children": [ { - "id": 106, + "id": 107, "name": "constructor", "kind": 512, "kindString": "Constructor", @@ -53,7 +53,7 @@ ], "signatures": [ { - "id": 107, + "id": 108, "name": "new SupabaseClient", "kind": 16384, "kindString": "Constructor signature", @@ -63,7 +63,7 @@ }, "typeParameter": [ { - "id": 108, + "id": 109, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -74,7 +74,7 @@ } }, { - "id": 109, + "id": 110, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -94,7 +94,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -114,7 +114,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -123,14 +123,14 @@ } }, { - "id": 110, + "id": 111, "name": "Schema", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -139,18 +139,18 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { @@ -173,7 +173,7 @@ ], "parameters": [ { - "id": 111, + "id": 112, "name": "supabaseUrl", "kind": 32768, "kindString": "Parameter", @@ -187,7 +187,7 @@ } }, { - "id": 112, + "id": 113, "name": "supabaseKey", "kind": 32768, "kindString": "Parameter", @@ -201,7 +201,7 @@ } }, { - "id": 113, + "id": 114, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -214,7 +214,7 @@ "typeArguments": [ { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" } ], @@ -234,7 +234,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -297,6 +297,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -433,14 +456,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -497,7 +513,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -507,9 +523,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -523,7 +537,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -533,21 +547,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -560,7 +574,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -595,7 +609,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -608,7 +622,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -634,16 +648,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -651,7 +662,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -664,7 +675,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -680,12 +691,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -703,21 +709,21 @@ ], "type": { "type": "reference", - "id": 105, + "id": 106, "typeArguments": [ { "type": "reference", - "id": 108, + "id": 109, "name": "Database" }, { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" } ], @@ -727,7 +733,7 @@ ] }, { - "id": 114, + "id": 115, "name": "auth", "kind": 1024, "kindString": "Property", @@ -748,7 +754,7 @@ } }, { - "id": 117, + "id": 118, "name": "authUrl", "kind": 1024, "kindString": "Property", @@ -768,12 +774,13 @@ } }, { - "id": 127, + "id": 128, "name": "changedAccessToken", "kind": 1024, "kindString": "Property", "flags": { - "isProtected": true + "isProtected": true, + "isOptional": true }, "sources": [ { @@ -783,21 +790,12 @@ } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] + "type": "intrinsic", + "name": "string" } }, { - "id": 122, + "id": 123, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -815,21 +813,21 @@ "type": { "type": "reflection", "declaration": { - "id": 123, + "id": 124, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 124, + "id": 125, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 125, + "id": 126, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -853,7 +851,7 @@ } }, { - "id": 126, + "id": 127, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -888,7 +886,7 @@ } }, { - "id": 119, + "id": 120, "name": "functionsUrl", "kind": 1024, "kindString": "Property", @@ -908,7 +906,7 @@ } }, { - "id": 128, + "id": 129, "name": "headers", "kind": 1024, "kindString": "Property", @@ -925,20 +923,20 @@ "type": { "type": "reflection", "declaration": { - "id": 129, + "id": 130, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "indexSignature": { - "id": 130, + "id": 131, "name": "__index", "kind": 8192, "kindString": "Index signature", "flags": {}, "parameters": [ { - "id": 131, + "id": 132, "name": "key", "kind": 32768, "flags": {}, @@ -957,7 +955,7 @@ } }, { - "id": 115, + "id": 116, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -977,7 +975,7 @@ } }, { - "id": 116, + "id": 117, "name": "realtimeUrl", "kind": 1024, "kindString": "Property", @@ -997,7 +995,7 @@ } }, { - "id": 120, + "id": 121, "name": "rest", "kind": 1024, "kindString": "Property", @@ -1016,12 +1014,12 @@ "typeArguments": [ { "type": "reference", - "id": 108, + "id": 109, "name": "Database" }, { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, { @@ -1030,12 +1028,12 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -1068,7 +1066,7 @@ } }, { - "id": 121, + "id": 122, "name": "storageKey", "kind": 1024, "kindString": "Property", @@ -1088,7 +1086,7 @@ } }, { - "id": 118, + "id": 119, "name": "storageUrl", "kind": 1024, "kindString": "Property", @@ -1108,7 +1106,7 @@ } }, { - "id": 133, + "id": 134, "name": "supabaseKey", "kind": 1024, "kindString": "Property", @@ -1121,7 +1119,7 @@ } }, { - "id": 132, + "id": 133, "name": "supabaseUrl", "kind": 1024, "kindString": "Property", @@ -1134,7 +1132,7 @@ } }, { - "id": 134, + "id": 135, "name": "functions", "kind": 262144, "kindString": "Accessor", @@ -1142,13 +1140,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 138, + "line": 132, "character": 6 } ], "getSignature": [ { - "id": 135, + "id": 136, "name": "functions", "kind": 524288, "kindString": "Get signature", @@ -1166,7 +1164,7 @@ ] }, { - "id": 136, + "id": 137, "name": "storage", "kind": 262144, "kindString": "Accessor", @@ -1174,13 +1172,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 148, + "line": 142, "character": 6 } ], "getSignature": [ { - "id": 137, + "id": 138, "name": "storage", "kind": 524288, "kindString": "Get signature", @@ -1198,7 +1196,7 @@ ] }, { - "id": 170, + "id": 177, "name": "_getAccessToken", "kind": 2048, "kindString": "Method", @@ -1208,13 +1206,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 235, + "line": 259, "character": 16 } ], "signatures": [ { - "id": 171, + "id": 178, "name": "_getAccessToken", "kind": 4096, "kindString": "Call signature", @@ -1244,7 +1242,7 @@ ] }, { - "id": 187, + "id": 194, "name": "_handleTokenChanged", "kind": 2048, "kindString": "Method", @@ -1254,20 +1252,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 284, + "line": 310, "character": 10 } ], "signatures": [ { - "id": 188, + "id": 195, "name": "_handleTokenChanged", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 189, + "id": 196, "name": "event", "kind": 32768, "kindString": "Parameter", @@ -1280,27 +1278,7 @@ } }, { - "id": 190, - "name": "token", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 191, + "id": 197, "name": "source", "kind": 32768, "kindString": "Parameter", @@ -1318,6 +1296,19 @@ } ] } + }, + { + "id": 198, + "name": "token", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } } ], "type": { @@ -1328,7 +1319,7 @@ ] }, { - "id": 181, + "id": 188, "name": "_initRealtimeClient", "kind": 2048, "kindString": "Method", @@ -1338,20 +1329,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 270, + "line": 296, "character": 10 } ], "signatures": [ { - "id": 182, + "id": 189, "name": "_initRealtimeClient", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 183, + "id": 190, "name": "options", "kind": 32768, "kindString": "Parameter", @@ -1374,7 +1365,7 @@ ] }, { - "id": 172, + "id": 179, "name": "_initSupabaseAuthClient", "kind": 2048, "kindString": "Method", @@ -1384,20 +1375,20 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 241, + "line": 265, "character": 10 } ], "signatures": [ { - "id": 173, + "id": 180, "name": "_initSupabaseAuthClient", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 174, + "id": 181, "name": "__namedParameters", "kind": 32768, "kindString": "Parameter", @@ -1429,7 +1420,7 @@ } }, { - "id": 175, + "id": 182, "name": "headers", "kind": 32768, "kindString": "Parameter", @@ -1454,7 +1445,7 @@ } }, { - "id": 176, + "id": 183, "name": "fetch", "kind": 32768, "kindString": "Parameter", @@ -1464,21 +1455,21 @@ "type": { "type": "reflection", "declaration": { - "id": 177, + "id": 184, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "signatures": [ { - "id": 178, + "id": 185, "name": "__type", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 179, + "id": 186, "name": "input", "kind": 32768, "kindString": "Parameter", @@ -1502,7 +1493,7 @@ } }, { - "id": 180, + "id": 187, "name": "init", "kind": 32768, "kindString": "Parameter", @@ -1545,7 +1536,7 @@ ] }, { - "id": 184, + "id": 191, "name": "_listenForAuthEvents", "kind": 2048, "kindString": "Method", @@ -1555,13 +1546,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 277, + "line": 303, "character": 10 } ], "signatures": [ { - "id": 185, + "id": 192, "name": "_listenForAuthEvents", "kind": 4096, "kindString": "Call signature", @@ -1569,7 +1560,7 @@ "type": { "type": "reflection", "declaration": { - "id": 186, + "id": 193, "name": "__type", "kind": 65536, "kindString": "Type literal", @@ -1580,7 +1571,7 @@ ] }, { - "id": 159, + "id": 166, "name": "channel", "kind": 2048, "kindString": "Method", @@ -1588,13 +1579,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 207, + "line": 231, "character": 2 } ], "signatures": [ { - "id": 160, + "id": 167, "name": "channel", "kind": 4096, "kindString": "Call signature", @@ -1604,7 +1595,7 @@ }, "parameters": [ { - "id": 161, + "id": 168, "name": "name", "kind": 32768, "kindString": "Parameter", @@ -1618,7 +1609,7 @@ } }, { - "id": 162, + "id": 169, "name": "opts", "kind": 32768, "kindString": "Parameter", @@ -1645,7 +1636,7 @@ ] }, { - "id": 138, + "id": 139, "name": "from", "kind": 2048, "kindString": "Method", @@ -1653,23 +1644,23 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 157, + "line": 146, "character": 2 } ], "signatures": [ { - "id": 139, + "id": 140, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Perform a table operation." + "shortText": "Perform a query on a table or a view." }, "typeParameter": [ { - "id": 140, + "id": 141, "name": "TableName", "kind": 131072, "kindString": "Type parameter", @@ -1680,28 +1671,31 @@ } }, { - "id": 141, + "id": 142, "name": "Table", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 80, + "id": 81, "name": "GenericTable" } } ], "parameters": [ { - "id": 142, + "id": 143, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "reference", - "id": 140, + "id": 141, "name": "TableName", "dereferenced": {} } @@ -1712,13 +1706,41 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "reference", - "id": 141, + "id": 142, "name": "Table" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 142, + "name": "Table" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 144, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1727,14 +1749,17 @@ } }, { - "id": 143, + "id": 145, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, "typeParameter": [ { - "id": 144, + "id": 146, "name": "ViewName", "kind": 131072, "kindString": "Type parameter", @@ -1745,28 +1770,31 @@ } }, { - "id": 145, + "id": 147, "name": "View", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 93, + "id": 94, "name": "GenericView" } } ], "parameters": [ { - "id": 146, + "id": 148, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "reference", - "id": 144, + "id": 146, "name": "ViewName", "dereferenced": {} } @@ -1777,13 +1805,41 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "reference", - "id": 145, + "id": 147, "name": "View" + }, + { + "type": "conditional", + "checkType": { + "type": "reference", + "id": 147, + "name": "View" + }, + "extendsType": { + "type": "reflection", + "declaration": { + "id": 149, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {} + } + }, + "trueType": { + "type": "reference", + "qualifiedName": "R", + "package": "@supabase/postgrest-js", + "name": "R" + }, + "falseType": { + "type": "intrinsic", + "name": "unknown" + } } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1792,18 +1848,24 @@ } }, { - "id": 147, + "id": 150, "name": "from", "kind": 4096, "kindString": "Call signature", "flags": {}, + "comment": { + "shortText": "Perform a query on a table or a view." + }, "parameters": [ { - "id": 148, + "id": 151, "name": "relation", "kind": 32768, "kindString": "Parameter", "flags": {}, + "comment": { + "shortText": "The table or view name to query\n" + }, "type": { "type": "intrinsic", "name": "string" @@ -1815,12 +1877,16 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { "type": "intrinsic", "name": "any" + }, + { + "type": "intrinsic", + "name": "unknown" } ], "qualifiedName": "PostgrestQueryBuilder", @@ -1831,7 +1897,7 @@ ] }, { - "id": 163, + "id": 170, "name": "getChannels", "kind": 2048, "kindString": "Method", @@ -1839,13 +1905,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 214, + "line": 238, "character": 2 } ], "signatures": [ { - "id": 164, + "id": 171, "name": "getChannels", "kind": 4096, "kindString": "Call signature", @@ -1866,7 +1932,7 @@ ] }, { - "id": 168, + "id": 175, "name": "removeAllChannels", "kind": 2048, "kindString": "Method", @@ -1874,13 +1940,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 231, + "line": 255, "character": 2 } ], "signatures": [ { - "id": 169, + "id": 176, "name": "removeAllChannels", "kind": 4096, "kindString": "Call signature", @@ -1920,7 +1986,7 @@ ] }, { - "id": 165, + "id": 172, "name": "removeChannel", "kind": 2048, "kindString": "Method", @@ -1928,13 +1994,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 224, + "line": 248, "character": 2 } ], "signatures": [ { - "id": 166, + "id": 173, "name": "removeChannel", "kind": 4096, "kindString": "Call signature", @@ -1944,7 +2010,7 @@ }, "parameters": [ { - "id": 167, + "id": 174, "name": "channel", "kind": 32768, "kindString": "Parameter", @@ -1989,7 +2055,7 @@ ] }, { - "id": 149, + "id": 156, "name": "rpc", "kind": 2048, "kindString": "Method", @@ -1997,13 +2063,13 @@ "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 178, + "line": 202, "character": 2 } ], "signatures": [ { - "id": 150, + "id": 157, "name": "rpc", "kind": 4096, "kindString": "Call signature", @@ -2013,7 +2079,7 @@ }, "typeParameter": [ { - "id": 151, + "id": 158, "name": "FunctionName", "kind": 131072, "kindString": "Type parameter", @@ -2024,43 +2090,43 @@ } }, { - "id": 152, + "id": 159, "name": "Function_", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 94, + "id": 95, "name": "GenericFunction" } } ], "parameters": [ { - "id": 153, + "id": 160, "name": "fn", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The function name to call." + "shortText": "The function name to call" }, "type": { "type": "reference", - "id": 151, + "id": 158, "name": "FunctionName", "dereferenced": {} } }, { - "id": 154, + "id": 161, "name": "args", "kind": 32768, "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The parameters to pass to the function call." + "shortText": "The arguments to pass to the function call" }, "type": { "type": "indexedAccess", @@ -2070,31 +2136,34 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } }, "defaultValue": "{}" }, { - "id": 155, + "id": 162, "name": "options", "kind": 32768, "kindString": "Parameter", "flags": { "isOptional": true }, + "comment": { + "shortText": "Named parameters" + }, "type": { "type": "reflection", "declaration": { - "id": 156, + "id": 163, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 158, + "id": 165, "name": "count", "kind": 1024, "kindString": "Property", @@ -2102,12 +2171,12 @@ "isOptional": true }, "comment": { - "shortText": "Count algorithm to use to count rows in a table.\n\n" + "shortText": "Count algorithm to use to count rows returned by the\nfunction. Only applicable for [set-returning\nfunctions](https://www.postgresql.org/docs/current/functions-srf.html).\n\n`\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\nhood.\n\n`\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\nstatistics under the hood.\n\n`\"estimated\"`: Uses exact count for low numbers and planned count for high\nnumbers.\n" }, "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 186, + "line": 210, "character": 6 } ], @@ -2130,7 +2199,7 @@ } }, { - "id": 157, + "id": 164, "name": "head", "kind": 1024, "kindString": "Property", @@ -2138,12 +2207,12 @@ "isOptional": true }, "comment": { - "shortText": "When set to true, no data will be returned." + "shortText": "When set to `true`, `data` will not be returned.\nUseful if you only need the count." }, "sources": [ { "fileName": "src/SupabaseClient.ts", - "line": 185, + "line": 209, "character": 6 } ], @@ -2157,10 +2226,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 158, - 157 - ] + "children": [165, 164] } ] } @@ -2172,7 +2238,7 @@ "typeArguments": [ { "type": "reference", - "id": 110, + "id": 111, "name": "Schema" }, { @@ -2185,7 +2251,7 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } }, @@ -2261,9 +2327,13 @@ }, "objectType": { "type": "reference", - "id": 152, + "id": 159, "name": "Function_" } + }, + { + "type": "intrinsic", + "name": "unknown" } ], "qualifiedName": "PostgrestFilterBuilder", @@ -2272,59 +2342,140 @@ } } ] + }, + { + "id": 152, + "name": "schema", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SupabaseClient.ts", + "line": 171, + "character": 2 + } + ], + "signatures": [ + { + "id": 153, + "name": "schema", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Perform a query on a schema distinct from the default schema supplied via\nthe `options.db.schema` constructor parameter.", + "text": "The schema needs to be on the list of exposed schemas inside Supabase.\n" + }, + "typeParameter": [ + { + "id": 154, + "name": "DynamicSchema", + "kind": 131072, + "kindString": "Type parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 155, + "name": "schema", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "shortText": "The name of the schema to query\n" + }, + "type": { + "type": "reference", + "id": 154, + "name": "DynamicSchema", + "dereferenced": {} + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "id": 109, + "name": "Database" + }, + { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "id": 154, + "name": "DynamicSchema" + }, + "objectType": { + "type": "reference", + "id": 109, + "name": "Database" + } + }, + "extendsType": { + "type": "reference", + "id": 99, + "name": "GenericSchema" + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "any" + }, + "objectType": { + "type": "intrinsic", + "name": "any" + } + }, + "falseType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "qualifiedName": "PostgrestClient", + "package": "@supabase/postgrest-js", + "name": "default" + } + } + ] } ], "groups": [ { "title": "Constructors", "kind": 512, - "children": [ - 106 - ] + "children": [107] }, { "title": "Properties", "kind": 1024, - "children": [ - 114, - 117, - 127, - 122, - 119, - 128, - 115, - 116, - 120, - 121, - 118, - 133, - 132 - ] + "children": [115, 118, 128, 123, 120, 129, 116, 117, 121, 122, 119, 134, 133] }, { "title": "Accessors", "kind": 262144, - "children": [ - 134, - 136 - ] + "children": [135, 137] }, { "title": "Methods", "kind": 2048, - "children": [ - 170, - 187, - 181, - 172, - 184, - 159, - 138, - 163, - 168, - 165, - 149 - ] + "children": [177, 194, 188, 179, 191, 166, 139, 170, 175, 172, 156, 152] } ], "sources": [ @@ -2336,7 +2487,7 @@ ], "typeParameter": [ { - "id": 192, + "id": 199, "name": "Database", "kind": 131072, "kindString": "Type parameter", @@ -2347,7 +2498,7 @@ } }, { - "id": 193, + "id": 200, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -2364,7 +2515,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -2381,7 +2532,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -2401,7 +2552,7 @@ "operator": "keyof", "target": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } } @@ -2410,14 +2561,14 @@ } }, { - "id": 194, + "id": 201, "name": "Schema", "kind": 131072, "kindString": "Type parameter", "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -2426,30 +2577,30 @@ "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { "type": "indexedAccess", "indexType": { "type": "reference", - "id": 109, + "id": 110, "name": "SchemaName" }, "objectType": { "type": "reference", - "id": 108, + "id": 109, "name": "Database" } }, @@ -2553,7 +2704,7 @@ "flags": {}, "type": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "default": { @@ -2573,7 +2724,7 @@ }, "extendsType": { "type": "reference", - "id": 98, + "id": 99, "name": "GenericSchema" }, "trueType": { @@ -2651,7 +2802,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -2714,6 +2865,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -2850,14 +3024,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -2914,7 +3081,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -2924,9 +3091,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -2940,7 +3105,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -2950,21 +3115,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -2977,7 +3142,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -3012,7 +3177,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -3025,7 +3190,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -3051,16 +3216,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -3068,7 +3230,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -3081,7 +3243,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -3097,12 +3259,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -3120,7 +3277,7 @@ ], "type": { "type": "reference", - "id": 105, + "id": 106, "typeArguments": [ { "type": "reference", @@ -3148,23 +3305,17 @@ { "title": "References", "kind": 16777216, - "children": [ - 195 - ] + "children": [202] }, { "title": "Classes", "kind": 128, - "children": [ - 105 - ] + "children": [106] }, { "title": "Functions", "kind": 64, - "children": [ - 2 - ] + "children": [2] } ], "sources": [ @@ -3230,9 +3381,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 13 - ] + "children": [13] } ] } @@ -3244,9 +3393,7 @@ { "title": "Variables", "kind": 32, - "children": [ - 11 - ] + "children": [11] } ], "sources": [ @@ -3724,11 +3871,7 @@ { "title": "Functions", "kind": 64, - "children": [ - 29, - 15, - 26 - ] + "children": [29, 15, 26] } ], "sources": [ @@ -3861,7 +4004,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -3924,6 +4067,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -4060,14 +4226,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -4124,7 +4283,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -4134,9 +4293,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -4150,7 +4307,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -4160,21 +4317,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -4187,7 +4344,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -4222,7 +4379,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -4235,7 +4392,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -4261,16 +4418,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -4278,7 +4432,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -4291,7 +4445,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -4307,12 +4461,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -4358,7 +4507,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -4421,6 +4570,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -4557,14 +4729,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -4621,7 +4786,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -4631,9 +4796,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -4647,7 +4810,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -4657,21 +4820,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -4684,7 +4847,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -4719,7 +4882,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -4732,7 +4895,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -4758,16 +4921,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -4775,7 +4935,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -4788,7 +4948,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -4804,12 +4964,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -4939,12 +5094,7 @@ { "title": "Functions", "kind": 64, - "children": [ - 50, - 56, - 47, - 45 - ] + "children": [50, 56, 47, 45] } ], "sources": [ @@ -5007,7 +5157,7 @@ } }, { - "id": 94, + "id": 95, "name": "GenericFunction", "kind": 4194304, "kindString": "Type alias", @@ -5015,21 +5165,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 82, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 95, + "id": 96, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 96, + "id": 97, "name": "Args", "kind": 1024, "kindString": "Property", @@ -5037,7 +5187,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 79, + "line": 83, "character": 2 } ], @@ -5059,7 +5209,7 @@ } }, { - "id": 97, + "id": 98, "name": "Returns", "kind": 1024, "kindString": "Property", @@ -5067,7 +5217,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 80, + "line": 84, "character": 2 } ], @@ -5081,16 +5231,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 96, - 97 - ] + "children": [97, 98] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 78, + "line": 82, "character": 30 } ] @@ -5098,7 +5245,7 @@ } }, { - "id": 90, + "id": 91, "name": "GenericNonUpdatableView", "kind": 4194304, "kindString": "Type alias", @@ -5106,25 +5253,418 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 76, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 91, + "id": 92, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 92, + "id": 93, "name": "Row", "kind": 1024, "kindString": "Property", "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 77, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 38 + } + ] + } + } + }, + { + "id": 99, + "name": "GenericSchema", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 100, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 103, + "name": "Functions", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 90, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 95, + "name": "GenericFunction" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 101, + "name": "Tables", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 88, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 81, + "name": "GenericTable" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 102, + "name": "Views", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 89, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "id": 94, + "name": "GenericView" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [103, 101, 102] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 87, + "character": 28 + } + ] + } + } + }, + { + "id": 81, + "name": "GenericTable", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 82, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 84, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 66, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 83, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 65, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 85, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 67, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [84, 83, 85] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 64, + "character": 27 + } + ] + } + } + }, + { + "id": 86, + "name": "GenericUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 70, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 89, + "name": "Insert", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 72, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 88, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 71, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + }, + { + "id": 90, + "name": "Update", + "kind": 1024, + "kindString": "Property", + "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", @@ -5154,420 +5694,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 92 - ] + "children": [89, 88, 90] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, - "character": 38 - } - ] - } - } - }, - { - "id": 98, - "name": "GenericSchema", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 99, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 102, - "name": "Functions", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 86, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 94, - "name": "GenericFunction" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 100, - "name": "Tables", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 84, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 80, - "name": "GenericTable" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 101, - "name": "Views", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 85, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "id": 93, - "name": "GenericView" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 102, - 100, - 101 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 83, - "character": 28 - } - ] - } - } - }, - { - "id": 80, - "name": "GenericTable", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 81, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 83, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 62, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 82, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 61, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 84, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 63, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 83, - 82, - 84 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 60, - "character": 27 - } - ] - } - } - }, - { - "id": 85, - "name": "GenericUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 86, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 88, - "name": "Insert", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 68, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 87, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 67, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - }, - { - "id": 89, - "name": "Update", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 87, - 89 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, + "line": 70, "character": 35 } ] @@ -5575,7 +5708,7 @@ } }, { - "id": 93, + "id": 94, "name": "GenericView", "kind": 4194304, "kindString": "Type alias", @@ -5583,7 +5716,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 76, + "line": 80, "character": 12 } ], @@ -5591,7 +5724,7 @@ "type": "union", "types": [ { - "id": 85, + "id": 86, "name": "GenericUpdatableView", "kind": 4194304, "kindString": "Type alias", @@ -5599,21 +5732,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 66, + "line": 70, "character": 12 } ], "type": { "type": "reflection", "declaration": { - "id": 86, + "id": 87, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 88, + "id": 89, "name": "Insert", "kind": 1024, "kindString": "Property", @@ -5621,7 +5754,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 68, + "line": 72, "character": 2 } ], @@ -5643,7 +5776,7 @@ } }, { - "id": 87, + "id": 88, "name": "Row", "kind": 1024, "kindString": "Property", @@ -5651,7 +5784,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 67, + "line": 71, "character": 2 } ], @@ -5673,85 +5806,11 @@ } }, { - "id": 89, + "id": 90, "name": "Update", "kind": 1024, "kindString": "Property", "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 69, - "character": 2 - } - ], - "type": { - "type": "reference", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "unknown" - } - ], - "qualifiedName": "Record", - "package": "typescript", - "name": "Record" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 88, - 87, - 89 - ] - } - ], - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 66, - "character": 35 - } - ] - } - } - }, - { - "id": 90, - "name": "GenericNonUpdatableView", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "src/lib/types.ts", - "line": 72, - "character": 12 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 91, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 92, - "name": "Row", - "kind": 1024, - "kindString": "Property", - "flags": {}, "sources": [ { "fileName": "src/lib/types.ts", @@ -5781,15 +5840,83 @@ { "title": "Properties", "kind": 1024, - "children": [ - 92 - ] + "children": [89, 88, 90] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 72, + "line": 70, + "character": 35 + } + ] + } + } + }, + { + "id": 91, + "name": "GenericNonUpdatableView", + "kind": 4194304, + "kindString": "Type alias", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 92, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 93, + "name": "Row", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 77, + "character": 2 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "qualifiedName": "Record", + "package": "typescript", + "name": "Record" + } + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [93] + } + ], + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 76, "character": 38 } ] @@ -5814,7 +5941,7 @@ ], "typeParameter": [ { - "id": 79, + "id": 80, "name": "SchemaName", "kind": 131072, "kindString": "Type parameter", @@ -5877,6 +6004,29 @@ "name": "boolean" } }, + { + "id": 74, + "name": "debug", + "kind": 1024, + "kindString": "Property", + "flags": { + "isOptional": true + }, + "comment": { + "shortText": "If debug messages for authentication client are emitted. Can be used to inspect the behavior of the library." + }, + "sources": [ + { + "fileName": "src/lib/types.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, { "id": 71, "name": "detectSessionInUrl", @@ -6013,14 +6163,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 68, - 71, - 73, - 70, - 72, - 69 - ] + "children": [68, 74, 71, 73, 70, 72, 69] } ], "sources": [ @@ -6077,7 +6220,7 @@ ], "type": { "type": "reference", - "id": 79, + "id": 80, "name": "SchemaName", "dereferenced": {} } @@ -6087,9 +6230,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 65 - ] + "children": [65] } ], "sources": [ @@ -6103,7 +6244,7 @@ } }, { - "id": 75, + "id": 76, "name": "global", "kind": 1024, "kindString": "Property", @@ -6113,21 +6254,21 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 2 } ], "type": { "type": "reflection", "declaration": { - "id": 76, + "id": 77, "name": "__type", "kind": 65536, "kindString": "Type literal", "flags": {}, "children": [ { - "id": 77, + "id": 78, "name": "fetch", "kind": 1024, "kindString": "Property", @@ -6140,7 +6281,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 52, + "line": 56, "character": 4 } ], @@ -6175,7 +6316,7 @@ } }, { - "id": 78, + "id": 79, "name": "headers", "kind": 1024, "kindString": "Property", @@ -6188,7 +6329,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 56, + "line": 60, "character": 4 } ], @@ -6214,16 +6355,13 @@ { "title": "Properties", "kind": 1024, - "children": [ - 77, - 78 - ] + "children": [78, 79] } ], "sources": [ { "fileName": "src/lib/types.ts", - "line": 48, + "line": 52, "character": 11 } ] @@ -6231,7 +6369,7 @@ } }, { - "id": 74, + "id": 75, "name": "realtime", "kind": 1024, "kindString": "Property", @@ -6244,7 +6382,7 @@ "sources": [ { "fileName": "src/lib/types.ts", - "line": 47, + "line": 51, "character": 2 } ], @@ -6260,12 +6398,7 @@ { "title": "Properties", "kind": 1024, - "children": [ - 66, - 63, - 75, - 74 - ] + "children": [66, 63, 76, 75] } ], "sources": [ @@ -6283,23 +6416,12 @@ { "title": "Interfaces", "kind": 256, - "children": [ - 59 - ] + "children": [59] }, { "title": "Type Aliases", "kind": 4194304, - "children": [ - 60, - 94, - 90, - 98, - 80, - 85, - 93, - 61 - ] + "children": [60, 95, 91, 99, 81, 86, 94, 61] } ], "sources": [ @@ -6311,14 +6433,14 @@ ] }, { - "id": 103, + "id": 104, "name": "lib/version", "kind": 2, "kindString": "Module", "flags": {}, "children": [ { - "id": 104, + "id": 105, "name": "version", "kind": 32, "kindString": "Variable", @@ -6343,9 +6465,7 @@ { "title": "Variables", "kind": 32, - "children": [ - 104 - ] + "children": [105] } ], "sources": [ @@ -6361,14 +6481,7 @@ { "title": "Modules", "kind": 2, - "children": [ - 1, - 10, - 14, - 44, - 58, - 103 - ] + "children": [1, 10, 14, 44, 58, 104] } ] -} \ No newline at end of file +} diff --git a/spec/storage_v0_openapi.json b/spec/storage_v0_openapi.json index 29f942d3b48..ddcefea4a7c 100644 --- a/spec/storage_v0_openapi.json +++ b/spec/storage_v0_openapi.json @@ -680,6 +680,7 @@ "name": { "type": "string" }, "bucket_id": { "type": "string" }, "owner": { "type": "string" }, + "owner_id": { "type": "string" }, "version": { "type": "string" }, "id": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "updated_at": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, @@ -1090,7 +1091,7 @@ "Either the object does not exist or you do not have access to it" ] }, - "version": { "type": "string", "examples": ["folder/cat.png"] }, + "path": { "type": "string", "examples": ["folder/cat.png"] }, "signedURL": { "type": ["null", "string"], "examples": [ @@ -1227,6 +1228,7 @@ "name": { "type": "string" }, "bucket_id": { "type": "string" }, "owner": { "type": "string" }, + "owner_id": { "type": "string" }, "version": { "type": "string" }, "id": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, "updated_at": { "anyOf": [{ "type": "string" }, { "type": "null" }] }, diff --git a/spec/supabase_js_v2.yml b/spec/supabase_js_v2.yml index 0f261098ece..aa2337b47b5 100644 --- a/spec/supabase_js_v2.yml +++ b/spec/supabase_js_v2.yml @@ -339,6 +339,19 @@ functions: }) const oAuthToken = data.session.provider_token // use to access provider API ``` + - id: sign-in-with-id-token + title: 'signInWithIdToken' + $ref: '@supabase/gotrue-js.GoTrueClient.signInWithIdToken' + examples: + - id: sign-in-with-id-token + name: 'Sign In using ID Token' + code: | + ```js + const { data, error } = await supabase.auth.signInWithIdToken({ + provider: 'google', + token: 'your-id-token' + }) + ``` - id: sign-in-with-sso title: 'signInWithSSO()' $ref: '@supabase/gotrue-js.GoTrueClient.signInWithSSO' diff --git a/spec/transforms/api_v0_openapi_deparsed.json b/spec/transforms/api_v0_openapi_deparsed.json index 9367b39032e..c613bd6a859 100644 --- a/spec/transforms/api_v0_openapi_deparsed.json +++ b/spec/transforms/api_v0_openapi_deparsed.json @@ -1,6 +1,205 @@ { "openapi": "3.0.0", "paths": { + "/v1/branches/{branch_id}": { + "get": { + "operationId": "getBranchDetails", + "summary": "Get database branch config", + "description": "Fetches configurations of the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "db_port": { + "type": "integer" + }, + "ref": { + "type": "string" + }, + "postgres_version": { + "type": "string" + }, + "status": { + "enum": [ + "ACTIVE_HEALTHY", + "ACTIVE_UNHEALTHY", + "COMING_UP", + "GOING_DOWN", + "INACTIVE", + "INIT_FAILED", + "REMOVED", + "RESTORING", + "UNKNOWN", + "UPGRADING", + "PAUSING" + ], + "type": "string" + }, + "db_host": { + "type": "string" + }, + "db_user": { + "type": "string" + }, + "db_pass": { + "type": "string" + }, + "jwt_secret": { + "type": "string" + } + }, + "required": ["db_port", "ref", "postgres_version", "status", "db_host"] + } + } + } + }, + "500": { + "description": "Failed to update database branch" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "updateBranch", + "summary": "Update database branch config", + "description": "Updates the configuration of the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "branch_name": { + "type": "string" + }, + "git_branch": { + "type": "string" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "project_ref": { + "type": "string" + }, + "parent_project_ref": { + "type": "string" + }, + "is_default": { + "type": "boolean" + }, + "git_branch": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "project_ref", + "parent_project_ref", + "is_default", + "created_at", + "updated_at" + ] + } + } + } + }, + "500": { + "description": "Failed to update database branch" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + }, + "delete": { + "operationId": "deleteBranch", + "summary": "Delete a database branch", + "description": "Deletes the specified database branch", + "parameters": [ + { + "name": "branch_id", + "required": true, + "in": "path", + "description": "Branch ID", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + }, + "500": { + "description": "Failed to delete database branch" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + } + }, "/v1/projects": { "get": { "operationId": "getProjects", @@ -330,6 +529,7 @@ "/v1/oauth/authorize": { "get": { "operationId": "authorize", + "summary": "Authorize user through oauth", "parameters": [ { "name": "client_id", @@ -393,13 +593,13 @@ "required": false, "in": "query", "schema": { - "enum": ["plain", "sha256"], + "enum": ["plain", "sha256", "S256"], "type": "string" } } ], "responses": { - "200": { + "303": { "description": "" } }, @@ -409,836 +609,74 @@ "/v1/oauth/token": { "post": { "operationId": "token", - "parameters": [ - { - "name": "grant_type", - "required": true, - "in": "query", - "schema": { - "enum": ["authorization_code", "refresh_token"], - "type": "string" - } - }, - { - "name": "client_id", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "client_secret", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "code", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "code_verifier", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "redirect_uri", - "required": true, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "refresh_token", - "required": false, - "in": "query", - "schema": { - "type": "string" + "summary": "Exchange auth code for user's access and refresh token", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "properties": { + "grant_type": { + "enum": ["authorization_code", "refresh_token"], + "type": "string" + }, + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "code": { + "type": "string" + }, + "code_verifier": { + "type": "string" + }, + "redirect_uri": { + "type": "string" + }, + "refresh_token": { + "type": "string" + } + }, + "required": ["grant_type", "client_id", "client_secret"] + } } } - ], + }, "responses": { "201": { - "description": "" + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "token_type": { + "type": "string", + "enum": ["Bearer"] + }, + "access_token": { + "type": "string" + }, + "refresh_token": { + "type": "string" + }, + "expires_in": { + "type": "number" + } + }, + "required": ["token_type", "access_token", "refresh_token", "expires_in"] + } + } + } } }, "tags": ["oauth (beta)"] } }, - "/v1/oauth/authorizations/{id}": { - "get": { - "operationId": "getAuthorizationRequest", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": ["oauth (beta)"], - "security": [ - { - "bearer": [] - } - ] - }, - "post": { - "operationId": "approveAuthorizationRequest", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "organization_id": { - "type": "string" - } - }, - "required": ["organization_id"] - } - } - } - }, - "responses": { - "201": { - "description": "" - } - }, - "tags": ["oauth (beta)"], - "security": [ - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "declineAuthorizationRequest", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "tags": ["oauth (beta)"], - "security": [ - { - "bearer": [] - } - ] - } - }, - "/v1/projects/{ref}/functions": { - "post": { - "operationId": "createFunction", - "summary": "Create a function", - "description": "Creates a function and adds it to the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - }, - { - "name": "slug", - "required": false, - "in": "query", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - }, - { - "name": "name", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "verify_jwt", - "required": false, - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "import_map", - "required": false, - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "entrypoint_path", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" - }, - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "verify_jwt": { - "type": "boolean" - } - }, - "required": ["slug", "name", "body"] - } - }, - "application/vnd.denoland.eszip": { - "schema": { - "type": "object", - "properties": { - "slug": { - "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" - }, - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "verify_jwt": { - "type": "boolean" - } - }, - "required": ["slug", "name", "body"] - } - } - } - }, - "responses": { - "201": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": [ - "id", - "slug", - "name", - "status", - "version", - "created_at", - "updated_at" - ] - } - } - } - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to create project's function" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - }, - "get": { - "operationId": "getFunctions", - "summary": "List all functions", - "description": "Returns all functions you've previously added to the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": [ - "id", - "slug", - "name", - "status", - "version", - "created_at", - "updated_at" - ] - } - } - } - } - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to retrieve project's functions" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - } - }, - "/v1/projects/{ref}/functions/{function_slug}": { - "get": { - "operationId": "getFunction", - "summary": "Retrieve a function", - "description": "Retrieves a function with the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": [ - "id", - "slug", - "name", - "status", - "version", - "created_at", - "updated_at" - ] - } - } - } - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to retrieve function with given slug" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - }, - "patch": { - "operationId": "updateFunction", - "summary": "Update a function", - "description": "Updates a function with the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - }, - { - "name": "slug", - "required": false, - "in": "query", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - }, - { - "name": "name", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "verify_jwt", - "required": false, - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "import_map", - "required": false, - "in": "query", - "schema": { - "type": "boolean" - } - }, - { - "name": "entrypoint_path", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - }, - { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "verify_jwt": { - "type": "boolean" - } - } - } - }, - "application/vnd.denoland.eszip": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "verify_jwt": { - "type": "boolean" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": [ - "id", - "slug", - "name", - "status", - "version", - "created_at", - "updated_at" - ] - } - } - } - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to update function with given slug" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - }, - "delete": { - "operationId": "deleteFunction", - "summary": "Delete a function", - "description": "Deletes a function with the specified slug from the specified project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to delete function with given slug" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - } - }, - "/v1/projects/{ref}/functions/{function_slug}/body": { - "get": { - "operationId": "getFunctionBody", - "summary": "Retrieve a function body", - "description": "Retrieves a function body for the specified slug and project.", - "parameters": [ - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" - } - }, - { - "name": "function_slug", - "required": true, - "in": "path", - "description": "Function slug", - "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - }, - "403": { - "description": "" - }, - "500": { - "description": "Failed to retrieve function body with given slug" - } - }, - "tags": ["functions"], - "security": [ - { - "apiKeyHeader": [], - "apiKeyParam": [] - }, - { - "bearer": [] - } - ] - } - }, "/v1/projects/{ref}/api-keys": { "get": { "operationId": "getProjectApiKeys", @@ -1290,6 +728,213 @@ ] } }, + "/v1/projects/{ref}/branches": { + "get": { + "operationId": "getBranches", + "summary": "List all database branches", + "description": "Returns all database branches of the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "project_ref": { + "type": "string" + }, + "parent_project_ref": { + "type": "string" + }, + "is_default": { + "type": "boolean" + }, + "git_branch": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "project_ref", + "parent_project_ref", + "is_default", + "created_at", + "updated_at" + ] + } + } + } + } + }, + "500": { + "description": "Failed to retrieve database branches" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + }, + "post": { + "operationId": "createBranch", + "summary": "Create a database branch", + "description": "Creates a database branch from the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "branch_name": { + "type": "string" + }, + "git_branch": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "required": ["branch_name"] + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "project_ref": { + "type": "string" + }, + "parent_project_ref": { + "type": "string" + }, + "is_default": { + "type": "boolean" + }, + "git_branch": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "project_ref", + "parent_project_ref", + "is_default", + "created_at", + "updated_at" + ] + } + } + } + }, + "500": { + "description": "Failed to create database branch" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + }, + "delete": { + "operationId": "disableBranch", + "summary": "Disables preview branching", + "description": "Disables preview branching for the specified project", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + }, + "500": { + "description": "Failed to disable preview branching" + } + }, + "tags": ["database branches (beta)"], + "security": [ + { + "bearer": [] + } + ] + } + }, "/v1/projects/{ref}/custom-hostname": { "get": { "operationId": "getCustomHostnameConfig", @@ -2522,8 +2167,8 @@ "type": "object", "properties": { "status": { - "type": "string", - "enum": ["not-used", "custom-domain-used", "active"] + "enum": ["not-used", "custom-domain-used", "active"], + "type": "string" }, "custom_domain": { "type": "string" @@ -3057,19 +2702,13 @@ "type": "object", "properties": { "statement_timeout": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 + "type": "string" }, "effective_cache_size": { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "string" }, "maintenance_work_mem": { - "type": "integer", - "minimum": 1024, - "maximum": 2147483647 + "type": "string" }, "max_connections": { "type": "integer", @@ -3097,33 +2736,16 @@ "maximum": 262143 }, "shared_buffers": { - "type": "integer", - "minimum": 16, - "maximum": 1073741823 + "type": "string" }, "work_mem": { - "type": "integer", - "minimum": 64, - "maximum": 2147483647 + "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } } } } @@ -3166,19 +2788,13 @@ "type": "object", "properties": { "statement_timeout": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 + "type": "string" }, "effective_cache_size": { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "string" }, "maintenance_work_mem": { - "type": "integer", - "minimum": 1024, - "maximum": 2147483647 + "type": "string" }, "max_connections": { "type": "integer", @@ -3206,33 +2822,16 @@ "maximum": 262143 }, "shared_buffers": { - "type": "integer", - "minimum": 16, - "maximum": 1073741823 + "type": "string" }, "work_mem": { - "type": "integer", - "minimum": 64, - "maximum": 2147483647 + "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } } } } @@ -3246,19 +2845,13 @@ "type": "object", "properties": { "statement_timeout": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 + "type": "string" }, "effective_cache_size": { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "string" }, "maintenance_work_mem": { - "type": "integer", - "minimum": 1024, - "maximum": 2147483647 + "type": "string" }, "max_connections": { "type": "integer", @@ -3286,33 +2879,16 @@ "maximum": 262143 }, "shared_buffers": { - "type": "integer", - "minimum": 16, - "maximum": 1073741823 + "type": "string" }, "work_mem": { - "type": "integer", - "minimum": 64, - "maximum": 2147483647 + "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } } } } @@ -3387,6 +2963,9 @@ "pgbouncer_enabled": { "type": "boolean" }, + "supavisor_enabled": { + "type": "boolean" + }, "pgbouncer_status": { "enum": ["COMING_DOWN", "COMING_UP", "DISABLED", "ENABLED", "RELOADING"], "type": "string" @@ -3398,6 +2977,9 @@ "max_client_conn": { "type": "number", "nullable": true + }, + "connectionString": { + "type": "string" } }, "required": [ @@ -3407,12 +2989,13 @@ "db_port", "db_ssl", "db_user", - "default_pool_size", "ignore_startup_parameters", "inserted_at", "pgbouncer_enabled", + "supavisor_enabled", "pgbouncer_status", - "pool_mode" + "pool_mode", + "connectionString" ] } } @@ -3424,9 +3007,6 @@ }, "tags": ["projects config"], "security": [ - { - "bearer": [] - }, { "bearer": [] } @@ -3458,7 +3038,7 @@ "default_pool_size": { "type": "integer", "minimum": 0, - "maximum": 65535 + "maximum": 1000 }, "max_client_conn": { "type": "integer", @@ -3477,12 +3057,7 @@ "type": "string" } }, - "required": [ - "default_pool_size", - "ignore_startup_parameters", - "pgbouncer_enabled", - "pool_mode" - ] + "required": ["ignore_startup_parameters", "pgbouncer_enabled", "pool_mode"] } } } @@ -3498,7 +3073,7 @@ "default_pool_size": { "type": "integer", "minimum": 0, - "maximum": 65535 + "maximum": 1000 }, "max_client_conn": { "type": "integer", @@ -3522,7 +3097,6 @@ } }, "required": [ - "default_pool_size", "ignore_startup_parameters", "pgbouncer_enabled", "pool_mode", @@ -3543,6 +3117,949 @@ "security": [ { "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/config/auth": { + "get": { + "operationId": "getV1AuthConfig", + "summary": "Gets project's auth config", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "smtp_admin_email": { + "type": "string" + }, + "smtp_host": { + "type": "string" + }, + "smtp_port": { + "type": "string" + }, + "smtp_user": { + "type": "string" + }, + "smtp_pass": { + "type": "string" + }, + "smtp_max_frequency": { + "type": "number" + }, + "smtp_sender_name": { + "type": "string" + }, + "rate_limit_email_sent": { + "type": "number", + "minimum": 0, + "maximum": 2147483647 + } + } + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to retrieve project's auth config" + } + }, + "tags": ["projects config"], + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "updateV1AuthConfig", + "summary": "Updates a project's auth config", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "smtp_admin_email": { + "type": "string" + }, + "smtp_host": { + "type": "string" + }, + "smtp_port": { + "type": "string" + }, + "smtp_user": { + "type": "string" + }, + "smtp_pass": { + "type": "string" + }, + "smtp_max_frequency": { + "type": "number" + }, + "smtp_sender_name": { + "type": "string" + }, + "rate_limit_email_sent": { + "type": "number", + "minimum": 0, + "maximum": 2147483647 + } + } + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "smtp_admin_email": { + "type": "string" + }, + "smtp_host": { + "type": "string" + }, + "smtp_port": { + "type": "string" + }, + "smtp_user": { + "type": "string" + }, + "smtp_pass": { + "type": "string" + }, + "smtp_max_frequency": { + "type": "number" + }, + "smtp_sender_name": { + "type": "string" + }, + "rate_limit_email_sent": { + "type": "number", + "minimum": 0, + "maximum": 2147483647 + } + } + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to update project's auth config" + } + }, + "tags": ["projects config"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/database/query": { + "post": { + "operationId": "v1RunQuery", + "summary": "Run sql query", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "query": { + "type": "string" + } + }, + "required": ["query"] + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to run sql query" + } + }, + "tags": ["projects (beta)"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/database/webhooks/enable": { + "post": { + "operationId": "v1EnableDatabaseWebhooks", + "summary": "Enables Database Webhooks on the project", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "" + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to enable Database Webhooks on the project" + } + }, + "tags": ["projects (beta)"], + "security": [ + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/functions": { + "post": { + "operationId": "createFunction", + "summary": "Create a function", + "description": "Creates a function and adds it to the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + }, + { + "name": "slug", + "required": false, + "in": "query", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + }, + { + "name": "name", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "verify_jwt", + "required": false, + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "import_map", + "required": false, + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "entrypoint_path", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "import_map_path", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "pattern": "/^[A-Za-z0-9_-]+$/" + }, + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + }, + "required": ["slug", "name", "body"] + } + }, + "application/vnd.denoland.eszip": { + "schema": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "pattern": "/^[A-Za-z0-9_-]+$/" + }, + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + }, + "required": ["slug", "name", "body"] + } + } + } + }, + "responses": { + "201": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": [ + "id", + "slug", + "name", + "status", + "version", + "created_at", + "updated_at" + ] + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to create project's function" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] + }, + { + "bearer": [] + } + ] + }, + "get": { + "operationId": "getFunctions", + "summary": "List all functions", + "description": "Returns all functions you've previously added to the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": [ + "id", + "slug", + "name", + "status", + "version", + "created_at", + "updated_at" + ] + } + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to retrieve project's functions" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] + }, + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/functions/{function_slug}": { + "get": { + "operationId": "getFunction", + "summary": "Retrieve a function", + "description": "Retrieves a function with the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": [ + "id", + "slug", + "name", + "status", + "version", + "created_at", + "updated_at" + ] + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to retrieve function with given slug" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] + }, + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "updateFunction", + "summary": "Update a function", + "description": "Updates a function with the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + }, + { + "name": "slug", + "required": false, + "in": "query", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + }, + { + "name": "name", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "verify_jwt", + "required": false, + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "import_map", + "required": false, + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "entrypoint_path", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "import_map_path", + "required": false, + "in": "query", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + } + } + }, + "application/vnd.denoland.eszip": { + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": [ + "id", + "slug", + "name", + "status", + "version", + "created_at", + "updated_at" + ] + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to update function with given slug" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] + }, + { + "bearer": [] + } + ] + }, + "delete": { + "operationId": "deleteFunction", + "summary": "Delete a function", + "description": "Deletes a function with the specified slug from the specified project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to delete function with given slug" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] + }, + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/functions/{function_slug}/body": { + "get": { + "operationId": "getFunctionBody", + "summary": "Retrieve a function body", + "description": "Retrieves a function body for the specified slug and project.", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "description": "Project ref", + "schema": { + "minLength": 20, + "maxLength": 20, + "type": "string" + } + }, + { + "name": "function_slug", + "required": true, + "in": "path", + "description": "Function slug", + "schema": { + "pattern": "/^[A-Za-z0-9_-]+$/", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to retrieve function body with given slug" + } + }, + "tags": ["functions"], + "security": [ + { + "apiKeyHeader": [], + "apiKeyParam": [] }, { "bearer": [] @@ -4401,6 +4918,98 @@ } }, "schemas": { + "BranchDetailResponse": { + "type": "object", + "properties": { + "db_port": { + "type": "integer" + }, + "ref": { + "type": "string" + }, + "postgres_version": { + "type": "string" + }, + "status": { + "enum": [ + "ACTIVE_HEALTHY", + "ACTIVE_UNHEALTHY", + "COMING_UP", + "GOING_DOWN", + "INACTIVE", + "INIT_FAILED", + "REMOVED", + "RESTORING", + "UNKNOWN", + "UPGRADING", + "PAUSING" + ], + "type": "string" + }, + "db_host": { + "type": "string" + }, + "db_user": { + "type": "string" + }, + "db_pass": { + "type": "string" + }, + "jwt_secret": { + "type": "string" + } + }, + "required": ["db_port", "ref", "postgres_version", "status", "db_host"] + }, + "UpdateBranchBody": { + "type": "object", + "properties": { + "branch_name": { + "type": "string" + }, + "git_branch": { + "type": "string" + } + } + }, + "BranchResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "project_ref": { + "type": "string" + }, + "parent_project_ref": { + "type": "string" + }, + "is_default": { + "type": "boolean" + }, + "git_branch": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "project_ref", + "parent_project_ref", + "is_default", + "created_at", + "updated_at" + ] + }, "DatabaseResponse": { "type": "object", "properties": { @@ -4526,127 +5135,52 @@ }, "required": ["name"] }, - "AuthorizationsApproveBody": { + "OAuthTokenBody": { "type": "object", "properties": { - "organization_id": { + "grant_type": { + "enum": ["authorization_code", "refresh_token"], + "type": "string" + }, + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "code": { + "type": "string" + }, + "code_verifier": { + "type": "string" + }, + "redirect_uri": { + "type": "string" + }, + "refresh_token": { "type": "string" } }, - "required": ["organization_id"] + "required": ["grant_type", "client_id", "client_secret"] }, - "CreateFunctionBody": { + "OAuthTokenResponse": { "type": "object", "properties": { - "slug": { + "token_type": { "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" + "enum": ["Bearer"] }, - "name": { + "access_token": { "type": "string" }, - "body": { + "refresh_token": { "type": "string" }, - "verify_jwt": { - "type": "boolean" + "expires_in": { + "type": "number" } }, - "required": ["slug", "name", "body"] - }, - "FunctionResponse": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] - }, - "FunctionSlugResponse": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "slug": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" - }, - "version": { - "type": "number" - }, - "created_at": { - "type": "number" - }, - "updated_at": { - "type": "number" - }, - "verify_jwt": { - "type": "boolean" - }, - "import_map": { - "type": "boolean" - }, - "entrypoint_path": { - "type": "string" - }, - "import_map_path": { - "type": "string" - } - }, - "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] - }, - "UpdateFunctionBody": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "body": { - "type": "string" - }, - "verify_jwt": { - "type": "boolean" - } - } + "required": ["token_type", "access_token", "refresh_token", "expires_in"] }, "ApiKeyResponse": { "type": "object", @@ -4660,6 +5194,21 @@ }, "required": ["name", "api_key"] }, + "CreateBranchBody": { + "type": "object", + "properties": { + "branch_name": { + "type": "string" + }, + "git_branch": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "required": ["branch_name"] + }, "UpdateCustomHostnameResponse": { "type": "object", "properties": { @@ -4912,8 +5461,8 @@ "type": "object", "properties": { "status": { - "type": "string", - "enum": ["not-used", "custom-domain-used", "active"] + "enum": ["not-used", "custom-domain-used", "active"], + "type": "string" }, "custom_domain": { "type": "string" @@ -5132,19 +5681,13 @@ "type": "object", "properties": { "statement_timeout": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 + "type": "string" }, "effective_cache_size": { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "string" }, "maintenance_work_mem": { - "type": "integer", - "minimum": 1024, - "maximum": 2147483647 + "type": "string" }, "max_connections": { "type": "integer", @@ -5172,51 +5715,28 @@ "maximum": 262143 }, "shared_buffers": { - "type": "integer", - "minimum": 16, - "maximum": 1073741823 + "type": "string" }, "work_mem": { - "type": "integer", - "minimum": 64, - "maximum": 2147483647 + "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } }, "UpdatePostgresConfigBody": { "type": "object", "properties": { "statement_timeout": { - "type": "integer", - "minimum": 0, - "maximum": 2147483647 + "type": "string" }, "effective_cache_size": { - "type": "integer", - "minimum": 1, - "maximum": 2147483647 + "type": "string" }, "maintenance_work_mem": { - "type": "integer", - "minimum": 1024, - "maximum": 2147483647 + "type": "string" }, "max_connections": { "type": "integer", @@ -5244,33 +5764,16 @@ "maximum": 262143 }, "shared_buffers": { - "type": "integer", - "minimum": 16, - "maximum": 1073741823 + "type": "string" }, "work_mem": { - "type": "integer", - "minimum": 64, - "maximum": 2147483647 + "type": "string" }, "session_replication_role": { "enum": ["origin", "replica", "local"], "type": "string" } - }, - "required": [ - "statement_timeout", - "effective_cache_size", - "maintenance_work_mem", - "max_connections", - "max_parallel_maintenance_workers", - "max_parallel_workers", - "max_parallel_workers_per_gather", - "max_worker_processes", - "shared_buffers", - "work_mem", - "session_replication_role" - ] + } }, "ProjectPgBouncerConfig": { "type": "object", @@ -5305,6 +5808,9 @@ "pgbouncer_enabled": { "type": "boolean" }, + "supavisor_enabled": { + "type": "boolean" + }, "pgbouncer_status": { "enum": ["COMING_DOWN", "COMING_UP", "DISABLED", "ENABLED", "RELOADING"], "type": "string" @@ -5316,6 +5822,9 @@ "max_client_conn": { "type": "number", "nullable": true + }, + "connectionString": { + "type": "string" } }, "required": [ @@ -5325,12 +5834,13 @@ "db_port", "db_ssl", "db_user", - "default_pool_size", "ignore_startup_parameters", "inserted_at", "pgbouncer_enabled", + "supavisor_enabled", "pgbouncer_status", - "pool_mode" + "pool_mode", + "connectionString" ] }, "UpdatePgbouncerConfigBody": { @@ -5339,7 +5849,7 @@ "default_pool_size": { "type": "integer", "minimum": 0, - "maximum": 65535 + "maximum": 1000 }, "max_client_conn": { "type": "integer", @@ -5358,12 +5868,7 @@ "type": "string" } }, - "required": [ - "default_pool_size", - "ignore_startup_parameters", - "pgbouncer_enabled", - "pool_mode" - ] + "required": ["ignore_startup_parameters", "pgbouncer_enabled", "pool_mode"] }, "UpdatePoolingConfigResponse": { "type": "object", @@ -5371,7 +5876,7 @@ "default_pool_size": { "type": "integer", "minimum": 0, - "maximum": 65535 + "maximum": 1000 }, "max_client_conn": { "type": "integer", @@ -5395,13 +5900,196 @@ } }, "required": [ - "default_pool_size", "ignore_startup_parameters", "pgbouncer_enabled", "pool_mode", "pgbouncer_status" ] }, + "AuthConfigResponse": { + "type": "object", + "properties": { + "smtp_admin_email": { + "type": "string" + }, + "smtp_host": { + "type": "string" + }, + "smtp_port": { + "type": "string" + }, + "smtp_user": { + "type": "string" + }, + "smtp_pass": { + "type": "string" + }, + "smtp_max_frequency": { + "type": "number" + }, + "smtp_sender_name": { + "type": "string" + }, + "rate_limit_email_sent": { + "type": "number", + "minimum": 0, + "maximum": 2147483647 + } + } + }, + "UpdateAuthConfigBody": { + "type": "object", + "properties": { + "smtp_admin_email": { + "type": "string" + }, + "smtp_host": { + "type": "string" + }, + "smtp_port": { + "type": "string" + }, + "smtp_user": { + "type": "string" + }, + "smtp_pass": { + "type": "string" + }, + "smtp_max_frequency": { + "type": "number" + }, + "smtp_sender_name": { + "type": "string" + }, + "rate_limit_email_sent": { + "type": "number", + "minimum": 0, + "maximum": 2147483647 + } + } + }, + "RunQueryBody": { + "type": "object", + "properties": { + "query": { + "type": "string" + } + }, + "required": ["query"] + }, + "CreateFunctionBody": { + "type": "object", + "properties": { + "slug": { + "type": "string", + "pattern": "/^[A-Za-z0-9_-]+$/" + }, + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + }, + "required": ["slug", "name", "body"] + }, + "FunctionResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] + }, + "FunctionSlugResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "enum": ["ACTIVE", "REMOVED", "THROTTLED"], + "type": "string" + }, + "version": { + "type": "number" + }, + "created_at": { + "type": "number" + }, + "updated_at": { + "type": "number" + }, + "verify_jwt": { + "type": "boolean" + }, + "import_map": { + "type": "boolean" + }, + "entrypoint_path": { + "type": "string" + }, + "import_map_path": { + "type": "string" + } + }, + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] + }, + "UpdateFunctionBody": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "body": { + "type": "string" + }, + "verify_jwt": { + "type": "boolean" + } + } + }, "AttributeValue": { "type": "object", "properties": { diff --git a/spec/transforms/storage_v0_openapi_deparsed.json b/spec/transforms/storage_v0_openapi_deparsed.json index 8a66b11d97c..ac66694a702 100644 --- a/spec/transforms/storage_v0_openapi_deparsed.json +++ b/spec/transforms/storage_v0_openapi_deparsed.json @@ -1027,6 +1027,9 @@ "owner": { "type": "string" }, + "owner_id": { + "type": "string" + }, "version": { "type": "string" }, @@ -1665,7 +1668,7 @@ "Either the object does not exist or you do not have access to it" ] }, - "version": { + "path": { "type": "string", "examples": ["folder/cat.png"] }, @@ -1882,6 +1885,9 @@ "owner": { "type": "string" }, + "owner_id": { + "type": "string" + }, "version": { "type": "string" }, From 02506719c348e5bf18a5841c9bc9fc7aa949cc79 Mon Sep 17 00:00:00 2001 From: Copple <10214025+kiwicopple@users.noreply.github.com> Date: Wed, 16 Aug 2023 13:22:53 +0200 Subject: [PATCH 84/94] adds a few updates to the vector page --- apps/www/data/products/vector/pageData.tsx | 15 +++++++-------- apps/www/pages/vector/Vector.tsx | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/www/data/products/vector/pageData.tsx b/apps/www/data/products/vector/pageData.tsx index 2ae6b53155f..e042009174a 100644 --- a/apps/www/data/products/vector/pageData.tsx +++ b/apps/www/data/products/vector/pageData.tsx @@ -12,23 +12,22 @@ export default { title: 'Supabase Vector', h1: ( - The open source Vector Toolkit
          - for Postgres + The Postgres Vector database
          + and AI Toolkit
          ), subheader: ( <> - Use the Supabase client libraries to store, index, and query your vector embeddings at - scale. + An open source Vector database for developing AI applications.
          - Build AI applications with your Postgres and pgvector. The best vector database is the - database you already have. + Use pgvector to store, index, and access embeddings, and our AI toolkit to build AI + applications with Hugging Face and OpenAI. ), image: '/images/product/vector/vector-hero.svg', cta: { - label: 'Quickstart', - link: '/docs/guides/ai/quickstarts/hello-world', + label: 'Launch a free database', + link: '/dashboard', }, secondaryCta: { label: 'Explore documentation', diff --git a/apps/www/pages/vector/Vector.tsx b/apps/www/pages/vector/Vector.tsx index 48d8f648014..53aea537162 100644 --- a/apps/www/pages/vector/Vector.tsx +++ b/apps/www/pages/vector/Vector.tsx @@ -21,9 +21,9 @@ const EnterpriseCta = dynamic(() => import('~/components/Sections/EnterpriseCta' function VectorPage() { // base path for images const { basePath } = useRouter() - const meta_title = 'Supabase Vector | The open source vector toolkit for Postgres.' + const meta_title = 'Supabase Vector | The Postgres Vector database.' const meta_description = - 'An open source toolkit for developing AI applications using Postgres and pgvector. Integrate with your favorite ML-models to store, index, and access vector embeddings for any AI use case.' + 'An open source Vector database for developing AI applications. Use pgvector to store, index, and access embeddings, and our AI toolkit to build AI applications with Hugging Face and OpenAI.' return ( <> From 9e8bd9b728da1d75a80e0d1b47b73b20350627ed Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Wed, 16 Aug 2023 23:27:00 +0800 Subject: [PATCH 85/94] feat: supavisor logs support --- .../Command/utils/shared-nav-items.json | 4 ++-- .../interfaces/Settings/Logs/Logs.constants.ts | 5 +++++ .../interfaces/Settings/Logs/Logs.types.ts | 1 + .../interfaces/Settings/Logs/LogsPreviewer.tsx | 3 --- .../layouts/LogsLayout/LogsMenu.utils.ts | 6 +++--- studio/next.config.js | 7 ++++++- .../{pgbouncer-logs.tsx => pooler-logs.tsx} | 18 +++--------------- .../tests/pages/projects/LogsPreviewer.test.js | 2 +- 8 files changed, 21 insertions(+), 25 deletions(-) rename studio/pages/project/[ref]/logs/{pgbouncer-logs.tsx => pooler-logs.tsx} (64%) diff --git a/packages/ui/src/components/Command/utils/shared-nav-items.json b/packages/ui/src/components/Command/utils/shared-nav-items.json index 55b3767edaa..ef67f827328 100644 --- a/packages/ui/src/components/Command/utils/shared-nav-items.json +++ b/packages/ui/src/components/Command/utils/shared-nav-items.json @@ -93,8 +93,8 @@ "url": "https://supabase.com/dashboard/project/_/logs/postgrest-logs" }, { - "label": "Postgres logs", - "url": "https://supabase.com/dashboard/project/_/logs/pgbouncer-logs" + "label": "Pooler logs", + "url": "https://supabase.com/dashboard/project/_/logs/pooler-logs" }, { "label": "Auth logs logs", diff --git a/studio/components/interfaces/Settings/Logs/Logs.constants.ts b/studio/components/interfaces/Settings/Logs/Logs.constants.ts index 0d65ccf9c74..80148fddf98 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.constants.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.constants.ts @@ -303,6 +303,9 @@ export const SQL_FILTER_TEMPLATES: any = { pgbouncer_logs: { ..._SQL_FILTER_COMMON, }, + supavisor_logs: { + ..._SQL_FILTER_COMMON, + }, } export enum LogsTableName { @@ -315,6 +318,7 @@ export enum LogsTableName { STORAGE = 'storage_logs', PGBOUNCER = 'pgbouncer_logs', POSTGREST = 'postgrest_logs', + SUPAVISOR = 'supavisor_logs', } export const LOGS_TABLES = { @@ -327,6 +331,7 @@ export const LOGS_TABLES = { storage: LogsTableName.STORAGE, postgrest: LogsTableName.POSTGREST, pgbouncer: LogsTableName.PGBOUNCER, + supavisor: LogsTableName.SUPAVISOR, } export const LOGS_SOURCE_DESCRIPTION = { diff --git a/studio/components/interfaces/Settings/Logs/Logs.types.ts b/studio/components/interfaces/Settings/Logs/Logs.types.ts index 955bc0364d0..8c5e5faf7ba 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.types.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.types.ts @@ -85,6 +85,7 @@ export type QueryType = | 'auth' | 'realtime' | 'storage' + | 'supavisor' | 'pgbouncer' | 'postgrest' diff --git a/studio/components/interfaces/Settings/Logs/LogsPreviewer.tsx b/studio/components/interfaces/Settings/Logs/LogsPreviewer.tsx index c04c02ec5d4..3dec21423a0 100644 --- a/studio/components/interfaces/Settings/Logs/LogsPreviewer.tsx +++ b/studio/components/interfaces/Settings/Logs/LogsPreviewer.tsx @@ -166,9 +166,6 @@ export const LogsPreviewer = ({ csvData={logData} isLoading={isLoading} newCount={newCount} - templates={TEMPLATES.filter( - (template) => queryType && template.for?.includes(queryType) && template.mode === 'simple' - )} onRefresh={handleRefresh} onSearch={handleSearch} defaultSearchValue={filters.search_query as string} diff --git a/studio/components/layouts/LogsLayout/LogsMenu.utils.ts b/studio/components/layouts/LogsLayout/LogsMenu.utils.ts index 64920f230fb..043cb776c47 100644 --- a/studio/components/layouts/LogsLayout/LogsMenu.utils.ts +++ b/studio/components/layouts/LogsLayout/LogsMenu.utils.ts @@ -44,9 +44,9 @@ export const generateLogsMenu = (project?: Project): ProductMenuGroup[] => { }, IS_PLATFORM ? { - name: 'PgBouncer', - key: 'pgbouncer-logs', - url: `/project/${ref}/logs/pgbouncer-logs`, + name: 'Pooler', + key: 'pooler-logs', + url: `/project/${ref}/logs/pooler-logs`, items: [], } : null, diff --git a/studio/next.config.js b/studio/next.config.js index bd3c3cc86e8..5aa6af64357 100644 --- a/studio/next.config.js +++ b/studio/next.config.js @@ -109,7 +109,12 @@ const nextConfig = { }, { source: '/project/:ref/database/pgbouncer-logs', - destination: '/project/:ref/logs/pgbouncer-logs', + destination: '/project/:ref/logs/pooler-logs', + permanent: true, + }, + { + source: '/project/:ref/logs/pgbouncer-logs', + destination: '/project/:ref/logs/pooler-logs', permanent: true, }, { diff --git a/studio/pages/project/[ref]/logs/pgbouncer-logs.tsx b/studio/pages/project/[ref]/logs/pooler-logs.tsx similarity index 64% rename from studio/pages/project/[ref]/logs/pgbouncer-logs.tsx rename to studio/pages/project/[ref]/logs/pooler-logs.tsx index 17a449d1579..fb358e4a357 100644 --- a/studio/pages/project/[ref]/logs/pgbouncer-logs.tsx +++ b/studio/pages/project/[ref]/logs/pooler-logs.tsx @@ -22,21 +22,9 @@ export const LogPage: NextPageWithLayout = () => { - {isSupavisorEnabled && ( -
          - - - Supavisor logs are not available yet - - Your project currently has Supavisor enabled, which logs are currently unavailable. - - -
          - )} -
          + tableName={isSupavisorEnabled ? LogsTableName.SUPAVISOR : LogsTableName.PGBOUNCER} + queryType={isSupavisorEnabled? "supavisor" : "pgbouncer"} + /> ) } diff --git a/studio/tests/pages/projects/LogsPreviewer.test.js b/studio/tests/pages/projects/LogsPreviewer.test.js index 0dd9e6bd225..4a70f53a7f7 100644 --- a/studio/tests/pages/projects/LogsPreviewer.test.js +++ b/studio/tests/pages/projects/LogsPreviewer.test.js @@ -115,7 +115,7 @@ test.each([ ], }, // these all use teh default selection/table renderers - ...['pgbouncer', 'postgrest', 'storage', 'realtime'].map((queryType) => ({ + ...['pgbouncer', 'postgrest', 'storage', 'realtime', "pooler"].map((queryType) => ({ queryType, tableName: undefined, tableLog: logDataFixture({ From fe4b4c8015de42eaf40f46cde3b935d6c713fe8d Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 02:51:27 +0800 Subject: [PATCH 86/94] chore: fix tests --- studio/components/interfaces/Settings/Logs/Logs.constants.ts | 1 + studio/tests/pages/projects/LogsPreviewer.test.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/studio/components/interfaces/Settings/Logs/Logs.constants.ts b/studio/components/interfaces/Settings/Logs/Logs.constants.ts index 80148fddf98..ec368f689c1 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.constants.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.constants.ts @@ -344,6 +344,7 @@ export const LOGS_SOURCE_DESCRIPTION = { [LogsTableName.STORAGE]: 'Object storage logs', [LogsTableName.PGBOUNCER]: 'Postgres connection pooler logs', [LogsTableName.POSTGREST]: 'RESTful API web server logs', + [LogsTableName.SUPAVISOR]: 'Cloud-native Postgres connection pooler logs', } export const genQueryParams = (params: { [k: string]: string }) => { diff --git a/studio/tests/pages/projects/LogsPreviewer.test.js b/studio/tests/pages/projects/LogsPreviewer.test.js index 4a70f53a7f7..0b6cb0b7276 100644 --- a/studio/tests/pages/projects/LogsPreviewer.test.js +++ b/studio/tests/pages/projects/LogsPreviewer.test.js @@ -115,7 +115,7 @@ test.each([ ], }, // these all use teh default selection/table renderers - ...['pgbouncer', 'postgrest', 'storage', 'realtime', "pooler"].map((queryType) => ({ + ...['pgbouncer', 'postgrest', 'storage', 'realtime', "supavisor"].map((queryType) => ({ queryType, tableName: undefined, tableLog: logDataFixture({ From b7787a6f8bcea81645f94d1b905f485434030941 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:02:21 +0800 Subject: [PATCH 87/94] fix: prevent race conditions for loading supavisor logs vs pgbouncer logs --- studio/pages/project/[ref]/logs/pooler-logs.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/studio/pages/project/[ref]/logs/pooler-logs.tsx b/studio/pages/project/[ref]/logs/pooler-logs.tsx index fb358e4a357..4ac98a09c80 100644 --- a/studio/pages/project/[ref]/logs/pooler-logs.tsx +++ b/studio/pages/project/[ref]/logs/pooler-logs.tsx @@ -6,13 +6,18 @@ import LogsPreviewer from 'components/interfaces/Settings/Logs/LogsPreviewer' import { LogsLayout } from 'components/layouts' import { usePoolingConfigurationQuery } from 'data/database/pooling-configuration-query' import { NextPageWithLayout } from 'types' +import Connecting from 'components/ui/Loading/Loading' export const LogPage: NextPageWithLayout = () => { const { ref } = useParams() - const { data: poolingConfiguration } = usePoolingConfigurationQuery({ + const { data: poolingConfiguration, isLoading } = usePoolingConfigurationQuery({ projectRef: ref ?? 'default', }) + // this prevents initial load of pgbouncer logs before config has been retrieved + if (isLoading) { + return + } const isSupavisorEnabled = poolingConfiguration?.supavisor_enabled ?? poolingConfiguration?.connectionString.includes('pooler.supabase.com') ?? @@ -23,7 +28,7 @@ export const LogPage: NextPageWithLayout = () => { projectRef={ref as string} condensedLayout={true} tableName={isSupavisorEnabled ? LogsTableName.SUPAVISOR : LogsTableName.PGBOUNCER} - queryType={isSupavisorEnabled? "supavisor" : "pgbouncer"} + queryType={isSupavisorEnabled ? 'supavisor' : 'pgbouncer'} /> ) } From f76da639526e0945b582c15170092587f5d2ef66 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:03:46 +0800 Subject: [PATCH 88/94] chore: fix flaky test --- studio/tests/pages/projects/LogsPreviewer.test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/studio/tests/pages/projects/LogsPreviewer.test.js b/studio/tests/pages/projects/LogsPreviewer.test.js index 0b6cb0b7276..203396495f6 100644 --- a/studio/tests/pages/projects/LogsPreviewer.test.js +++ b/studio/tests/pages/projects/LogsPreviewer.test.js @@ -217,7 +217,7 @@ test('Search will trigger a log refresh', async () => { test('poll count for new messages', async () => { get.mockImplementation((url) => { if (url.includes('count')) { - return { result: [{ count: 125 }] } + return { result: [{ count: 54325432 }] } } return { result: [logDataFixture({ id: 'some-uuid123' })], @@ -226,10 +226,10 @@ test('poll count for new messages', async () => { render() await waitFor(() => screen.queryByText(/some-uuid123/) === null) // should display new logs count - await waitFor(() => screen.getByText(/125/)) + await waitFor(() => screen.getByText(/54325432/)) userEvent.click(screen.getByText(/Refresh/)) - await waitFor(() => screen.queryByText(/125/) === null) + await waitFor(() => screen.queryByText(/54325432/) === null) await screen.findByText(/some-uuid123/) }) test('log event chart', async () => { From 11844908de95b899783f477bac0be0200f7fb934 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:06:04 +0800 Subject: [PATCH 89/94] chore: another flaky test fix --- studio/tests/pages/projects/LogsPreviewer.test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/studio/tests/pages/projects/LogsPreviewer.test.js b/studio/tests/pages/projects/LogsPreviewer.test.js index 203396495f6..8859f387063 100644 --- a/studio/tests/pages/projects/LogsPreviewer.test.js +++ b/studio/tests/pages/projects/LogsPreviewer.test.js @@ -217,7 +217,7 @@ test('Search will trigger a log refresh', async () => { test('poll count for new messages', async () => { get.mockImplementation((url) => { if (url.includes('count')) { - return { result: [{ count: 54325432 }] } + return { result: [{ count: 999 }] } } return { result: [logDataFixture({ id: 'some-uuid123' })], @@ -226,10 +226,10 @@ test('poll count for new messages', async () => { render() await waitFor(() => screen.queryByText(/some-uuid123/) === null) // should display new logs count - await waitFor(() => screen.getByText(/54325432/)) + await waitFor(() => screen.getByText(/999/)) userEvent.click(screen.getByText(/Refresh/)) - await waitFor(() => screen.queryByText(/54325432/) === null) + await waitFor(() => screen.queryByText(/999/) === null) await screen.findByText(/some-uuid123/) }) test('log event chart', async () => { From 7c2f5004d0e06a5638853e7146a607338b59b03c Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:21:40 +0800 Subject: [PATCH 90/94] fix: Add joins into counts sql generation --- .../interfaces/Settings/Logs/Logs.utils.ts | 64 ++++++++++++++----- 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/studio/components/interfaces/Settings/Logs/Logs.utils.ts b/studio/components/interfaces/Settings/Logs/Logs.utils.ts index f8ff4d249a1..b2e79b16fb6 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.utils.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.utils.ts @@ -21,6 +21,12 @@ export const isUnixMicro = (unix: string | number): boolean => { return isNum && digitLength } +/** + * Boolean check to verify that there are 3 columns: + * - id + * - timestamp + * - event_message + */ export const isDefaultLogPreviewFormat = (log: LogData) => log && log.timestamp && log.event_message && log.id @@ -65,7 +71,7 @@ const getDotKeys = (obj: { [k: string]: unknown }, parent?: string): string[] => * * @returns a where statement with WHERE clause. */ -const _genWhereStatement = (table: LogsTableName, filters: Filters) => { +const genWhereStatement = (table: LogsTableName, filters: Filters) => { const keys = Object.keys(filters) const filterTemplates = SQL_FILTER_TEMPLATES[table] const _resolveTemplateToStatement = (dotKey: string): string | null => { @@ -122,46 +128,42 @@ const _genWhereStatement = (table: LogsTableName, filters: Filters) => { } export const genDefaultQuery = (table: LogsTableName, filters: Filters) => { - const where = _genWhereStatement(table, filters) + const where = genWhereStatement(table, filters) + const joins = genCrossJoinUnnests(table) switch (table) { case 'edge_logs': return `select id, timestamp, event_message, request.method, request.path, response.status_code from ${table} - cross join unnest(metadata) as m - cross join unnest(m.request) as request - cross join unnest(m.response) as response + ${joins} ${where} limit 100 ` case 'postgres_logs': return `select postgres_logs.timestamp, id, event_message, parsed.error_severity from ${table} - cross join unnest(metadata) as m - cross join unnest(m.parsed) as parsed + ${joins} ${where} limit 100 ` case 'function_logs': return `select id, ${table}.timestamp, event_message, metadata.event_type, metadata.function_id, metadata.level from ${table} - cross join unnest(metadata) as metadata + ${joins} ${where} limit 100 ` case 'auth_logs': return `select id, ${table}.timestamp, event_message, metadata.level, metadata.status, metadata.path, metadata.msg as msg, metadata.error from ${table} - cross join unnest(metadata) as metadata + ${joins} ${where} limit 100 ` case 'function_edge_logs': return `select id, ${table}.timestamp, event_message, response.status_code, request.method, m.function_id, m.execution_time_ms, m.deployment_id, m.version from ${table} - cross join unnest(metadata) as m - cross join unnest(m.response) as response - cross join unnest(m.request) as request + ${joins} ${where} limit 100 ` @@ -174,6 +176,37 @@ export const genDefaultQuery = (table: LogsTableName, filters: Filters) => { } } +/** + * Hardcoded cross join unnests and aliases for each table. + * Should be used together with the getWhereStatements to allow for filtering on aliases + */ +const genCrossJoinUnnests = (table: LogsTableName) => { + switch (table) { + case 'edge_logs': + return `cross join unnest(metadata) as m + cross join unnest(m.request) as request + cross join unnest(m.response) as response` + + case 'postgres_logs': + return `cross join unnest(metadata) as m + cross join unnest(m.parsed) as parsed` + + case 'function_logs': + return `cross join unnest(metadata) as metadata` + + case 'auth_logs': + return `cross join unnest(metadata) as metadata` + + case 'function_edge_logs': + return `cross join unnest(metadata) as m + cross join unnest(m.response) as response + cross join unnest(m.request) as request` + + default: + return "" + } +} + /** * SQL query to retrieve only one log */ @@ -195,8 +228,9 @@ export const maybeShowUpgradePrompt = (from: string | null | undefined, planId?: } export const genCountQuery = (table: LogsTableName, filters: Filters): string => { - const where = _genWhereStatement(table, filters) - return `SELECT count(*) as count FROM ${table} ${where}` + const where = genWhereStatement(table, filters) + const joins = genCrossJoinUnnests(table) + return `SELECT count(*) as count FROM ${table} ${joins} ${where}` } /** calculates how much the chart start datetime should be offset given the current datetime filter params */ @@ -231,7 +265,7 @@ export const genChartQuery = ( filters: Filters ) => { const [startOffset, trunc] = calcChartStart(params) - const where = _genWhereStatement(table, filters) + const where = genWhereStatement(table, filters) let joins = 'cross join unnest(t.metadata) as metadata' if (table === LogsTableName.EDGE || table === LogsTableName.FN_EDGE) { From 959e38bd8985c78d4ee841f79d72faff2c17521c Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:36:21 +0800 Subject: [PATCH 91/94] fix: adjustment for project home bar chart click timestamp filtering --- studio/components/interfaces/Home/ProjectUsage.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/studio/components/interfaces/Home/ProjectUsage.tsx b/studio/components/interfaces/Home/ProjectUsage.tsx index 56cd338a0c9..ca593dd3ea6 100644 --- a/studio/components/interfaces/Home/ProjectUsage.tsx +++ b/studio/components/interfaces/Home/ProjectUsage.tsx @@ -67,8 +67,12 @@ const ProjectUsage = () => { // TODO (ziinc): link to edge logs with correct filter applied _type: 'rest' | 'realtime' | 'storage' | 'auth' ) => { - const selected = dayjs(value?.timestamp).toISOString() - router.push(`/project/${projectRef}/logs/edge-logs?ite=${encodeURIComponent(selected)}`) + const unit = selectedInterval.startUnit + const selectedStart = dayjs(value?.timestamp) + const selectedEnd = selectedStart.add(1, unit) + router.push( + `/project/${projectRef}/logs/edge-logs?ite=${encodeURIComponent(selectedEnd.toISOString())}` + ) } return ( From 176ac13141941e8e140eba9d4db95d76ef09cbe2 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:46:12 +0800 Subject: [PATCH 92/94] chore: remove functuation for consistency --- .../components/interfaces/Settings/Logs/Logs.constants.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/studio/components/interfaces/Settings/Logs/Logs.constants.ts b/studio/components/interfaces/Settings/Logs/Logs.constants.ts index ec368f689c1..b8f6022938c 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.constants.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.constants.ts @@ -335,10 +335,10 @@ export const LOGS_TABLES = { } export const LOGS_SOURCE_DESCRIPTION = { - [LogsTableName.EDGE]: 'Logs obtained from the network edge, containing all API requests.', - [LogsTableName.POSTGRES]: 'Database logs obtained directly from Postgres.', - [LogsTableName.FUNCTIONS]: 'Function logs generated from runtime execution.', - [LogsTableName.FN_EDGE]: 'Function call logs, containing the request and response.', + [LogsTableName.EDGE]: 'Logs obtained from the network edge, containing all API requests', + [LogsTableName.POSTGRES]: 'Database logs obtained directly from Postgres', + [LogsTableName.FUNCTIONS]: 'Function logs generated from runtime execution', + [LogsTableName.FN_EDGE]: 'Function call logs, containing the request and response', [LogsTableName.AUTH]: 'Authentication logs from GoTrue', [LogsTableName.REALTIME]: 'Realtime server for Postgres logical replication broadcasting', [LogsTableName.STORAGE]: 'Object storage logs', From 4db2c129f4e53f8b5558b6a4349d893705f24c3e Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:53:18 +0800 Subject: [PATCH 93/94] chore: use cross joins for chart query as well --- .../interfaces/Settings/Logs/Logs.utils.ts | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/studio/components/interfaces/Settings/Logs/Logs.utils.ts b/studio/components/interfaces/Settings/Logs/Logs.utils.ts index b2e79b16fb6..202b7f71cb4 100644 --- a/studio/components/interfaces/Settings/Logs/Logs.utils.ts +++ b/studio/components/interfaces/Settings/Logs/Logs.utils.ts @@ -203,7 +203,7 @@ const genCrossJoinUnnests = (table: LogsTableName) => { cross join unnest(m.request) as request` default: - return "" + return '' } } @@ -267,17 +267,11 @@ export const genChartQuery = ( const [startOffset, trunc] = calcChartStart(params) const where = genWhereStatement(table, filters) - let joins = 'cross join unnest(t.metadata) as metadata' - if (table === LogsTableName.EDGE || table === LogsTableName.FN_EDGE) { - joins += ' \n cross join unnest(metadata.request) as request' - joins += ' \n cross join unnest(metadata.response) as response' - } else if (table === LogsTableName.POSTGRES) { - joins += ' \n cross join unnest(metadata.parsed) as parsed' - } + let joins = genCrossJoinUnnests(table) return ` SELECT --- event-chart +-- log-event-chart timestamp_trunc(t.timestamp, ${trunc}) as timestamp, count(t.timestamp) as count FROM From e31b373fe2bb298d35fa7a355abe4e4c82454550 Mon Sep 17 00:00:00 2001 From: TzeYiing Date: Thu, 17 Aug 2023 03:57:55 +0800 Subject: [PATCH 94/94] fix: React Query memoized keys for log event chart to prevent refresh loop --- studio/hooks/analytics/useLogsPreview.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/studio/hooks/analytics/useLogsPreview.tsx b/studio/hooks/analytics/useLogsPreview.tsx index e7fa3b2d317..c5eab5c11a6 100644 --- a/studio/hooks/analytics/useLogsPreview.tsx +++ b/studio/hooks/analytics/useLogsPreview.tsx @@ -15,7 +15,7 @@ import { LogsTableName, PREVIEWER_DATEPICKER_HELPERS, } from 'components/interfaces/Settings/Logs' -import { Dispatch, SetStateAction, useEffect, useRef, useState } from 'react' +import { Dispatch, SetStateAction, useEffect, useMemo, useRef, useState } from 'react' import { API_URL } from 'lib/constants' import { get, isResponseOk } from 'lib/common/fetch' import dayjs from 'dayjs' @@ -125,14 +125,14 @@ function useLogsPreview( // chart data - const chartQuery = genChartQuery(table, params, filters) - const chartUrl = () => { + const chartQuery = useMemo(()=> genChartQuery(table, params, filters) , [params, filters]) + const chartUrl = useMemo(() => { return `${API_URL}/projects/${projectRef}/analytics/endpoints/logs.all?${genQueryParams({ iso_timestamp_end: params.iso_timestamp_end, project: params.project, sql: chartQuery, } as any)}` - } + }, [params, chartQuery]) const { data: eventChartResponse, refetch: refreshEventChart } = useQuery( [ @@ -141,7 +141,7 @@ function useLogsPreview( 'logs-chart', { iso_timestamp_end: params.iso_timestamp_end, project: params.project, sql: chartQuery }, ], - ({ signal }) => get(chartUrl(), { signal }), + ({ signal }) => get(chartUrl, { signal }), { refetchOnWindowFocus: false } )