convex-verify 1.0.5 → 1.2.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/README.md +271 -235
- package/dist/core/index.d.mts +14 -85
- package/dist/core/index.d.ts +14 -85
- package/dist/core/index.js +520 -83
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +516 -80
- package/dist/core/index.mjs.map +1 -1
- package/dist/index.d.mts +9 -6
- package/dist/index.d.ts +9 -6
- package/dist/index.js +386 -233
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +383 -226
- package/dist/index.mjs.map +1 -1
- package/dist/types-B8ZkLuJ2.d.mts +141 -0
- package/dist/types-B8ZkLuJ2.d.ts +141 -0
- package/dist/utils/index.d.mts +3 -2
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/index.mjs.map +1 -1
- package/dist/verifyConfig-CTrtqMr_.d.ts +94 -0
- package/dist/verifyConfig-Kn3Ikj00.d.mts +94 -0
- package/package.json +5 -22
- package/dist/configs/index.d.mts +0 -51
- package/dist/configs/index.d.ts +0 -51
- package/dist/configs/index.js +0 -38
- package/dist/configs/index.js.map +0 -1
- package/dist/configs/index.mjs +0 -11
- package/dist/configs/index.mjs.map +0 -1
- package/dist/plugin-BjJ7yjrc.d.ts +0 -141
- package/dist/plugin-mHMV2-SG.d.mts +0 -141
- package/dist/plugins/index.d.mts +0 -85
- package/dist/plugins/index.d.ts +0 -85
- package/dist/plugins/index.js +0 -312
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/index.mjs +0 -284
- package/dist/plugins/index.mjs.map +0 -1
- package/dist/transforms/index.d.mts +0 -38
- package/dist/transforms/index.d.ts +0 -38
- package/dist/transforms/index.js +0 -46
- package/dist/transforms/index.js.map +0 -1
- package/dist/transforms/index.mjs +0 -19
- package/dist/transforms/index.mjs.map +0 -1
- package/dist/types-_64SXyva.d.mts +0 -151
- package/dist/types-_64SXyva.d.ts +0 -151
package/dist/core/index.d.mts
CHANGED
|
@@ -1,88 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
export { B as BaseConfigReturn, k as DMGeneric, D as DefaultValuesConfigData, l as DefaultValuesInput, E as ExtractDefaultValuesConfig, c as ExtractProtectedColumnsConfig, I as IndexConfigBaseOptions, j as IndexConfigEntry, N as NormalizedIndexConfig, O as OnFailArgs, P as Prettify, m as ProtectedColumnsInput, g as UniqueColumnConfigData, h as UniqueColumnConfigEntry, i as UniqueColumnConfigOptions, U as UniqueRowConfigData, e as UniqueRowConfigEntry, f as UniqueRowConfigOptions, n as normalizeIndexConfigEntry } from '../types-_64SXyva.mjs';
|
|
1
|
+
import { c as createExtension$1, i as isExtension$1, r as runExtensions$1 } from '../verifyConfig-Kn3Ikj00.mjs';
|
|
2
|
+
export { d as Extension, E as ExtensionContext, a as ExtensionInput, b as ExtensionInputForSchema, e as ExtensionRecord, S as SchemaExtension, v as verifyConfig } from '../verifyConfig-Kn3Ikj00.mjs';
|
|
3
|
+
export { v as BaseConfigReturn, B as BuiltinConfigKey, C as ConfigRegistry, w as DMGeneric, D as DataModelForSchema, c as DefaultValuesConfigData, d as DefaultValuesConfigInput, k as DefaultValuesVerifyFn, m as ExtensionStyleVerifyFn, E as ExtractDefaultValuesConfig, g as ExtractProtectedColumnsConfig, H as HasKey, I as IndexConfigBaseOptions, u as IndexConfigEntry, M as MakeOptional, a as MutationCtxForSchema, N as NormalizedIndexConfig, O as OnFailArgs, b as OnFailCallback, f as OptionalKeysForTable, P as Prettify, e as ProtectedColumnsConfigData, l as ProtectedColumnsVerifyFn, h as ProtectedKeysForTable, q as UniqueColumnConfigData, r as UniqueColumnConfigEntry, s as UniqueColumnConfigOptions, U as UniqueRowConfigData, o as UniqueRowConfigEntry, p as UniqueRowConfigOptions, V as VerifyConfigInput, i as VerifyInsertInput, j as VerifyPatchInput, n as VerifyRegistry, t as normalizeIndexConfigEntry } from '../types-B8ZkLuJ2.mjs';
|
|
4
|
+
import 'convex/server';
|
|
5
|
+
import 'convex/values';
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Unique row validation config.
|
|
14
|
-
* Enforces uniqueness across multiple columns using composite indexes.
|
|
15
|
-
*
|
|
16
|
-
* Can also be added to the `plugins` array.
|
|
17
|
-
*/
|
|
18
|
-
uniqueRow?: ValidatePlugin<"uniqueRow", any>;
|
|
19
|
-
/**
|
|
20
|
-
* Unique column validation config.
|
|
21
|
-
* Enforces uniqueness on single columns using indexes.
|
|
22
|
-
*
|
|
23
|
-
* Can also be added to the `plugins` array.
|
|
24
|
-
*/
|
|
25
|
-
uniqueColumn?: ValidatePlugin<"uniqueColumn", any>;
|
|
26
|
-
/**
|
|
27
|
-
* Additional validate plugins to run after transforms.
|
|
28
|
-
* These plugins can validate data but don't affect input types.
|
|
29
|
-
*
|
|
30
|
-
* Built-in plugins (uniqueRow, uniqueColumn) can be added here
|
|
31
|
-
* as an alternative to using their dedicated config keys.
|
|
32
|
-
*/
|
|
33
|
-
plugins?: ValidatePlugin[];
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Configure type-safe insert and patch functions with validation and transforms.
|
|
37
|
-
*
|
|
38
|
-
* @param schema - Your Convex schema definition
|
|
39
|
-
* @param configs - Configuration object with transforms, configs, and plugins
|
|
40
|
-
* @returns Object with `insert`, `patch`, and `dangerouslyPatch` functions
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```ts
|
|
44
|
-
* import {
|
|
45
|
-
* verifyConfig,
|
|
46
|
-
* defaultValuesConfig,
|
|
47
|
-
* protectedColumnsConfig,
|
|
48
|
-
* uniqueRowConfig,
|
|
49
|
-
* uniqueColumnConfig,
|
|
50
|
-
* } from 'convex-verify';
|
|
51
|
-
* import schema from './schema';
|
|
52
|
-
*
|
|
53
|
-
* export const { insert, patch, dangerouslyPatch } = verifyConfig(schema, {
|
|
54
|
-
* // Type-affecting configs
|
|
55
|
-
* defaultValues: defaultValuesConfig(schema, () => ({
|
|
56
|
-
* posts: { status: 'draft', views: 0 },
|
|
57
|
-
* })),
|
|
58
|
-
* protectedColumns: protectedColumnsConfig(schema, {
|
|
59
|
-
* posts: ['authorId'],
|
|
60
|
-
* }),
|
|
61
|
-
*
|
|
62
|
-
* // Built-in validation configs
|
|
63
|
-
* uniqueRow: uniqueRowConfig(schema, {
|
|
64
|
-
* posts: ['by_author_slug'],
|
|
65
|
-
* }),
|
|
66
|
-
* uniqueColumn: uniqueColumnConfig(schema, {
|
|
67
|
-
* users: ['by_email', 'by_username'],
|
|
68
|
-
* }),
|
|
69
|
-
*
|
|
70
|
-
* // Custom/third-party plugins
|
|
71
|
-
* plugins: [myCustomPlugin()],
|
|
72
|
-
* });
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
declare const verifyConfig: <S extends GenericSchema, DataModel extends DataModelFromSchemaDefinition<SchemaDefinition<S, boolean>>, const VC extends VerifyConfigInputWithPlugins>(_schema: SchemaDefinition<S, boolean>, configs: VC) => {
|
|
76
|
-
insert: <const TN extends TableNamesInDataModel<DataModel>, const D extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, data: HasKey<VC, "defaultValues"> extends true ? MakeOptional<WithoutSystemFields<D>, OptionalKeysForTable<VC, TN> & keyof WithoutSystemFields<D>> : WithoutSystemFields<D>, options?: {
|
|
77
|
-
onFail?: OnFailCallback<D>;
|
|
78
|
-
}) => Promise<GenericId<TN>>;
|
|
79
|
-
patch: <const TN extends TableNamesInDataModel<DataModel>, const D_1 extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, id: GenericId<TN>, data: HasKey<VC, "protectedColumns"> extends true ? Omit<Partial<WithoutSystemFields<D_1>>, ProtectedKeysForTable<VC, TN> & keyof WithoutSystemFields<D_1>> : Partial<WithoutSystemFields<D_1>>, options?: {
|
|
80
|
-
onFail?: OnFailCallback<D_1>;
|
|
81
|
-
}) => Promise<void>;
|
|
82
|
-
dangerouslyPatch: <const TN extends TableNamesInDataModel<DataModel>, const D_2 extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, id: GenericId<TN>, data: Partial<WithoutSystemFields<D_2>>, options?: {
|
|
83
|
-
onFail?: OnFailCallback<D_2>;
|
|
84
|
-
}) => Promise<void>;
|
|
85
|
-
configs: VC;
|
|
7
|
+
type ProtectedColumnsLike = Record<string, readonly PropertyKey[] | undefined>;
|
|
8
|
+
declare const stripProtectedPatchColumns: <T extends Record<string, any>>(protectedColumns: ProtectedColumnsLike, tableName: string, data: T) => {
|
|
9
|
+
filteredData: T;
|
|
10
|
+
removedColumns: string[];
|
|
86
11
|
};
|
|
87
12
|
|
|
88
|
-
|
|
13
|
+
declare const createExtension: typeof createExtension$1;
|
|
14
|
+
declare const isExtension: typeof isExtension$1;
|
|
15
|
+
declare const runExtensions: typeof runExtensions$1;
|
|
16
|
+
|
|
17
|
+
export { createExtension, isExtension, runExtensions, stripProtectedPatchColumns };
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,88 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
export { B as BaseConfigReturn, k as DMGeneric, D as DefaultValuesConfigData, l as DefaultValuesInput, E as ExtractDefaultValuesConfig, c as ExtractProtectedColumnsConfig, I as IndexConfigBaseOptions, j as IndexConfigEntry, N as NormalizedIndexConfig, O as OnFailArgs, P as Prettify, m as ProtectedColumnsInput, g as UniqueColumnConfigData, h as UniqueColumnConfigEntry, i as UniqueColumnConfigOptions, U as UniqueRowConfigData, e as UniqueRowConfigEntry, f as UniqueRowConfigOptions, n as normalizeIndexConfigEntry } from '../types-_64SXyva.js';
|
|
1
|
+
import { c as createExtension$1, i as isExtension$1, r as runExtensions$1 } from '../verifyConfig-CTrtqMr_.js';
|
|
2
|
+
export { d as Extension, E as ExtensionContext, a as ExtensionInput, b as ExtensionInputForSchema, e as ExtensionRecord, S as SchemaExtension, v as verifyConfig } from '../verifyConfig-CTrtqMr_.js';
|
|
3
|
+
export { v as BaseConfigReturn, B as BuiltinConfigKey, C as ConfigRegistry, w as DMGeneric, D as DataModelForSchema, c as DefaultValuesConfigData, d as DefaultValuesConfigInput, k as DefaultValuesVerifyFn, m as ExtensionStyleVerifyFn, E as ExtractDefaultValuesConfig, g as ExtractProtectedColumnsConfig, H as HasKey, I as IndexConfigBaseOptions, u as IndexConfigEntry, M as MakeOptional, a as MutationCtxForSchema, N as NormalizedIndexConfig, O as OnFailArgs, b as OnFailCallback, f as OptionalKeysForTable, P as Prettify, e as ProtectedColumnsConfigData, l as ProtectedColumnsVerifyFn, h as ProtectedKeysForTable, q as UniqueColumnConfigData, r as UniqueColumnConfigEntry, s as UniqueColumnConfigOptions, U as UniqueRowConfigData, o as UniqueRowConfigEntry, p as UniqueRowConfigOptions, V as VerifyConfigInput, i as VerifyInsertInput, j as VerifyPatchInput, n as VerifyRegistry, t as normalizeIndexConfigEntry } from '../types-B8ZkLuJ2.js';
|
|
4
|
+
import 'convex/server';
|
|
5
|
+
import 'convex/values';
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Unique row validation config.
|
|
14
|
-
* Enforces uniqueness across multiple columns using composite indexes.
|
|
15
|
-
*
|
|
16
|
-
* Can also be added to the `plugins` array.
|
|
17
|
-
*/
|
|
18
|
-
uniqueRow?: ValidatePlugin<"uniqueRow", any>;
|
|
19
|
-
/**
|
|
20
|
-
* Unique column validation config.
|
|
21
|
-
* Enforces uniqueness on single columns using indexes.
|
|
22
|
-
*
|
|
23
|
-
* Can also be added to the `plugins` array.
|
|
24
|
-
*/
|
|
25
|
-
uniqueColumn?: ValidatePlugin<"uniqueColumn", any>;
|
|
26
|
-
/**
|
|
27
|
-
* Additional validate plugins to run after transforms.
|
|
28
|
-
* These plugins can validate data but don't affect input types.
|
|
29
|
-
*
|
|
30
|
-
* Built-in plugins (uniqueRow, uniqueColumn) can be added here
|
|
31
|
-
* as an alternative to using their dedicated config keys.
|
|
32
|
-
*/
|
|
33
|
-
plugins?: ValidatePlugin[];
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Configure type-safe insert and patch functions with validation and transforms.
|
|
37
|
-
*
|
|
38
|
-
* @param schema - Your Convex schema definition
|
|
39
|
-
* @param configs - Configuration object with transforms, configs, and plugins
|
|
40
|
-
* @returns Object with `insert`, `patch`, and `dangerouslyPatch` functions
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```ts
|
|
44
|
-
* import {
|
|
45
|
-
* verifyConfig,
|
|
46
|
-
* defaultValuesConfig,
|
|
47
|
-
* protectedColumnsConfig,
|
|
48
|
-
* uniqueRowConfig,
|
|
49
|
-
* uniqueColumnConfig,
|
|
50
|
-
* } from 'convex-verify';
|
|
51
|
-
* import schema from './schema';
|
|
52
|
-
*
|
|
53
|
-
* export const { insert, patch, dangerouslyPatch } = verifyConfig(schema, {
|
|
54
|
-
* // Type-affecting configs
|
|
55
|
-
* defaultValues: defaultValuesConfig(schema, () => ({
|
|
56
|
-
* posts: { status: 'draft', views: 0 },
|
|
57
|
-
* })),
|
|
58
|
-
* protectedColumns: protectedColumnsConfig(schema, {
|
|
59
|
-
* posts: ['authorId'],
|
|
60
|
-
* }),
|
|
61
|
-
*
|
|
62
|
-
* // Built-in validation configs
|
|
63
|
-
* uniqueRow: uniqueRowConfig(schema, {
|
|
64
|
-
* posts: ['by_author_slug'],
|
|
65
|
-
* }),
|
|
66
|
-
* uniqueColumn: uniqueColumnConfig(schema, {
|
|
67
|
-
* users: ['by_email', 'by_username'],
|
|
68
|
-
* }),
|
|
69
|
-
*
|
|
70
|
-
* // Custom/third-party plugins
|
|
71
|
-
* plugins: [myCustomPlugin()],
|
|
72
|
-
* });
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
declare const verifyConfig: <S extends GenericSchema, DataModel extends DataModelFromSchemaDefinition<SchemaDefinition<S, boolean>>, const VC extends VerifyConfigInputWithPlugins>(_schema: SchemaDefinition<S, boolean>, configs: VC) => {
|
|
76
|
-
insert: <const TN extends TableNamesInDataModel<DataModel>, const D extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, data: HasKey<VC, "defaultValues"> extends true ? MakeOptional<WithoutSystemFields<D>, OptionalKeysForTable<VC, TN> & keyof WithoutSystemFields<D>> : WithoutSystemFields<D>, options?: {
|
|
77
|
-
onFail?: OnFailCallback<D>;
|
|
78
|
-
}) => Promise<GenericId<TN>>;
|
|
79
|
-
patch: <const TN extends TableNamesInDataModel<DataModel>, const D_1 extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, id: GenericId<TN>, data: HasKey<VC, "protectedColumns"> extends true ? Omit<Partial<WithoutSystemFields<D_1>>, ProtectedKeysForTable<VC, TN> & keyof WithoutSystemFields<D_1>> : Partial<WithoutSystemFields<D_1>>, options?: {
|
|
80
|
-
onFail?: OnFailCallback<D_1>;
|
|
81
|
-
}) => Promise<void>;
|
|
82
|
-
dangerouslyPatch: <const TN extends TableNamesInDataModel<DataModel>, const D_2 extends DocumentByName<DataModel, TN>>(ctx: Omit<GenericMutationCtx<DataModel>, never>, tableName: TN, id: GenericId<TN>, data: Partial<WithoutSystemFields<D_2>>, options?: {
|
|
83
|
-
onFail?: OnFailCallback<D_2>;
|
|
84
|
-
}) => Promise<void>;
|
|
85
|
-
configs: VC;
|
|
7
|
+
type ProtectedColumnsLike = Record<string, readonly PropertyKey[] | undefined>;
|
|
8
|
+
declare const stripProtectedPatchColumns: <T extends Record<string, any>>(protectedColumns: ProtectedColumnsLike, tableName: string, data: T) => {
|
|
9
|
+
filteredData: T;
|
|
10
|
+
removedColumns: string[];
|
|
86
11
|
};
|
|
87
12
|
|
|
88
|
-
|
|
13
|
+
declare const createExtension: typeof createExtension$1;
|
|
14
|
+
declare const isExtension: typeof isExtension$1;
|
|
15
|
+
declare const runExtensions: typeof runExtensions$1;
|
|
16
|
+
|
|
17
|
+
export { createExtension, isExtension, runExtensions, stripProtectedPatchColumns };
|