@junobuild/functions 0.0.2 → 0.0.4
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 +420 -191
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +4 -4
- package/dist/types/configs/assert.config.d.ts +432 -23
- package/dist/types/configs/collections.config.d.ts +16 -0
- package/dist/types/configs/hook.config.d.ts +498 -21
- package/dist/types/configs/satellite.config.d.ts +4 -1
- package/dist/types/global.d.ts +2 -0
- package/dist/types/hooks/context.d.ts +475 -16
- package/dist/types/hooks/core.d.ts +26 -5
- package/dist/types/hooks/datastore.d.ts +324 -45
- package/dist/types/index.d.ts +6 -5
- package/dist/types/polyfills/console.polyfill.d.ts +1 -0
- package/package.json +3 -2
- package/dist/types/configs/collection.config.d.ts +0 -9
package/dist/browser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import*as o from"zod";import*as c from"zod";import*as r from"zod";var T=r.bigint(),i=r.bigint(),p=r.instanceof(Uint8Array),k=r.custom(e=>e instanceof Uint8Array,{message:"Expected Uint8Array"}),a=k;import*as n from"zod";var z=n.string().max(1024),d=n.object({owner:a,data:p,description:z.optional(),created_at:T,updated_at:T,version:i.optional()}).strict(),h=n.object({before:d.optional(),after:d}).strict(),u=n.object({data:p,description:z.optional(),version:i.optional()}).strict(),g=n.object({current:d.optional(),proposed:u}).strict(),P=n.object({data:p,description:z.optional(),version:i.optional()}).strict();var l=e=>c.object({caller:a,data:e}).strict(),C=e=>c.object({collection:c.string(),key:c.string(),data:e}).strict(),D=l(C(h)),A=l(C(g));import*as s from"zod";var f=s.object({collections:s.array(s.string()).min(1)}).strict();import*as m from"zod";var x=m.record(m.unknown());var j=e=>f.extend({assert:o.function().args(e).returns(o.promise(o.void()))}).strict(),H=j(A),M=H,_=e=>o.function().args(x).returns(e),Q=e=>o.union([e,_(e)]);function W(e){return e}import*as t from"zod";var b=e=>f.extend({run:t.function().args(e).returns(t.promise(t.void()))}).strict(),F=b(D),oe=F,w=e=>t.function().args(x).returns(e),te=e=>t.union([e,w(e)]);function ne(e){return e}import{jsonReplacer as R,jsonReviver as v}from"@dfinity/utils";var se=e=>JSON.parse(__juno_satellite_datastore_raw_data_to_text(e),v),ie=e=>__juno_satellite_datastore_raw_data_from_text(JSON.stringify(e,R));import{jsonReplacer as U}from"@dfinity/utils";var S=e=>{let O=e.map(y=>typeof y=="object"?JSON.stringify(y,U):y).join(" ");globalThis.__ic_cdk_print(O)};globalThis.console={info(...e){S(e)},log(...e){S(e)},warn(...e){S(e)},error(...e){S(e)}};export{M as AssertConfigSchema,Q as AssertFnOrObjectSchema,_ as AssertFnSchema,H as AssertSetDocConfigSchema,A as AssertSetDocContextSchema,f as CollectionsConfigSchema,g as DocAssertSetSchema,C as DocContextSchema,z as DocDescriptionSchema,d as DocSchema,h as DocUpsertSchema,oe as HookConfigSchema,te as HookFnOrObjectSchema,w as HookFnSchema,F as OnSetDocConfigSchema,D as OnSetDocContextSchema,u as ProposedDocSchema,p as RawDataSchema,k as RawPrincipalSchema,a as RawUserIdSchema,x as SatelliteConfigEnvSchema,P as SetDocSchema,T as TimestampSchema,i as VersionSchema,se as decodeDocData,W as defineAssert,ne as defineHook,ie as encodeDocData};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/configs/assert.config.ts", "../../src/configs/hook.config.ts", "../../src/sdk/datastore.sdk.ts"],
|
|
4
|
-
"sourcesContent": ["import type {AssertSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for assertion hooks that manage collections.\n */\nexport interface AssertAssertConfig extends CollectionsConfig {\n assertSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `assertSetDoc` function.\n * This function is called to validate a document before it is created or updated.\n */\nexport interface AssertSetDocConfig extends Omit<AssertAssertConfig, 'assertSetDoc'> {\n /**\n * A function that runs synchronously before a document is set in the Datastore.\n * This can be used to enforce your validation rules.\n *\n * @param {AssertSetDocContext} context - Provides details about the document being validated.\n * @throws {Error} If your validation fails, throw an exception to prevent the document from being saved.\n *\n */\n assertSetDoc: (context: AssertSetDocContext) => void;\n}\n\nexport type AssertConfig = AssertSetDocConfig;\n\nexport type AssertFn = (config: SatelliteConfigEnv) => AssertConfig;\n\nexport type AssertFnOrObject = AssertConfig | AssertFn;\n\nexport function defineAssert(config: AssertConfig): AssertConfig;\nexport function defineAssert(config: AssertFn): AssertFn;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject;\nexport function defineAssert(config: AssertFnOrObject): AssertFnOrObject {\n return config;\n}\n", "import type {OnSetDocContext} from '../hooks/context';\nimport type {CollectionsConfig} from './collection.config';\nimport type {SatelliteConfigEnv} from './satellite.config';\n\n/**\n * The generic configuration for hooks that manage collections.\n */\nexport interface OnHookConfig extends CollectionsConfig {\n onSetDoc: never;\n}\n\n/**\n * A configuration object that includes the `onSetDoc` function.\n * This function is called when a document is created or updated.\n */\nexport interface OnSetDocConfig extends Omit<OnHookConfig, 'onSetDoc'> {\n /**\n * A function that runs when a document is set in the Datastore.\n *\n * @param {OnSetDocContext} context - Provides details about the document being saved.\n * @returns {Promise<void>} Resolves when your operation is complete.\n */\n onSetDoc: (context: OnSetDocContext) => Promise<void>;\n}\n\nexport type HookConfig = OnSetDocConfig; // TODO: to be extended\n\nexport type HookFn = (config: SatelliteConfigEnv) => HookConfig;\n\nexport type HookFnOrObject = HookConfig | HookFn;\n\nexport function defineHook(config: HookConfig): HookConfig;\nexport function defineHook(config: HookFn): HookFn;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject;\nexport function defineHook(config: HookFnOrObject): HookFnOrObject {\n return config;\n}\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../hooks/core';\n\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["defineAssert", "config", "defineHook", "config", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData"]
|
|
3
|
+
"sources": ["../../src/configs/assert.config.ts", "../../src/hooks/context.ts", "../../src/hooks/core.ts", "../../src/hooks/datastore.ts", "../../src/configs/collections.config.ts", "../../src/configs/satellite.config.ts", "../../src/configs/hook.config.ts", "../../src/sdk/datastore.sdk.ts", "../../src/polyfills/console.polyfill.ts"],
|
|
4
|
+
"sourcesContent": ["import * as z from 'zod';\nimport {AssertSetDocContextSchema} from '../hooks/context';\nimport {CollectionsConfigSchema} from './collections.config';\nimport {SatelliteConfigEnvSchema} from './satellite.config';\n\n/**\n * A generic configuration schema for defining assertions related to collections.\n *\n * @template T - The type of context passed to the assertions when triggered.\n */\nconst OnAssertConfigSchema = <T extends z.ZodTypeAny>(contextSchema: T) =>\n CollectionsConfigSchema.extend({\n /**\n * A function that runs when the assertion is triggered for the specified collections.\n *\n * @param {T} context - Contains information about the affected document(s).\n * @returns {Promise<void>} Resolves when the operation completes.\n */\n assert: z.function().args(contextSchema).returns(z.promise(z.void()))\n }).strict();\n\n/**\n * @see AssertSetDocConfig\n */\nexport const AssertSetDocConfigSchema = OnAssertConfigSchema(AssertSetDocContextSchema);\n\n/**\n * Configuration schema for an assertion that runs when a document is created or updated.\n */\nexport type AssertSetDocConfig = z.infer<typeof AssertSetDocConfigSchema>;\n\n// TODO: to be extended\n/**\n * @see AssertConfig\n */\nexport const AssertConfigSchema = AssertSetDocConfigSchema;\n\n/**\n * All possible config for assertions.\n */\nexport type AssertConfig = z.infer<typeof AssertConfigSchema>;\n\nexport const AssertFnSchema = <T extends z.ZodTypeAny>(hookConfigSchema: T) =>\n z.function().args(SatelliteConfigEnvSchema).returns(hookConfigSchema);\nexport type AssertFn<T extends AssertConfig> = (\n config: z.infer<typeof SatelliteConfigEnvSchema>\n) => T;\n\nexport const AssertFnOrObjectSchema = <T extends z.ZodTypeAny>(hookConfigSchema: T) =>\n z.union([hookConfigSchema, AssertFnSchema(hookConfigSchema)]);\nexport type AssertFnOrObject<T extends AssertConfig> = T | AssertFn<T>;\n\nexport function defineAssert<T extends AssertConfig>(config: T): T;\nexport function defineAssert<T extends AssertConfig>(config: AssertFn<T>): AssertFn<T>;\nexport function defineAssert<T extends AssertConfig>(\n config: AssertFnOrObject<T>\n): AssertFnOrObject<T>;\nexport function defineAssert<T extends AssertConfig>(\n config: AssertFnOrObject<T>\n): AssertFnOrObject<T> {\n return config;\n}\n", "import * as z from 'zod';\nimport {RawUserIdSchema} from './core';\nimport {DocAssertSetSchema, DocUpsertSchema} from './datastore';\n\n/**\n * @see HookContext\n */\nconst HookContextSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n z\n .object({\n /**\n * The user who originally triggered the function that in turn triggered the hook.\n */\n caller: RawUserIdSchema,\n\n /**\n * The data associated with the hook execution.\n */\n data: dataSchema\n })\n .strict();\n\n/**\n * Represents the context provided to hooks, containing information about the caller and related data.\n *\n * @template T - The type of data associated with the hook.\n */\nexport type HookContext<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof HookContextSchema<T>>>;\n\n/**\n * @see DocContext\n */\nexport const DocContextSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n z\n .object({\n /**\n * The name of the collection where the document is stored.\n */\n collection: z.string(),\n\n /**\n * The unique key identifying the document within the collection.\n */\n key: z.string(),\n\n /**\n * The data associated with the document operation.\n */\n data: dataSchema\n })\n .strict();\n\n/**\n * Represents the context of a document operation within a collection.\n *\n * @template T - The type of data associated with the document.\n */\nexport type DocContext<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof DocContextSchema<T>>>;\n\n/**\n * @see OnSetDocContext\n */\nexport const OnSetDocContextSchema = HookContextSchema(DocContextSchema(DocUpsertSchema));\n\n/**\n * The context provided to the `onSetDoc` hook.\n *\n * This context contains information about the document being created or updated,\n * along with details about the user who triggered the operation.\n */\nexport type OnSetDocContext = z.infer<typeof OnSetDocContextSchema>;\n\n/**\n * @see AssertSetDocContext\n */\nexport const AssertSetDocContextSchema = HookContextSchema(DocContextSchema(DocAssertSetSchema));\n\n/**\n * The context provided to the `assertSetDoc` hook.\n *\n * This context contains information about the document being validated before\n * it is created or updated. If validation fails, the developer should throw an error.\n */\nexport type AssertSetDocContext = z.infer<typeof AssertSetDocContextSchema>;\n", "import * as z from 'zod';\n\n/**\n * @see Timestamp\n */\nexport const TimestampSchema = z.bigint();\n\n/**\n * Represents a timestamp in nanoseconds since the Unix epoch.\n *\n * Used for tracking when events occur, such as document creation and updates.\n */\nexport type Timestamp = z.infer<typeof TimestampSchema>;\n\n/**\n * @see Version\n */\nexport const VersionSchema = z.bigint();\n\n/**\n * Represents a version number for tracking changes.\n *\n * This is typically incremented with each update to ensure consistency.\n */\nexport type Version = z.infer<typeof VersionSchema>;\n\n/**\n * @see RawData\n */\nexport const RawDataSchema = z.instanceof(Uint8Array);\n\n/**\n * Represents raw binary data.\n *\n * This is used to store unstructured data in a document.\n */\nexport type RawData = z.infer<typeof RawDataSchema>;\n\n/**\n * @see RawPrincipal\n */\nexport const RawPrincipalSchema = z.custom<Uint8Array>((val) => val instanceof Uint8Array, {\n message: 'Expected Uint8Array'\n});\n\n/**\n * Represents a raw principal identifier.\n *\n * Principals are unique identities used in authentication and authorization.\n */\nexport type RawPrincipal = z.infer<typeof RawPrincipalSchema>;\n\n/**\n * @see RawUserId\n */\nexport const RawUserIdSchema = RawPrincipalSchema;\n\n/**\n * Represents a raw user identifier.\n *\n * This is a principal associated with a user.\n */\nexport type RawUserId = z.infer<typeof RawUserIdSchema>;\n", "import * as z from 'zod';\nimport {RawDataSchema, RawUserIdSchema, TimestampSchema, VersionSchema} from './core';\n\n/**\n * @see DocDescription\n */\nexport const DocDescriptionSchema = z.string().max(1024);\n\n/**\n * Represents a document description with a maximum length of 1024 characters.\n */\nexport type DocDescription = z.infer<typeof DocDescriptionSchema>;\n\n/**\n * @see Doc\n */\nexport const DocSchema = z\n .object({\n /**\n * The user who owns this document.\n */\n owner: RawUserIdSchema,\n\n /**\n * The raw data of the document.\n */\n data: RawDataSchema,\n\n /**\n * An optional description of the document.\n */\n description: DocDescriptionSchema.optional(),\n\n /**\n * The timestamp when the document was first created.\n */\n created_at: TimestampSchema,\n\n /**\n * The timestamp when the document was last updated.\n */\n updated_at: TimestampSchema,\n\n /**\n * The version number of the document, used for consistency checks.\n * If not provided, it's assumed to be the first version.\n */\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents a document stored in a collection.\n */\nexport type Doc = z.infer<typeof DocSchema>;\n\n/**\n * @see DocUpsert\n */\nexport const DocUpsertSchema = z\n .object({\n /**\n * The previous version of the document before the update.\n * Undefined if this is a new document.\n */\n before: DocSchema.optional(),\n\n /**\n * The new version of the document after the update.\n */\n after: DocSchema\n })\n .strict();\n\n/**\n * Represents a document update operation.\n *\n * This is used in hooks where a document is either being created or updated.\n */\nexport type DocUpsert = z.infer<typeof DocUpsertSchema>;\n\n/**\n * @see ProposedDoc\n */\nexport const ProposedDocSchema = z\n .object({\n /**\n * The raw data of the document.\n */\n data: RawDataSchema,\n\n /**\n * An optional description of the document.\n */\n description: DocDescriptionSchema.optional(),\n\n /**\n * The expected version number to ensure consistency.\n */\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents the proposed version of a document.\n * This can be validated before allowing the operation.\n */\nexport type ProposedDoc = z.infer<typeof ProposedDocSchema>;\n\n/**\n * @see DocAssertSet\n */\nexport const DocAssertSetSchema = z\n .object({\n /**\n * The current version of the document before the operation.\n * Undefined if this is a new document.\n */\n current: DocSchema.optional(),\n\n /**\n * The proposed version of the document.\n * This can be validated before allowing the operation.\n */\n proposed: ProposedDocSchema\n })\n .strict();\n\n/**\n * Represents a validation check before setting a document.\n *\n * The developer can compare the `current` and `proposed` versions and\n * throw an error if their validation fails.\n */\nexport type DocAssertSet = z.infer<typeof DocAssertSetSchema>;\n\n/**\n * @see SetDoc\n */\nexport const SetDocSchema = z\n .object({\n /**\n * The raw data of the document.\n */\n data: RawDataSchema,\n\n /**\n * An optional description of the document.\n */\n description: DocDescriptionSchema.optional(),\n\n /**\n * The expected version number to ensure consistency.\n * If provided, the operation will fail if the stored version does not match.\n */\n version: VersionSchema.optional()\n })\n .strict();\n\n/**\n * Represents a request to set or update a document.\n *\n * This is used when submitting new document data.\n */\nexport type SetDoc = z.infer<typeof SetDocSchema>;\n", "import * as z from 'zod';\n\n/**\n * Defines the collections where a hook or assertion should run.\n */\nexport const CollectionsConfigSchema = z\n .object({\n /**\n * An array containing at least one collection name where the hook or assertion will be executed.\n */\n collections: z.array(z.string()).min(1)\n })\n .strict();\n\n/** @typedef {z.infer<typeof CollectionsConfigSchema>} CollectionsConfig */\nexport type CollectionsConfig = z.infer<typeof CollectionsConfigSchema>;\n", "import * as z from 'zod';\n\n/**\n * Placeholder for future environment-specific configurations.\n *\n * Currently unused, but it may support features such as:\n * - Defining the execution mode (e.g., staging or production).\n * - Providing environment-specific values like `ckBtcLedgerId` for test or production.\n */\nexport const SatelliteConfigEnvSchema = z.record(z.unknown());\n\n/** @typedef {z.infer<typeof SatelliteConfigEnvSchema>} SatelliteConfigEnv */\nexport type SatelliteConfigEnv = z.infer<typeof SatelliteConfigEnvSchema>;\n", "import * as z from 'zod';\nimport {OnSetDocContextSchema} from '../hooks/context';\nimport {CollectionsConfigSchema} from './collections.config';\nimport {SatelliteConfigEnvSchema} from './satellite.config';\n\n/**\n * A generic configuration schema for defining hooks related to collections.\n *\n * @template T - The type of context passed to the hook when triggered.\n */\nconst OnHookConfigSchema = <T extends z.ZodTypeAny>(contextSchema: T) =>\n CollectionsConfigSchema.extend({\n /**\n * A function that runs when the hook is triggered for the specified collections.\n *\n * @param {T} context - Contains information about the affected document(s).\n * @returns {Promise<void>} Resolves when the operation completes.\n */\n run: z.function().args(contextSchema).returns(z.promise(z.void()))\n }).strict();\n\n/**\n * @see OnSetDocConfig\n */\nexport const OnSetDocConfigSchema = OnHookConfigSchema(OnSetDocContextSchema);\n\n/**\n * Configuration for a hook that runs when a document is created or updated.\n */\nexport type OnSetDocConfig = z.infer<typeof OnSetDocConfigSchema>;\n\n// TODO: to be extended\n/**\n * @see HookConfig\n */\nexport const HookConfigSchema = OnSetDocConfigSchema;\n\n/**\n * All possible config for assertions.\n */\nexport type HookConfig = z.infer<typeof HookConfigSchema>;\n\nexport const HookFnSchema = <T extends z.ZodTypeAny>(hookConfigSchema: T) =>\n z.function().args(SatelliteConfigEnvSchema).returns(hookConfigSchema);\nexport type HookFn<T extends HookConfig> = (config: z.infer<typeof SatelliteConfigEnvSchema>) => T;\n\nexport const HookFnOrObjectSchema = <T extends z.ZodTypeAny>(hookConfigSchema: T) =>\n z.union([hookConfigSchema, HookFnSchema(hookConfigSchema)]);\nexport type HookFnOrObject<T extends HookConfig> = T | HookFn<T>;\n\nexport function defineHook<T extends HookConfig>(config: T): T;\nexport function defineHook<T extends HookConfig>(config: HookFn<T>): HookFn<T>;\nexport function defineHook<T extends HookConfig>(config: HookFnOrObject<T>): HookFnOrObject<T>;\nexport function defineHook<T extends HookConfig>(config: HookFnOrObject<T>): HookFnOrObject<T> {\n return config;\n}\n", "import {jsonReplacer, jsonReviver} from '@dfinity/utils';\nimport type {RawData} from '../hooks/core';\n\nexport const decodeDocData = <T>(data: RawData): T =>\n JSON.parse(__juno_satellite_datastore_raw_data_to_text(data), jsonReviver);\n\nexport const encodeDocData = <T>(data: T): RawData =>\n __juno_satellite_datastore_raw_data_from_text(JSON.stringify(data, jsonReplacer));\n", "import {jsonReplacer} from '@dfinity/utils';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst __juno_satellite_console_log = (v: any[]) => {\n const msg = v\n .map((arg) => (typeof arg === 'object' ? JSON.stringify(arg, jsonReplacer) : arg))\n .join(' ');\n\n globalThis.__ic_cdk_print(msg);\n};\n\n// @ts-expect-error We want to override the console\nglobalThis.console = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n info(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n log(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n warn(...v: any[]) {\n __juno_satellite_console_log(v);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error(...v: any[]) {\n __juno_satellite_console_log(v);\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "z", "z", "TimestampSchema", "VersionSchema", "RawDataSchema", "RawPrincipalSchema", "val", "RawUserIdSchema", "z", "DocDescriptionSchema", "DocSchema", "RawUserIdSchema", "RawDataSchema", "TimestampSchema", "VersionSchema", "DocUpsertSchema", "ProposedDocSchema", "DocAssertSetSchema", "SetDocSchema", "HookContextSchema", "dataSchema", "RawUserIdSchema", "DocContextSchema", "OnSetDocContextSchema", "DocUpsertSchema", "AssertSetDocContextSchema", "DocAssertSetSchema", "z", "CollectionsConfigSchema", "z", "SatelliteConfigEnvSchema", "OnAssertConfigSchema", "contextSchema", "CollectionsConfigSchema", "AssertSetDocConfigSchema", "AssertSetDocContextSchema", "AssertConfigSchema", "AssertFnSchema", "hookConfigSchema", "SatelliteConfigEnvSchema", "AssertFnOrObjectSchema", "defineAssert", "config", "z", "OnHookConfigSchema", "contextSchema", "CollectionsConfigSchema", "OnSetDocConfigSchema", "OnSetDocContextSchema", "HookConfigSchema", "HookFnSchema", "hookConfigSchema", "SatelliteConfigEnvSchema", "HookFnOrObjectSchema", "defineHook", "config", "jsonReplacer", "jsonReviver", "decodeDocData", "data", "encodeDocData", "jsonReplacer", "__juno_satellite_console_log", "v", "msg", "arg"]
|
|
7
7
|
}
|
|
@@ -1,30 +1,439 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import type { SatelliteConfigEnv } from './satellite.config';
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { SatelliteConfigEnvSchema } from './satellite.config';
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
4
|
+
* @see AssertSetDocConfig
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
}
|
|
6
|
+
export declare const AssertSetDocConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
7
|
+
collections: z.ZodArray<z.ZodString, "many">;
|
|
8
|
+
}, {
|
|
9
|
+
/**
|
|
10
|
+
* A function that runs when the assertion is triggered for the specified collections.
|
|
11
|
+
*
|
|
12
|
+
* @param {T} context - Contains information about the affected document(s).
|
|
13
|
+
* @returns {Promise<void>} Resolves when the operation completes.
|
|
14
|
+
*/
|
|
15
|
+
assert: z.ZodFunction<z.ZodTuple<[z.ZodObject<{
|
|
16
|
+
caller: z.ZodType<Uint8Array<ArrayBufferLike>, z.ZodTypeDef, Uint8Array<ArrayBufferLike>>;
|
|
17
|
+
data: z.ZodObject<{
|
|
18
|
+
collection: z.ZodString;
|
|
19
|
+
key: z.ZodString;
|
|
20
|
+
data: z.ZodObject<{
|
|
21
|
+
current: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
owner: z.ZodType<Uint8Array<ArrayBufferLike>, z.ZodTypeDef, Uint8Array<ArrayBufferLike>>;
|
|
23
|
+
data: z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>;
|
|
24
|
+
description: z.ZodOptional<z.ZodString>;
|
|
25
|
+
created_at: z.ZodBigInt;
|
|
26
|
+
updated_at: z.ZodBigInt;
|
|
27
|
+
version: z.ZodOptional<z.ZodBigInt>;
|
|
28
|
+
}, "strict", z.ZodTypeAny, {
|
|
29
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
30
|
+
data: Uint8Array<ArrayBuffer>;
|
|
31
|
+
created_at: bigint;
|
|
32
|
+
updated_at: bigint;
|
|
33
|
+
description?: string | undefined;
|
|
34
|
+
version?: bigint | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
37
|
+
data: Uint8Array<ArrayBuffer>;
|
|
38
|
+
created_at: bigint;
|
|
39
|
+
updated_at: bigint;
|
|
40
|
+
description?: string | undefined;
|
|
41
|
+
version?: bigint | undefined;
|
|
42
|
+
}>>;
|
|
43
|
+
proposed: z.ZodObject<{
|
|
44
|
+
data: z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>;
|
|
45
|
+
description: z.ZodOptional<z.ZodString>;
|
|
46
|
+
version: z.ZodOptional<z.ZodBigInt>;
|
|
47
|
+
}, "strict", z.ZodTypeAny, {
|
|
48
|
+
data: Uint8Array<ArrayBuffer>;
|
|
49
|
+
description?: string | undefined;
|
|
50
|
+
version?: bigint | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
data: Uint8Array<ArrayBuffer>;
|
|
53
|
+
description?: string | undefined;
|
|
54
|
+
version?: bigint | undefined;
|
|
55
|
+
}>;
|
|
56
|
+
}, "strict", z.ZodTypeAny, {
|
|
57
|
+
proposed: {
|
|
58
|
+
data: Uint8Array<ArrayBuffer>;
|
|
59
|
+
description?: string | undefined;
|
|
60
|
+
version?: bigint | undefined;
|
|
61
|
+
};
|
|
62
|
+
current?: {
|
|
63
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
64
|
+
data: Uint8Array<ArrayBuffer>;
|
|
65
|
+
created_at: bigint;
|
|
66
|
+
updated_at: bigint;
|
|
67
|
+
description?: string | undefined;
|
|
68
|
+
version?: bigint | undefined;
|
|
69
|
+
} | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
proposed: {
|
|
72
|
+
data: Uint8Array<ArrayBuffer>;
|
|
73
|
+
description?: string | undefined;
|
|
74
|
+
version?: bigint | undefined;
|
|
75
|
+
};
|
|
76
|
+
current?: {
|
|
77
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
78
|
+
data: Uint8Array<ArrayBuffer>;
|
|
79
|
+
created_at: bigint;
|
|
80
|
+
updated_at: bigint;
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
version?: bigint | undefined;
|
|
83
|
+
} | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
}, "strict", z.ZodTypeAny, {
|
|
86
|
+
data: {
|
|
87
|
+
proposed: {
|
|
88
|
+
data: Uint8Array<ArrayBuffer>;
|
|
89
|
+
description?: string | undefined;
|
|
90
|
+
version?: bigint | undefined;
|
|
91
|
+
};
|
|
92
|
+
current?: {
|
|
93
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
94
|
+
data: Uint8Array<ArrayBuffer>;
|
|
95
|
+
created_at: bigint;
|
|
96
|
+
updated_at: bigint;
|
|
97
|
+
description?: string | undefined;
|
|
98
|
+
version?: bigint | undefined;
|
|
99
|
+
} | undefined;
|
|
100
|
+
};
|
|
101
|
+
collection: string;
|
|
102
|
+
key: string;
|
|
103
|
+
}, {
|
|
104
|
+
data: {
|
|
105
|
+
proposed: {
|
|
106
|
+
data: Uint8Array<ArrayBuffer>;
|
|
107
|
+
description?: string | undefined;
|
|
108
|
+
version?: bigint | undefined;
|
|
109
|
+
};
|
|
110
|
+
current?: {
|
|
111
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
112
|
+
data: Uint8Array<ArrayBuffer>;
|
|
113
|
+
created_at: bigint;
|
|
114
|
+
updated_at: bigint;
|
|
115
|
+
description?: string | undefined;
|
|
116
|
+
version?: bigint | undefined;
|
|
117
|
+
} | undefined;
|
|
118
|
+
};
|
|
119
|
+
collection: string;
|
|
120
|
+
key: string;
|
|
121
|
+
}>;
|
|
122
|
+
}, "strict", z.ZodTypeAny, {
|
|
123
|
+
data: {
|
|
124
|
+
data: {
|
|
125
|
+
proposed: {
|
|
126
|
+
data: Uint8Array<ArrayBuffer>;
|
|
127
|
+
description?: string | undefined;
|
|
128
|
+
version?: bigint | undefined;
|
|
129
|
+
};
|
|
130
|
+
current?: {
|
|
131
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
132
|
+
data: Uint8Array<ArrayBuffer>;
|
|
133
|
+
created_at: bigint;
|
|
134
|
+
updated_at: bigint;
|
|
135
|
+
description?: string | undefined;
|
|
136
|
+
version?: bigint | undefined;
|
|
137
|
+
} | undefined;
|
|
138
|
+
};
|
|
139
|
+
collection: string;
|
|
140
|
+
key: string;
|
|
141
|
+
};
|
|
142
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
143
|
+
}, {
|
|
144
|
+
data: {
|
|
145
|
+
data: {
|
|
146
|
+
proposed: {
|
|
147
|
+
data: Uint8Array<ArrayBuffer>;
|
|
148
|
+
description?: string | undefined;
|
|
149
|
+
version?: bigint | undefined;
|
|
150
|
+
};
|
|
151
|
+
current?: {
|
|
152
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
153
|
+
data: Uint8Array<ArrayBuffer>;
|
|
154
|
+
created_at: bigint;
|
|
155
|
+
updated_at: bigint;
|
|
156
|
+
description?: string | undefined;
|
|
157
|
+
version?: bigint | undefined;
|
|
158
|
+
} | undefined;
|
|
159
|
+
};
|
|
160
|
+
collection: string;
|
|
161
|
+
key: string;
|
|
162
|
+
};
|
|
163
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
164
|
+
}>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
|
|
165
|
+
}>, "strict", z.ZodTypeAny, {
|
|
166
|
+
collections: string[];
|
|
167
|
+
assert: (args_0: {
|
|
168
|
+
data: {
|
|
169
|
+
data: {
|
|
170
|
+
proposed: {
|
|
171
|
+
data: Uint8Array<ArrayBuffer>;
|
|
172
|
+
description?: string | undefined;
|
|
173
|
+
version?: bigint | undefined;
|
|
174
|
+
};
|
|
175
|
+
current?: {
|
|
176
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
177
|
+
data: Uint8Array<ArrayBuffer>;
|
|
178
|
+
created_at: bigint;
|
|
179
|
+
updated_at: bigint;
|
|
180
|
+
description?: string | undefined;
|
|
181
|
+
version?: bigint | undefined;
|
|
182
|
+
} | undefined;
|
|
183
|
+
};
|
|
184
|
+
collection: string;
|
|
185
|
+
key: string;
|
|
186
|
+
};
|
|
187
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
188
|
+
}, ...args: unknown[]) => Promise<void>;
|
|
189
|
+
}, {
|
|
190
|
+
collections: string[];
|
|
191
|
+
assert: (args_0: {
|
|
192
|
+
data: {
|
|
193
|
+
data: {
|
|
194
|
+
proposed: {
|
|
195
|
+
data: Uint8Array<ArrayBuffer>;
|
|
196
|
+
description?: string | undefined;
|
|
197
|
+
version?: bigint | undefined;
|
|
198
|
+
};
|
|
199
|
+
current?: {
|
|
200
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
201
|
+
data: Uint8Array<ArrayBuffer>;
|
|
202
|
+
created_at: bigint;
|
|
203
|
+
updated_at: bigint;
|
|
204
|
+
description?: string | undefined;
|
|
205
|
+
version?: bigint | undefined;
|
|
206
|
+
} | undefined;
|
|
207
|
+
};
|
|
208
|
+
collection: string;
|
|
209
|
+
key: string;
|
|
210
|
+
};
|
|
211
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
212
|
+
}, ...args: unknown[]) => Promise<void>;
|
|
213
|
+
}>;
|
|
214
|
+
/**
|
|
215
|
+
* Configuration schema for an assertion that runs when a document is created or updated.
|
|
216
|
+
*/
|
|
217
|
+
export type AssertSetDocConfig = z.infer<typeof AssertSetDocConfigSchema>;
|
|
10
218
|
/**
|
|
11
|
-
*
|
|
12
|
-
* This function is called to validate a document before it is created or updated.
|
|
219
|
+
* @see AssertConfig
|
|
13
220
|
*/
|
|
14
|
-
export
|
|
221
|
+
export declare const AssertConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
222
|
+
collections: z.ZodArray<z.ZodString, "many">;
|
|
223
|
+
}, {
|
|
15
224
|
/**
|
|
16
|
-
* A function that runs
|
|
17
|
-
* This can be used to enforce your validation rules.
|
|
18
|
-
*
|
|
19
|
-
* @param {AssertSetDocContext} context - Provides details about the document being validated.
|
|
20
|
-
* @throws {Error} If your validation fails, throw an exception to prevent the document from being saved.
|
|
225
|
+
* A function that runs when the assertion is triggered for the specified collections.
|
|
21
226
|
*
|
|
227
|
+
* @param {T} context - Contains information about the affected document(s).
|
|
228
|
+
* @returns {Promise<void>} Resolves when the operation completes.
|
|
22
229
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
230
|
+
assert: z.ZodFunction<z.ZodTuple<[z.ZodObject<{
|
|
231
|
+
caller: z.ZodType<Uint8Array<ArrayBufferLike>, z.ZodTypeDef, Uint8Array<ArrayBufferLike>>;
|
|
232
|
+
data: z.ZodObject<{
|
|
233
|
+
collection: z.ZodString;
|
|
234
|
+
key: z.ZodString;
|
|
235
|
+
data: z.ZodObject<{
|
|
236
|
+
current: z.ZodOptional<z.ZodObject<{
|
|
237
|
+
owner: z.ZodType<Uint8Array<ArrayBufferLike>, z.ZodTypeDef, Uint8Array<ArrayBufferLike>>;
|
|
238
|
+
data: z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>;
|
|
239
|
+
description: z.ZodOptional<z.ZodString>;
|
|
240
|
+
created_at: z.ZodBigInt;
|
|
241
|
+
updated_at: z.ZodBigInt;
|
|
242
|
+
version: z.ZodOptional<z.ZodBigInt>;
|
|
243
|
+
}, "strict", z.ZodTypeAny, {
|
|
244
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
245
|
+
data: Uint8Array<ArrayBuffer>;
|
|
246
|
+
created_at: bigint;
|
|
247
|
+
updated_at: bigint;
|
|
248
|
+
description?: string | undefined;
|
|
249
|
+
version?: bigint | undefined;
|
|
250
|
+
}, {
|
|
251
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
252
|
+
data: Uint8Array<ArrayBuffer>;
|
|
253
|
+
created_at: bigint;
|
|
254
|
+
updated_at: bigint;
|
|
255
|
+
description?: string | undefined;
|
|
256
|
+
version?: bigint | undefined;
|
|
257
|
+
}>>;
|
|
258
|
+
proposed: z.ZodObject<{
|
|
259
|
+
data: z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>;
|
|
260
|
+
description: z.ZodOptional<z.ZodString>;
|
|
261
|
+
version: z.ZodOptional<z.ZodBigInt>;
|
|
262
|
+
}, "strict", z.ZodTypeAny, {
|
|
263
|
+
data: Uint8Array<ArrayBuffer>;
|
|
264
|
+
description?: string | undefined;
|
|
265
|
+
version?: bigint | undefined;
|
|
266
|
+
}, {
|
|
267
|
+
data: Uint8Array<ArrayBuffer>;
|
|
268
|
+
description?: string | undefined;
|
|
269
|
+
version?: bigint | undefined;
|
|
270
|
+
}>;
|
|
271
|
+
}, "strict", z.ZodTypeAny, {
|
|
272
|
+
proposed: {
|
|
273
|
+
data: Uint8Array<ArrayBuffer>;
|
|
274
|
+
description?: string | undefined;
|
|
275
|
+
version?: bigint | undefined;
|
|
276
|
+
};
|
|
277
|
+
current?: {
|
|
278
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
279
|
+
data: Uint8Array<ArrayBuffer>;
|
|
280
|
+
created_at: bigint;
|
|
281
|
+
updated_at: bigint;
|
|
282
|
+
description?: string | undefined;
|
|
283
|
+
version?: bigint | undefined;
|
|
284
|
+
} | undefined;
|
|
285
|
+
}, {
|
|
286
|
+
proposed: {
|
|
287
|
+
data: Uint8Array<ArrayBuffer>;
|
|
288
|
+
description?: string | undefined;
|
|
289
|
+
version?: bigint | undefined;
|
|
290
|
+
};
|
|
291
|
+
current?: {
|
|
292
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
293
|
+
data: Uint8Array<ArrayBuffer>;
|
|
294
|
+
created_at: bigint;
|
|
295
|
+
updated_at: bigint;
|
|
296
|
+
description?: string | undefined;
|
|
297
|
+
version?: bigint | undefined;
|
|
298
|
+
} | undefined;
|
|
299
|
+
}>;
|
|
300
|
+
}, "strict", z.ZodTypeAny, {
|
|
301
|
+
data: {
|
|
302
|
+
proposed: {
|
|
303
|
+
data: Uint8Array<ArrayBuffer>;
|
|
304
|
+
description?: string | undefined;
|
|
305
|
+
version?: bigint | undefined;
|
|
306
|
+
};
|
|
307
|
+
current?: {
|
|
308
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
309
|
+
data: Uint8Array<ArrayBuffer>;
|
|
310
|
+
created_at: bigint;
|
|
311
|
+
updated_at: bigint;
|
|
312
|
+
description?: string | undefined;
|
|
313
|
+
version?: bigint | undefined;
|
|
314
|
+
} | undefined;
|
|
315
|
+
};
|
|
316
|
+
collection: string;
|
|
317
|
+
key: string;
|
|
318
|
+
}, {
|
|
319
|
+
data: {
|
|
320
|
+
proposed: {
|
|
321
|
+
data: Uint8Array<ArrayBuffer>;
|
|
322
|
+
description?: string | undefined;
|
|
323
|
+
version?: bigint | undefined;
|
|
324
|
+
};
|
|
325
|
+
current?: {
|
|
326
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
327
|
+
data: Uint8Array<ArrayBuffer>;
|
|
328
|
+
created_at: bigint;
|
|
329
|
+
updated_at: bigint;
|
|
330
|
+
description?: string | undefined;
|
|
331
|
+
version?: bigint | undefined;
|
|
332
|
+
} | undefined;
|
|
333
|
+
};
|
|
334
|
+
collection: string;
|
|
335
|
+
key: string;
|
|
336
|
+
}>;
|
|
337
|
+
}, "strict", z.ZodTypeAny, {
|
|
338
|
+
data: {
|
|
339
|
+
data: {
|
|
340
|
+
proposed: {
|
|
341
|
+
data: Uint8Array<ArrayBuffer>;
|
|
342
|
+
description?: string | undefined;
|
|
343
|
+
version?: bigint | undefined;
|
|
344
|
+
};
|
|
345
|
+
current?: {
|
|
346
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
347
|
+
data: Uint8Array<ArrayBuffer>;
|
|
348
|
+
created_at: bigint;
|
|
349
|
+
updated_at: bigint;
|
|
350
|
+
description?: string | undefined;
|
|
351
|
+
version?: bigint | undefined;
|
|
352
|
+
} | undefined;
|
|
353
|
+
};
|
|
354
|
+
collection: string;
|
|
355
|
+
key: string;
|
|
356
|
+
};
|
|
357
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
358
|
+
}, {
|
|
359
|
+
data: {
|
|
360
|
+
data: {
|
|
361
|
+
proposed: {
|
|
362
|
+
data: Uint8Array<ArrayBuffer>;
|
|
363
|
+
description?: string | undefined;
|
|
364
|
+
version?: bigint | undefined;
|
|
365
|
+
};
|
|
366
|
+
current?: {
|
|
367
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
368
|
+
data: Uint8Array<ArrayBuffer>;
|
|
369
|
+
created_at: bigint;
|
|
370
|
+
updated_at: bigint;
|
|
371
|
+
description?: string | undefined;
|
|
372
|
+
version?: bigint | undefined;
|
|
373
|
+
} | undefined;
|
|
374
|
+
};
|
|
375
|
+
collection: string;
|
|
376
|
+
key: string;
|
|
377
|
+
};
|
|
378
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
379
|
+
}>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
|
|
380
|
+
}>, "strict", z.ZodTypeAny, {
|
|
381
|
+
collections: string[];
|
|
382
|
+
assert: (args_0: {
|
|
383
|
+
data: {
|
|
384
|
+
data: {
|
|
385
|
+
proposed: {
|
|
386
|
+
data: Uint8Array<ArrayBuffer>;
|
|
387
|
+
description?: string | undefined;
|
|
388
|
+
version?: bigint | undefined;
|
|
389
|
+
};
|
|
390
|
+
current?: {
|
|
391
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
392
|
+
data: Uint8Array<ArrayBuffer>;
|
|
393
|
+
created_at: bigint;
|
|
394
|
+
updated_at: bigint;
|
|
395
|
+
description?: string | undefined;
|
|
396
|
+
version?: bigint | undefined;
|
|
397
|
+
} | undefined;
|
|
398
|
+
};
|
|
399
|
+
collection: string;
|
|
400
|
+
key: string;
|
|
401
|
+
};
|
|
402
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
403
|
+
}, ...args: unknown[]) => Promise<void>;
|
|
404
|
+
}, {
|
|
405
|
+
collections: string[];
|
|
406
|
+
assert: (args_0: {
|
|
407
|
+
data: {
|
|
408
|
+
data: {
|
|
409
|
+
proposed: {
|
|
410
|
+
data: Uint8Array<ArrayBuffer>;
|
|
411
|
+
description?: string | undefined;
|
|
412
|
+
version?: bigint | undefined;
|
|
413
|
+
};
|
|
414
|
+
current?: {
|
|
415
|
+
owner: Uint8Array<ArrayBufferLike>;
|
|
416
|
+
data: Uint8Array<ArrayBuffer>;
|
|
417
|
+
created_at: bigint;
|
|
418
|
+
updated_at: bigint;
|
|
419
|
+
description?: string | undefined;
|
|
420
|
+
version?: bigint | undefined;
|
|
421
|
+
} | undefined;
|
|
422
|
+
};
|
|
423
|
+
collection: string;
|
|
424
|
+
key: string;
|
|
425
|
+
};
|
|
426
|
+
caller: Uint8Array<ArrayBufferLike>;
|
|
427
|
+
}, ...args: unknown[]) => Promise<void>;
|
|
428
|
+
}>;
|
|
429
|
+
/**
|
|
430
|
+
* All possible config for assertions.
|
|
431
|
+
*/
|
|
432
|
+
export type AssertConfig = z.infer<typeof AssertConfigSchema>;
|
|
433
|
+
export declare const AssertFnSchema: <T extends z.ZodTypeAny>(hookConfigSchema: T) => z.ZodFunction<z.ZodTuple<[z.ZodRecord<z.ZodString, z.ZodUnknown>], z.ZodUnknown>, T>;
|
|
434
|
+
export type AssertFn<T extends AssertConfig> = (config: z.infer<typeof SatelliteConfigEnvSchema>) => T;
|
|
435
|
+
export declare const AssertFnOrObjectSchema: <T extends z.ZodTypeAny>(hookConfigSchema: T) => z.ZodUnion<[T, z.ZodFunction<z.ZodTuple<[z.ZodRecord<z.ZodString, z.ZodUnknown>], z.ZodUnknown>, T>]>;
|
|
436
|
+
export type AssertFnOrObject<T extends AssertConfig> = T | AssertFn<T>;
|
|
437
|
+
export declare function defineAssert<T extends AssertConfig>(config: T): T;
|
|
438
|
+
export declare function defineAssert<T extends AssertConfig>(config: AssertFn<T>): AssertFn<T>;
|
|
439
|
+
export declare function defineAssert<T extends AssertConfig>(config: AssertFnOrObject<T>): AssertFnOrObject<T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the collections where a hook or assertion should run.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CollectionsConfigSchema: z.ZodObject<{
|
|
6
|
+
/**
|
|
7
|
+
* An array containing at least one collection name where the hook or assertion will be executed.
|
|
8
|
+
*/
|
|
9
|
+
collections: z.ZodArray<z.ZodString, "many">;
|
|
10
|
+
}, "strict", z.ZodTypeAny, {
|
|
11
|
+
collections: string[];
|
|
12
|
+
}, {
|
|
13
|
+
collections: string[];
|
|
14
|
+
}>;
|
|
15
|
+
/** @typedef {z.infer<typeof CollectionsConfigSchema>} CollectionsConfig */
|
|
16
|
+
export type CollectionsConfig = z.infer<typeof CollectionsConfigSchema>;
|