typed-pocketbase
Advanced tools
Comparing version
@@ -146,3 +146,3 @@ import PocketBase, { RecordSubscription, SendOptions, UnsubscribeFunc, ListResult, RecordService, RecordAuthResponse, OAuth2AuthConfig, RecordOptions } from 'pocketbase'; | ||
private prepareOptions; | ||
createFilter(filter: Filter<Record<string, any>>): string | null; | ||
createFilter(filter: string): string; | ||
createSort(...sorters: any[]): any; | ||
@@ -149,0 +149,0 @@ createSelect(select: any): any; |
// src/filter.ts | ||
function serializeFilterTuple([key, op, val]) { | ||
function serializeFilter([key, op, val]) { | ||
const type = typeof val; | ||
@@ -15,11 +15,8 @@ if (type === "boolean" || type === "number") { | ||
} | ||
return `${String(key)} ${op} ${val}`; | ||
return `${String(key)}${op}${val}`; | ||
} | ||
function serializeFilter(filter) { | ||
if (!filter) | ||
return null; | ||
return Array.isArray(filter) ? serializeFilterTuple(filter) : filter; | ||
} | ||
function serializeFilters(filters) { | ||
return filters.filter((val) => !!val).map(serializeFilter); | ||
return filters.filter(Boolean).map( | ||
(filter) => Array.isArray(filter) ? serializeFilter(filter) : filter | ||
); | ||
} | ||
@@ -39,24 +36,24 @@ function and(...filters) { | ||
function eq(column, value) { | ||
return serializeFilterTuple([column, "=", value]); | ||
return serializeFilter([column, "=", value]); | ||
} | ||
function neq(column, value) { | ||
return serializeFilterTuple([column, "!=", value]); | ||
return serializeFilter([column, "!=", value]); | ||
} | ||
function gt(column, value) { | ||
return serializeFilterTuple([column, ">", value]); | ||
return serializeFilter([column, ">", value]); | ||
} | ||
function gte(column, value) { | ||
return serializeFilterTuple([column, ">=", value]); | ||
return serializeFilter([column, ">=", value]); | ||
} | ||
function lt(column, value) { | ||
return serializeFilterTuple([column, "<", value]); | ||
return serializeFilter([column, "<", value]); | ||
} | ||
function lte(column, value) { | ||
return serializeFilterTuple([column, "<=", value]); | ||
return serializeFilter([column, "<=", value]); | ||
} | ||
function like(column, value) { | ||
return serializeFilterTuple([column, "~", value]); | ||
return serializeFilter([column, "~", value]); | ||
} | ||
function nlike(column, value) { | ||
return serializeFilterTuple([column, "!~", value]); | ||
return serializeFilter([column, "!~", value]); | ||
} | ||
@@ -147,8 +144,4 @@ | ||
options.expand = expand; | ||
if (filter) | ||
options.filter = serializeFilter(filter) ?? ""; | ||
if (Array.isArray(sort) && sort.length) { | ||
options.sort = sort.join(","); | ||
} else if (sort) { | ||
options.sort = sort; | ||
if (sort) { | ||
options.sort = Array.isArray(options?.sort) ? options.sort.join(",") : options?.sort; | ||
} | ||
@@ -158,3 +151,3 @@ return options; | ||
createFilter(filter) { | ||
return serializeFilter(filter); | ||
return filter ? filter : ""; | ||
} | ||
@@ -161,0 +154,0 @@ createSort(...sorters) { |
@@ -127,7 +127,7 @@ #!/usr/bin/env node | ||
*/ | ||
password?: string; | ||
password: string; | ||
/** | ||
* New auth record password confirmation. | ||
*/ | ||
passwordConfirm?: string; | ||
passwordConfirm: string; | ||
/** | ||
@@ -197,3 +197,3 @@ * Indicates whether the auth record is verified or not. | ||
return relations.map( | ||
(r) => `${/^\w+$/.test(r.name) ? r.name : `'${r.name}'`}: ${r.target.typeName}Collection${r.unique ? "" : "[]"};` | ||
(r) => `${/^\w+$/.test(r.name) ? r.name : `'${r.name}'`}: ${r.target.typeName}Collection;` | ||
).join("\n "); | ||
@@ -382,3 +382,3 @@ }; | ||
import { dirname, resolve } from "node:path"; | ||
sade("typed-pocketbase", true).version("0.1.0-pre.6").describe("Generate types for the PocketBase JavaScript SDK").option( | ||
sade("typed-pocketbase", true).version("0.1.0-pre.2").describe("Generate types for the PocketBase JavaScript SDK").option( | ||
"-u, --url", | ||
@@ -385,0 +385,0 @@ "URL to your hosted pocketbase instance.", |
{ | ||
"name": "typed-pocketbase", | ||
"version": "0.1.0-pre.6", | ||
"version": "0.1.0-pre.7", | ||
"description": "Add types to the PocketBase JavaScript SDK", | ||
@@ -5,0 +5,0 @@ "author": "David Plugge", |
@@ -406,4 +406,4 @@ import PocketBase from 'pocketbase'; | ||
addResponse(single ? 'string' : `Array<string>`); | ||
addCreate(single ? `File` : `MaybeArray<File>`); | ||
addUpdate(single ? `File` : `MaybeArray<File>`); | ||
addCreate(single ? `File | null` : `MaybeArray<File>`); | ||
addUpdate(single ? `File | null` : `MaybeArray<File>`); | ||
if (!single) { | ||
@@ -410,0 +410,0 @@ addUpdate('string', `'${field.name}-'`); |
Sorry, the diff of this file is not supported yet
86944
-0.78%2049
-0.34%