@freehour/supabase-core 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -293,12 +293,21 @@ var E = class t extends D {
|
|
|
293
293
|
select(e = "*") {
|
|
294
294
|
return new t(super.select(d(e).join(",")));
|
|
295
295
|
}
|
|
296
|
-
where(
|
|
297
|
-
if (
|
|
298
|
-
|
|
299
|
-
|
|
296
|
+
where(...t) {
|
|
297
|
+
if (t.length === 0) return this;
|
|
298
|
+
if (t.length === 1) {
|
|
299
|
+
let n = e.value(t[0]);
|
|
300
|
+
if (n.type === "logical") {
|
|
301
|
+
let e = n.args.map((e) => w(e)).join(",");
|
|
302
|
+
return this.url.searchParams.append(n.op, `(${e})`), this;
|
|
303
|
+
}
|
|
304
|
+
return this.filter(n.key, n.op, n.value);
|
|
300
305
|
}
|
|
301
|
-
return this.
|
|
306
|
+
return this.where({
|
|
307
|
+
type: "logical",
|
|
308
|
+
op: "and",
|
|
309
|
+
args: t
|
|
310
|
+
});
|
|
302
311
|
}
|
|
303
312
|
paginate(t, n) {
|
|
304
313
|
e(t >= 0, "Page index must be ≥ 0"), e(n >= 0, "Page limit must be ≥ 0");
|
|
@@ -7,11 +7,11 @@ export declare class PostgrestFilterBuilder<ClientOptions extends ClientServerOp
|
|
|
7
7
|
constructor(builder: Supabase.PostgrestFilterBuilder<ClientOptions, Schema, Row, Result, RelationName, Relationships, Method>);
|
|
8
8
|
select<Query extends (keyof Row)[] | '*' | (string & {}) = '*', ResultOne = Query extends '*' ? Row : Query extends string ? Supabase.UnstableGetResult<Schema, Row, RelationName, Relationships, Query, ClientServerOptions> : Pick<Row, Query[number]>>(columns?: Query): PostgrestFilterBuilder<ClientOptions, Schema, Row, Method extends 'RPC' ? Result extends unknown[] ? ResultOne[] : ResultOne : ResultOne[], RelationName, Relationships, Method>;
|
|
9
9
|
/**
|
|
10
|
-
* Applies a
|
|
10
|
+
* Applies a list of filters (joined by logical AND) to the query.
|
|
11
11
|
* A filter is defined as an AST of filter nodes including conditions and logical operators.
|
|
12
|
-
* @param
|
|
12
|
+
* @param filters The filters to apply.
|
|
13
13
|
*/
|
|
14
|
-
where(
|
|
14
|
+
where(...filters: FilterNode<KeyOfString<Row>>[]): this;
|
|
15
15
|
/**
|
|
16
16
|
* Limits the range of results to a specific page given a page index and limit.
|
|
17
17
|
* @param page The page index (0-based).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-builder.d.ts","sourceRoot":"","sources":["../../lib/postgrest/filter-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGlE,qBAAa,sBAAsB,CAC/B,aAAa,SAAS,mBAAmB,EACzC,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EACN,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,MAAM,GAAG,OAAO,CAClB,SAAQ,QAAQ,CAAC,sBAAsB,CACjC,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,CACT;gBAIG,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CACpC,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,CACT;IAiBI,MAAM,CACX,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,GAAG,EACvD,SAAS,GAAG,KAAK,SAAS,GAAG,GACvB,GAAG,GACH,KAAK,SAAS,MAAM,GAChB,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EACN,GAAG,EACH,YAAY,EACZ,aAAa,EACb,KAAK,EACL,mBAAmB,CACtB,GACC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAElC,OAAO,GAAE,KAAoB,GAC9B,sBAAsB,CACrB,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,SAAS,KAAK,GACd,MAAM,SAAS,OAAO,EAAE,GACpB,SAAS,EAAE,GACX,SAAS,GACb,SAAS,EAAE,EACjB,YAAY,EACZ,aAAa,EACb,MAAM,CACT;IAUD;;;;OAIG;IACH,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"filter-builder.d.ts","sourceRoot":"","sources":["../../lib/postgrest/filter-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGlE,qBAAa,sBAAsB,CAC/B,aAAa,SAAS,mBAAmB,EACzC,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,EACN,YAAY,GAAG,OAAO,EACtB,aAAa,GAAG,OAAO,EACvB,MAAM,GAAG,OAAO,CAClB,SAAQ,QAAQ,CAAC,sBAAsB,CACjC,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,CACT;gBAIG,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CACpC,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,CACT;IAiBI,MAAM,CACX,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,GAAG,EACvD,SAAS,GAAG,KAAK,SAAS,GAAG,GACvB,GAAG,GACH,KAAK,SAAS,MAAM,GAChB,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EACN,GAAG,EACH,YAAY,EACZ,aAAa,EACb,KAAK,EACL,mBAAmB,CACtB,GACC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAElC,OAAO,GAAE,KAAoB,GAC9B,sBAAsB,CACrB,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,SAAS,KAAK,GACd,MAAM,SAAS,OAAO,EAAE,GACpB,SAAS,EAAE,GACX,SAAS,GACb,SAAS,EAAE,EACjB,YAAY,EACZ,aAAa,EACb,MAAM,CACT;IAUD;;;;OAIG;IACH,KAAK,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI;IAoBvD;;;;OAIG;IACH,QAAQ,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACd,0BAA0B,CACzB,aAAa,EACb,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,CACT;CAiBJ"}
|
|
@@ -60,11 +60,15 @@ export type FilterNode<K extends string = string> = FilterConditionNode<K> | Fil
|
|
|
60
60
|
*/
|
|
61
61
|
export type FilterKey<Item extends object> = KeyOfString<Item>;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* A filter AST node schema that can be used to parse and validate filter expressions.
|
|
64
|
+
* The filter expression must follow the dot notation of [PostgREST](https://docs.postgrest.org/en/v13/references/api/tables_views.html#horizontal-filtering).
|
|
65
|
+
* @see https://docs.postgrest.org/en/v13/references/api/tables_views.html#horizontal-filtering
|
|
66
|
+
* @template Item The type of the item being filtered.
|
|
67
|
+
* @param item The Zod schema of the item being filtered. This is used to infer the valid filter keys.
|
|
68
|
+
* @param mapping An optional mapping from filter keys to decoded keys. This allows you to use different keys in the filter expressions and the resulting AST nodes.
|
|
69
|
+
* @returns A Zod schema that parses a filter expression string into a filter AST node.
|
|
65
70
|
*/
|
|
66
71
|
export declare const FilterNode: <Item extends ZodObject>(item: Item) => <DecodeKey extends string = string>(mapping?: Partial<Record<FilterKey<z.infer<Item>>, DecodeKey>>) => z.ZodPipe<z.ZodString, z.ZodTransform<FilterNode<DecodeKey>, string>>;
|
|
67
|
-
export type Filter<K extends string = string> = FilterNode<K>[];
|
|
68
72
|
/**
|
|
69
73
|
* Negates a filter or logical operator.
|
|
70
74
|
*
|
|
@@ -91,13 +95,12 @@ export declare function negateFilterNode<K extends string = string, F extends Fi
|
|
|
91
95
|
* @param node The filter AST node to encode to a string.
|
|
92
96
|
* @param transformKey An optional function to transform keys from InputKey to OutputKey.
|
|
93
97
|
* @returns The encoded filter expression as a string.
|
|
94
|
-
* @see https://docs.postgrest.org/en/
|
|
98
|
+
* @see https://docs.postgrest.org/en/v13/references/api/tables_views.html#horizontal-filtering
|
|
95
99
|
*/
|
|
96
100
|
export declare function encodeFilterNode<K extends string = string>(node: FilterNode<K>, transformKey?: (key: K) => string): string;
|
|
97
101
|
/**
|
|
98
102
|
* Parses a filter expression into a filter AST node.
|
|
99
103
|
* The expression must follow the dot notation of [PostgREST](https://docs.postgrest.org/en/v13/references/api/tables_views.html#horizontal-filtering).
|
|
100
|
-
* See also {@link parseFilterExpressionChain}.
|
|
101
104
|
*
|
|
102
105
|
* @template InputKey - The type of keys in the filter expression.
|
|
103
106
|
* @template OutputKey - The type of keys in the filter AST node.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../lib/postgrest/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,QAAQ,oMAAqM,CAAC;AAC3N,MAAM,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,SAAS,wBAAyB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACxD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IAEd,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAG/D
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../lib/postgrest/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,QAAQ,oMAAqM,CAAC;AAC3N,MAAM,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,SAAS,wBAAyB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACxD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IAEd,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAG/D;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,SAAS,EAAE,MAAM,IAAI,MAAM,SAAS,SAAS,MAAM,GAAG,MAAM,EAChG,UAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAM,KACnE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAwBtE,CAAC;AAGF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EAAE,SAAS,QAAQ,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAK/G;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,YAAY,GAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAmB,GAC9C,MAAM,CAQR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,EAAE,SAAS,SAAS,MAAM,GAAG,QAAQ,EACvG,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,QAAQ,EAAO,EAC1B,YAAY,GAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,SAA8C,GAChF,UAAU,CAAC,SAAS,CAAC,CAoFvB"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"private": false,
|
|
4
4
|
"displayName": "Supabase-Core",
|
|
5
5
|
"description": "Lightweight services for supabase to make it easier to work with databases, tables and storage buckets",
|
|
6
|
-
"version": "2.3.
|
|
6
|
+
"version": "2.3.2",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|