svelte-ag 1.2.8 → 1.3.0
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/api/form.svelte.d.ts +7 -10
- package/dist/api/form.svelte.d.ts.map +1 -1
- package/dist/api/form.svelte.js +6 -9
- package/dist/api/query/entrypoint.svelte.d.ts +14 -6
- package/dist/api/query/entrypoint.svelte.d.ts.map +1 -1
- package/dist/api/query/entrypoint.svelte.js +11 -5
- package/dist/api/query/entrypoint.unit.test.js +23 -25
- package/dist/api/query/query.svelte.d.ts +4 -5
- package/dist/api/query/query.svelte.d.ts.map +1 -1
- package/dist/api/query/query.svelte.js +8 -12
- package/dist/api/query/query.unit.test.js +21 -30
- package/dist/api/query/utils.svelte.d.ts +8 -2
- package/dist/api/query/utils.svelte.d.ts.map +1 -1
- package/dist/api/query/utils.svelte.js +5 -4
- package/dist/index.d.ts +29 -19
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/lib/api/form.svelte.ts +27 -34
- package/src/lib/api/query/entrypoint.svelte.ts +28 -11
- package/src/lib/api/query/entrypoint.unit.test.ts +25 -27
- package/src/lib/api/query/query.svelte.ts +18 -17
- package/src/lib/api/query/query.unit.test.ts +25 -35
- package/src/lib/api/query/utils.svelte.ts +5 -4
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { TransitionConfig } from "svelte/transition";
|
|
|
4
4
|
import { WithElementRef, WithRefProps } from "svelte-toolbelt";
|
|
5
5
|
import { ClassValue as ClassValue$1, HTMLAttributes, HTMLFormAttributes } from "svelte/elements";
|
|
6
6
|
import { SuperForm, superForm } from "sveltekit-superforms";
|
|
7
|
-
import { ApiEndpoints, ApiErrorBody, ApiInput, ApiRequestFunction, ApiResponse,
|
|
7
|
+
import { ApiEndpointContract, ApiEndpoints, ApiErrorBody, ApiInput, ApiRequestFunction, ApiResponse, ApiSuccessBody } from "ts-ag";
|
|
8
8
|
import { VariantProps } from "tailwind-variants";
|
|
9
9
|
import { ComponentProps, Snippet } from "svelte";
|
|
10
10
|
import { CreateDraggableInput, CreateDroppableInput, DragDropProvider, DragOverlay, createDraggable } from "@dnd-kit/svelte";
|
|
@@ -112,7 +112,7 @@ type FormActionArgs<T extends ApiEndpoints, P extends T['path'], M extends Extra
|
|
|
112
112
|
/**
|
|
113
113
|
* Creates a strongly-typed form factory for an API schema.
|
|
114
114
|
*
|
|
115
|
-
* Call the returned function with `{
|
|
115
|
+
* Call the returned function with `{ endpoint, ... }` to get a `SuperForm`
|
|
116
116
|
* that:
|
|
117
117
|
* - Validates using the Valibot schema for the given endpoint.
|
|
118
118
|
* - Submits via the provided `request` function on each valid update.
|
|
@@ -122,8 +122,7 @@ type FormActionArgs<T extends ApiEndpoints, P extends T['path'], M extends Extra
|
|
|
122
122
|
type ApiRequestForm<API extends ApiEndpoints> = <Path extends API['path'], Method extends Extract<API, {
|
|
123
123
|
path: Path;
|
|
124
124
|
}>['method']>(a: {
|
|
125
|
-
/**
|
|
126
|
-
method: Method;
|
|
125
|
+
/** Endpoint contract used to select a schema and submit the request. */endpoint: ApiEndpointContract<API, Path, Method>;
|
|
127
126
|
/**
|
|
128
127
|
* Optional lifecycle hooks for consumers.
|
|
129
128
|
* - `beforeRequest`: called before sending the api call
|
|
@@ -183,16 +182,21 @@ type ApiRequestForm<API extends ApiEndpoints> = <Path extends API['path'], Metho
|
|
|
183
182
|
/**
|
|
184
183
|
* Build an endpoint-specific Superforms factory.
|
|
185
184
|
*
|
|
186
|
-
* @param
|
|
187
|
-
* @param request An API request function that performs `(path, method, data)` and returns a fetch-like `Response`.
|
|
185
|
+
* @param request An API request function that performs `(endpoint, data)` and returns a fetch-like `Response`.
|
|
188
186
|
*
|
|
189
|
-
* @returns A function that creates a `SuperForm` for a particular
|
|
187
|
+
* @returns A function that creates a `SuperForm` for a particular endpoint contract.
|
|
190
188
|
*/
|
|
191
|
-
declare function createFormFunction<API extends ApiEndpoints>(
|
|
189
|
+
declare function createFormFunction<API extends ApiEndpoints>(request: ApiRequestFunction<API>): ApiRequestForm<API>;
|
|
192
190
|
//#endregion
|
|
193
191
|
//#region dist/api/query/utils.svelte.d.ts
|
|
194
|
-
declare function batchQueryKey(
|
|
195
|
-
|
|
192
|
+
declare function batchQueryKey(endpoint: {
|
|
193
|
+
path: string;
|
|
194
|
+
method: string;
|
|
195
|
+
}): string;
|
|
196
|
+
declare function cacheKey(endpoint: {
|
|
197
|
+
path: string;
|
|
198
|
+
method: string;
|
|
199
|
+
}, input: any): string;
|
|
196
200
|
//#endregion
|
|
197
201
|
//#region dist/api/query/cache.svelte.d.ts
|
|
198
202
|
declare class Cache {
|
|
@@ -215,15 +219,13 @@ declare class Query<API extends ApiEndpoints, Path extends API['path'], Method e
|
|
|
215
219
|
}>['method']> {
|
|
216
220
|
#private;
|
|
217
221
|
constructor({
|
|
218
|
-
|
|
219
|
-
method,
|
|
222
|
+
endpoint,
|
|
220
223
|
input,
|
|
221
224
|
requestor,
|
|
222
225
|
cache,
|
|
223
226
|
opts
|
|
224
227
|
}: {
|
|
225
|
-
|
|
226
|
-
method: Method;
|
|
228
|
+
endpoint: ApiEndpointContract<API, Path, Method>;
|
|
227
229
|
input: ApiInput<API, Path, Method>;
|
|
228
230
|
requestor: Requestor<API, Path, Method>;
|
|
229
231
|
cache: Cache;
|
|
@@ -243,7 +245,7 @@ declare class Requestor<API extends ApiEndpoints, Path extends API['path'], Meth
|
|
|
243
245
|
path: Path;
|
|
244
246
|
}>['method']> {
|
|
245
247
|
#private;
|
|
246
|
-
constructor(
|
|
248
|
+
constructor(endpoint: ApiEndpointContract<API, Path, Method>, request: ApiRequestFunction<API>, _cache: Cache, batchDetails?: BatchDetails<API, Path, Method>);
|
|
247
249
|
private fetch;
|
|
248
250
|
/**
|
|
249
251
|
* Empties the batch queue for the id by combining the inputs.
|
|
@@ -261,9 +263,17 @@ type BatchDetails<API extends ApiEndpoints, Path extends API['path'], Method ext
|
|
|
261
263
|
batchInput: (inputs: ApiInput<API, Path, Method>[]) => ApiInput<API, Path, Method>;
|
|
262
264
|
unBatchOutput: (inputs: ApiInput<API, Path, Method>[], output: ApiResponse<API, Path, Method>) => ApiResponse<API, Path, Method>[] | Promise<ApiResponse<API, Path, Method>[]>;
|
|
263
265
|
};
|
|
264
|
-
type ApiBatchDetails<API extends ApiEndpoints> = { [Path in API['path']]
|
|
266
|
+
type ApiBatchDetails<API extends ApiEndpoints> = { [Path in API['path']]: { [Method in Extract<API, {
|
|
265
267
|
path: Path;
|
|
266
|
-
}>['method']]
|
|
268
|
+
}>['method']]: {
|
|
269
|
+
endpoint: ApiEndpointContract<API, Path, Method>;
|
|
270
|
+
details: BatchDetails<API, Path, Method>;
|
|
271
|
+
} }[Extract<API, {
|
|
272
|
+
path: Path;
|
|
273
|
+
}>['method']] }[API['path']][];
|
|
274
|
+
declare function batchEndpoint<API extends ApiEndpoints, Path extends API['path'], Method extends Extract<API, {
|
|
275
|
+
path: Path;
|
|
276
|
+
}>['method']>(endpoint: ApiEndpointContract<API, Path, Method>, details: BatchDetails<API, Path, Method>): ApiBatchDetails<API>[number];
|
|
267
277
|
/**
|
|
268
278
|
* Helper function to use once so that creating queries is easier.
|
|
269
279
|
*
|
|
@@ -273,7 +283,7 @@ type ApiBatchDetails<API extends ApiEndpoints> = { [Path in API['path']]?: { [Me
|
|
|
273
283
|
*/
|
|
274
284
|
declare function createQueryFunction<API extends ApiEndpoints>(request: ApiRequestFunction<API>, batchDetails: ApiBatchDetails<API>): <Path extends API["path"], Method extends Extract<API, {
|
|
275
285
|
path: Path;
|
|
276
|
-
}>["method"]>(
|
|
286
|
+
}>["method"]>(endpoint: ApiEndpointContract<API, Path, Method>, input: ApiInput<API, Path, Method>, opts?: ConstructorParameters<typeof Query<API, Path, Method>>[0]["opts"]) => Query<API, Path, Method>;
|
|
277
287
|
//#endregion
|
|
278
288
|
//#region dist/components/animated/animated.svelte.d.ts
|
|
279
289
|
declare const animatedVariants: import("tailwind-variants").TVReturnType<{
|
|
@@ -776,5 +786,5 @@ type ArrowProps = ArrowPropsWithoutHTML & BitsPrimitiveSpanAttributes;
|
|
|
776
786
|
declare const Arrow: import("svelte").Component<ArrowProps, {}, "">;
|
|
777
787
|
type Arrow = ReturnType<typeof Arrow>;
|
|
778
788
|
//#endregion
|
|
779
|
-
export { Animated, type AnimatedVariants, ApiBatchDetails, ApiRequestForm, Arrow, type ArrowProps, BatchDetails, BitsPrimitiveFormAttributes, BreakpointBadge, Cache, DndContext, type DndContextProps, DndDroppable, DndHandle, DndItem, type DndItemChildProps, type DndItemProps, DndOverlay, DndSortableItem, type DndSortableItemProps, Gallery, Gradient, HTMLDivAttributes, OnDragEnd, OnDragMove, OnDragOver, OnDragStart, Query, QueryStatus, Requestor, Safe, SimpleSortable, SvelteBreakpointBadgeProps, Test, ValidInput, Vec2, Vec3, Vec4, WebGlShader, WebGpuShader, type WithRefProps, animatedVariants, batchQueryKey, cacheKey, cn, containerSize, createFormFunction, createQueryFunction, findItem, flexSlide, flyAndScale, getAriaChecked, getAriaDisabled, getAriaExpanded, getAriaHidden, getAriaInvalid, getAriaOrientation, getAriaPressed, getAriaReadonly, getAriaRequired, getAriaSelected, getDataChecked, getDataDisabled, getDataInvalid, getDataOpenClosed, getDataOrientation, getDataReadonly, getDataRequired, getDataSelected, getDataUnavailable, getDisabled, getHidden, getRequired };
|
|
789
|
+
export { Animated, type AnimatedVariants, ApiBatchDetails, ApiRequestForm, Arrow, type ArrowProps, BatchDetails, BitsPrimitiveFormAttributes, BreakpointBadge, Cache, DndContext, type DndContextProps, DndDroppable, DndHandle, DndItem, type DndItemChildProps, type DndItemProps, DndOverlay, DndSortableItem, type DndSortableItemProps, Gallery, Gradient, HTMLDivAttributes, OnDragEnd, OnDragMove, OnDragOver, OnDragStart, Query, QueryStatus, Requestor, Safe, SimpleSortable, SvelteBreakpointBadgeProps, Test, ValidInput, Vec2, Vec3, Vec4, WebGlShader, WebGpuShader, type WithRefProps, animatedVariants, batchEndpoint, batchQueryKey, cacheKey, cn, containerSize, createFormFunction, createQueryFunction, findItem, flexSlide, flyAndScale, getAriaChecked, getAriaDisabled, getAriaExpanded, getAriaHidden, getAriaInvalid, getAriaOrientation, getAriaPressed, getAriaReadonly, getAriaRequired, getAriaSelected, getDataChecked, getDataDisabled, getDataInvalid, getDataOpenClosed, getDataOrientation, getDataReadonly, getDataRequired, getDataSelected, getDataUnavailable, getDisabled, getHidden, getRequired };
|
|
780
790
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["inputs","ClassValue","y","x","start","duration","delay","Element","node","FlyAndScaleParams","params","TransitionConfig","easing","cubicOut","css","t","condition","checked","indeterminate","orientation","T","Omit","id","BitsPrimitive","HTMLFormAttributes","HTMLAttributes","HTMLDivElement","test","width","height","size","func","E","ApiEndpoints","P","M","NonNullable","ApiInput","T","Extract","path","Parameters","superForm","ValidInput","FormProps","B","FormOnUpdateArgs","body","API","Path","Method","method","actions","beforeRequest","FormActionArgs","args","Promise","onSuccess","ApiSuccessBody","onFail","ApiErrorBody","defaultValue","Partial","bind","get","formData","set","formProps","a","SuperForm","Record","HTTPMethod","ApiSchema","schemas","ApiRequestFunction","request","ApiRequestForm","path","method","input","private","constructor","deregister","key","register","timeout","opts","set","value","get","reset","has","API","ApiEndpoints","Path","Method","Extract","path","private","constructor","method","input","requestor","cache","opts","ApiInput","Requestor","Cache","Parameters","request","Promise","ApiResponse","cacheKey","isCached","resetCache","status","QueryStatus","data","ApiSuccessBody","errorData","ApiErrorBody","ApiRequestFunction","_cache","BatchDetails","batchDetails","fetch","flushBatchQueue","API","ApiEndpoints","Path","Method","Extract","path","canBatch","ApiInput","input","batchInput","inputs","unBatchOutput","ApiResponse","output","Promise","BatchDetails","ApiRequestFunction","request","ApiBatchDetails","batchDetails","method","ConstructorParameters","Query","opts","TVReturnType","animation","flyAndScale","slide","fade","zoom","slideUp","slideDown","growHeight","duration","fast","default","slow","vSlow","VariantProps","animatedVariants","WithElementRef","HTMLDivAttributes","visible","AnimatedVariants","onAnimationComplete","disableInitialAnimation","class","Component","Props","ReturnType","Animated","dev","Component","SvelteBreakpointBadgeProps","ReturnType","BreakpointBadge","id","children","Item","items","WritableBox","T","ComponentProps","DragDropProvider","DndState","context","props","DndContextProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","DndContext","isDragging","isOverlay","draggable","ReturnType","createDraggable","CreateDraggableInput","child","Snippet","DndItemChildProps","Component","DndItemProps","DndItem","isDragging","isOverlay","sortable","ReturnType","createSortable","CreateSortableInput","child","Snippet","SortableItemChildProps","attachHandle","ItemContext","context","Component","DndSortableItemProps","DndSortableItem","DndContextProps","T","id","children","items","item","list","index","class","Component","DragHandleProps","ReturnType","DndHandle","T","item","SortableItemChildProps","ComponentProps","DragOverlay","child","Snippet","OverlayChildProps","id","children","props","DragOverlayProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","DndOverlay","CreateDroppableInput","children","Snippet","isDropTarget","class","ClassValue","Component","DroppableProps","ReturnType","DndDroppable","T","id","children","class","ClassValue","item","Snippet","OverlayChildProps","items","DndContextProps","props","SimpleSortableProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","SimpleSortable","Size","size","Item","small","medium","large","cols","Item","props","HTMLDivAttributes","ref","HTMLElement","images","large","medium","small","maxCols","child","Snippet","style","item","size","Size","index","exports","allItems","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","Gallery","BitsPrimitiveDivAttributes","center","Vec4","edge","noise","centerPos","Vec2","radius","Component","$$ComponentProps","ReturnType","Gradient","WithElementRef","HTMLDivAttributes","links","Component","Props","ReturnType","Safe","name","value","BuiltinValue","type","BuiltinParameter","NonBuiltinParameter","label","binding","storage","WebGpuBuiltinParameter","BufferSource","width","height","code","Promise","parameters","Parameter","forceAnimation","children","Snippet","Component","Props","ReturnType","WebGpuShader","width","height","code","parameters","Parameter","forceAnimation","children","Snippet","Component","Props","ReturnType","WebGlShader","WithChild","width","height","ArrowPropsWithoutHTML","BitsPrimitiveSpanAttributes","Component","ArrowProps","ReturnType","Arrow"],"sources":["../../home/runner/work/svelte-ag/svelte-ag/dist/utils/utils.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/bits.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/reactive.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/glsl.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/form.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/utils.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/cache.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/query.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/entrypoint.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/animated/animated.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/breakpoint-badge/BreakpointBadge.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndContext.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndItem.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndSortableItem.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/types.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/utils.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndHandle.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndOverlay.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndDroppable.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/recipies/SimpleSortable.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gallery/utils.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gallery/gallery.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gradient/Gradient.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/safe/safe.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/types.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/WebGpuShader.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/WebGlShader.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/utilities/arrow/types.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/utilities/arrow/arrow.svelte.d.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["inputs","ClassValue","y","x","start","duration","delay","Element","node","FlyAndScaleParams","params","TransitionConfig","easing","cubicOut","css","t","condition","checked","indeterminate","orientation","T","Omit","id","BitsPrimitive","HTMLFormAttributes","HTMLAttributes","HTMLDivElement","test","width","height","size","func","E","ApiEndpoints","P","M","NonNullable","ApiInput","T","Extract","path","Parameters","superForm","ValidInput","FormProps","B","FormOnUpdateArgs","body","API","Path","Method","endpoint","ApiEndpointContract","actions","beforeRequest","FormActionArgs","args","Promise","onSuccess","ApiSuccessBody","onFail","ApiErrorBody","defaultValue","Partial","bind","get","formData","set","formProps","a","SuperForm","ApiRequestFunction","request","ApiRequestForm","path","method","endpoint","input","private","constructor","deregister","key","register","timeout","opts","set","value","get","reset","has","API","ApiEndpoints","Path","Method","Extract","path","private","constructor","endpoint","input","requestor","cache","opts","ApiEndpointContract","ApiInput","Requestor","Cache","Parameters","request","Promise","ApiResponse","cacheKey","isCached","resetCache","status","QueryStatus","data","ApiSuccessBody","errorData","ApiErrorBody","ApiRequestFunction","_cache","BatchDetails","batchDetails","fetch","flushBatchQueue","API","ApiEndpoints","Path","Method","Extract","path","canBatch","ApiInput","input","batchInput","inputs","unBatchOutput","ApiResponse","output","Promise","endpoint","ApiEndpointContract","details","BatchDetails","ApiBatchDetails","ApiRequestFunction","request","batchDetails","ConstructorParameters","Query","opts","TVReturnType","animation","flyAndScale","slide","fade","zoom","slideUp","slideDown","growHeight","duration","fast","default","slow","vSlow","VariantProps","animatedVariants","WithElementRef","HTMLDivAttributes","visible","AnimatedVariants","onAnimationComplete","disableInitialAnimation","class","Component","Props","ReturnType","Animated","dev","Component","SvelteBreakpointBadgeProps","ReturnType","BreakpointBadge","id","children","Item","items","WritableBox","T","ComponentProps","DragDropProvider","DndState","context","props","DndContextProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","DndContext","isDragging","isOverlay","draggable","ReturnType","createDraggable","CreateDraggableInput","child","Snippet","DndItemChildProps","Component","DndItemProps","DndItem","isDragging","isOverlay","sortable","ReturnType","createSortable","CreateSortableInput","child","Snippet","SortableItemChildProps","attachHandle","ItemContext","context","Component","DndSortableItemProps","DndSortableItem","DndContextProps","T","id","children","items","item","list","index","class","Component","DragHandleProps","ReturnType","DndHandle","T","item","SortableItemChildProps","ComponentProps","DragOverlay","child","Snippet","OverlayChildProps","id","children","props","DragOverlayProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","DndOverlay","CreateDroppableInput","children","Snippet","isDropTarget","class","ClassValue","Component","DroppableProps","ReturnType","DndDroppable","T","id","children","class","ClassValue","item","Snippet","OverlayChildProps","items","DndContextProps","props","SimpleSortableProps","exports","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","SimpleSortable","Size","size","Item","small","medium","large","cols","Item","props","HTMLDivAttributes","ref","HTMLElement","images","large","medium","small","maxCols","child","Snippet","style","item","size","Size","index","exports","allItems","bindings","slots","events","ReturnType","$$render","ComponentConstructorOptions","__sveltets_Render","options","SvelteComponent","$$bindings","internal","z_$$bindings","$$IsomorphicComponent","InstanceType","Gallery","BitsPrimitiveDivAttributes","center","Vec4","edge","noise","centerPos","Vec2","radius","Component","$$ComponentProps","ReturnType","Gradient","WithElementRef","HTMLDivAttributes","links","Component","Props","ReturnType","Safe","name","value","BuiltinValue","type","BuiltinParameter","NonBuiltinParameter","label","binding","storage","WebGpuBuiltinParameter","BufferSource","width","height","code","Promise","parameters","Parameter","forceAnimation","children","Snippet","Component","Props","ReturnType","WebGpuShader","width","height","code","parameters","Parameter","forceAnimation","children","Snippet","Component","Props","ReturnType","WebGlShader","WithChild","width","height","ArrowPropsWithoutHTML","BitsPrimitiveSpanAttributes","Component","ArrowProps","ReturnType","Arrow"],"sources":["../../home/runner/work/svelte-ag/svelte-ag/dist/utils/utils.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/bits.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/reactive.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/utils/glsl.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/form.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/utils.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/cache.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/query.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/api/query/entrypoint.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/animated/animated.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/breakpoint-badge/BreakpointBadge.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndContext.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndItem.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndSortableItem.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/types.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/utils.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndHandle.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndOverlay.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/DndDroppable.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/dnd/recipies/SimpleSortable.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gallery/utils.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gallery/gallery.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/gradient/Gradient.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/safe/safe.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/types.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/WebGpuShader.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/shader/WebGlShader.svelte.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/utilities/arrow/types.d.ts","../../home/runner/work/svelte-ag/svelte-ag/dist/components/utilities/arrow/arrow.svelte.d.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-ag",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Useful svelte components",
|
|
5
5
|
"bugs": "https://github.com/ageorgeh/svelte-ag/issues",
|
|
6
6
|
"author": "Alexander Hornung",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"svelte-preprocess": "^6.0.5",
|
|
102
102
|
"svelte2tsx": "^0.7.56",
|
|
103
103
|
"tailwindcss": "4.3.0",
|
|
104
|
-
"ts-ag": "^1.
|
|
104
|
+
"ts-ag": "^1.3.0",
|
|
105
105
|
"tsdown": "^0.22.2",
|
|
106
106
|
"tsx": "^4.22.4",
|
|
107
107
|
"tw-animate-css": "^1.4.0",
|
|
@@ -117,8 +117,9 @@
|
|
|
117
117
|
"svelte": "^5.0.0",
|
|
118
118
|
"tailwind-variants": "^3.2.2",
|
|
119
119
|
"tailwindcss": "^4.2.1",
|
|
120
|
-
"ts-ag": "^1.
|
|
120
|
+
"ts-ag": "^1.3.0",
|
|
121
121
|
"tw-animate-css": "^1.4.0"
|
|
122
122
|
},
|
|
123
|
+
"packageManager": "pnpm@11.5.2",
|
|
123
124
|
"tailwindSources": "./dist/tailwind-sources.manifest.jsonc"
|
|
124
125
|
}
|
|
@@ -6,12 +6,11 @@ import type { SuperForm } from 'sveltekit-superforms';
|
|
|
6
6
|
import { valibot } from 'sveltekit-superforms/adapters';
|
|
7
7
|
import type {
|
|
8
8
|
ApiRequestFunction,
|
|
9
|
-
HTTPMethod,
|
|
10
9
|
ApiEndpoints,
|
|
11
10
|
ApiInput,
|
|
12
11
|
ApiSuccessBody,
|
|
13
12
|
ApiErrorBody,
|
|
14
|
-
|
|
13
|
+
ApiEndpointContract
|
|
15
14
|
} from 'ts-ag';
|
|
16
15
|
import { safeParse, safeParseAsync } from 'valibot';
|
|
17
16
|
|
|
@@ -51,22 +50,19 @@ type FormErrorBody<
|
|
|
51
50
|
/**
|
|
52
51
|
* Creates a strongly-typed form factory for an API schema.
|
|
53
52
|
*
|
|
54
|
-
* Call the returned function with `{
|
|
53
|
+
* Call the returned function with `{ endpoint, ... }` to get a `SuperForm`
|
|
55
54
|
* that:
|
|
56
55
|
* - Validates using the Valibot schema for the given endpoint.
|
|
57
56
|
* - Submits via the provided `request` function on each valid update.
|
|
58
57
|
* - Maps API errors to `sveltekit-superforms` field errors / messages.
|
|
59
58
|
* - Optionally two-way binds external state through the `bind` adapter.
|
|
60
59
|
*/
|
|
61
|
-
export type ApiRequestForm<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
>
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
/** HTTP method used to select a schema and to call `request(path, method, data)` */
|
|
69
|
-
method: Method;
|
|
60
|
+
export type ApiRequestForm<API extends ApiEndpoints> = <
|
|
61
|
+
Path extends API['path'],
|
|
62
|
+
Method extends Extract<API, { path: Path }>['method']
|
|
63
|
+
>(a: {
|
|
64
|
+
/** Endpoint contract used to select a schema and submit the request. */
|
|
65
|
+
endpoint: ApiEndpointContract<API, Path, Method>;
|
|
70
66
|
|
|
71
67
|
/**
|
|
72
68
|
* Optional lifecycle hooks for consumers.
|
|
@@ -127,37 +123,30 @@ export type ApiRequestForm<
|
|
|
127
123
|
* If you pass `onSubmit` / `onUpdate` here it will override the defaults in this helper.
|
|
128
124
|
*/
|
|
129
125
|
formProps?: Parameters<typeof superForm<ValidInput<API, Path, Method>>>[1];
|
|
130
|
-
|
|
131
|
-
// /**
|
|
132
|
-
// * Schema override to be used in place of the schemas from the creation of
|
|
133
|
-
// * the form function
|
|
134
|
-
// */
|
|
135
|
-
// schema?: NonNullable<Schemas[Path]>[Method];
|
|
136
126
|
}) => SuperForm<ValidInput<API, Path, Method>>;
|
|
137
127
|
|
|
138
128
|
/**
|
|
139
129
|
* Build an endpoint-specific Superforms factory.
|
|
140
130
|
*
|
|
141
|
-
* @param
|
|
142
|
-
* @param request An API request function that performs `(path, method, data)` and returns a fetch-like `Response`.
|
|
131
|
+
* @param request An API request function that performs `(endpoint, data)` and returns a fetch-like `Response`.
|
|
143
132
|
*
|
|
144
|
-
* @returns A function that creates a `SuperForm` for a particular
|
|
133
|
+
* @returns A function that creates a `SuperForm` for a particular endpoint contract.
|
|
145
134
|
*/
|
|
146
|
-
export function createFormFunction<API extends ApiEndpoints>(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
): ApiRequestForm<API> {
|
|
150
|
-
return ({ path, method, actions, defaultValue, formProps, bind }) => {
|
|
151
|
-
const schema = schemas[path]?.[method];
|
|
152
|
-
if (schema === undefined) throw new Error('Invalid schema for form');
|
|
135
|
+
export function createFormFunction<API extends ApiEndpoints>(request: ApiRequestFunction<API>): ApiRequestForm<API> {
|
|
136
|
+
return ({ endpoint, actions, defaultValue, formProps, bind }) => {
|
|
137
|
+
const schema = endpoint.schema;
|
|
153
138
|
|
|
154
139
|
const defaultFormData = defaults(defaultValue, valibot(schema));
|
|
155
140
|
const boundFormData =
|
|
156
141
|
bind && schema.async === false
|
|
157
|
-
? (safeParse(schema, bind.get(defaultFormData)).output as ValidInput<
|
|
142
|
+
? (safeParse(schema, bind.get(defaultFormData)).output as ValidInput<
|
|
143
|
+
API,
|
|
144
|
+
typeof endpoint.path,
|
|
145
|
+
typeof endpoint.method
|
|
146
|
+
>)
|
|
158
147
|
: defaultFormData;
|
|
159
148
|
|
|
160
|
-
const form = superForm<ValidInput<API, typeof path, typeof method>>(boundFormData, {
|
|
149
|
+
const form = superForm<ValidInput<API, typeof endpoint.path, typeof endpoint.method>>(boundFormData, {
|
|
161
150
|
SPA: true,
|
|
162
151
|
resetForm: true,
|
|
163
152
|
applyAction: false, // Prevents the form redirecting to the same page on submit
|
|
@@ -186,10 +175,10 @@ export function createFormFunction<API extends ApiEndpoints>(
|
|
|
186
175
|
if (!props.form.valid) return;
|
|
187
176
|
|
|
188
177
|
// console.log('onUpdate: sending data', form.data);
|
|
189
|
-
const res = await request(
|
|
178
|
+
const res = await request(endpoint, props.form.data);
|
|
190
179
|
|
|
191
180
|
if (res.ok === false) {
|
|
192
|
-
const body = (await res.json()) as FormErrorBody<API, typeof path, typeof method>;
|
|
181
|
+
const body = (await res.json()) as FormErrorBody<API, typeof endpoint.path, typeof endpoint.method>;
|
|
193
182
|
|
|
194
183
|
// TODO set some kind of overall form error if there is no field
|
|
195
184
|
if (!body.field) {
|
|
@@ -204,7 +193,7 @@ export function createFormFunction<API extends ApiEndpoints>(
|
|
|
204
193
|
} else {
|
|
205
194
|
setMessage(props.form, 'Success');
|
|
206
195
|
if (actions && actions.onSuccess) {
|
|
207
|
-
const body = (await res.json()) as ApiSuccessBody<API, typeof path, typeof method>;
|
|
196
|
+
const body = (await res.json()) as ApiSuccessBody<API, typeof endpoint.path, typeof endpoint.method>;
|
|
208
197
|
await actions.onSuccess({ ...props, body });
|
|
209
198
|
}
|
|
210
199
|
}
|
|
@@ -219,7 +208,11 @@ export function createFormFunction<API extends ApiEndpoints>(
|
|
|
219
208
|
*/
|
|
220
209
|
const bindGet = async () => {
|
|
221
210
|
const formData = get(form.form);
|
|
222
|
-
return (await safeParseAsync(schema, bind.get(formData))).output as ValidInput<
|
|
211
|
+
return (await safeParseAsync(schema, bind.get(formData))).output as ValidInput<
|
|
212
|
+
API,
|
|
213
|
+
typeof endpoint.path,
|
|
214
|
+
typeof endpoint.method
|
|
215
|
+
>;
|
|
223
216
|
};
|
|
224
217
|
|
|
225
218
|
form.form.subscribe((v) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SvelteMap } from 'svelte/reactivity';
|
|
2
|
-
import
|
|
2
|
+
import { endpointKey } from 'ts-ag';
|
|
3
|
+
import type { ApiEndpointContract, ApiEndpoints, ApiRequestFunction, ApiInput, ApiResponse } from 'ts-ag';
|
|
3
4
|
|
|
4
5
|
import { Cache } from './cache.svelte.js';
|
|
5
6
|
import { Requestor, Query } from './query.svelte.js';
|
|
@@ -29,10 +30,24 @@ export type BatchDetails<
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
export type ApiBatchDetails<API extends ApiEndpoints> = {
|
|
32
|
-
[Path in API['path']]
|
|
33
|
-
[Method in Extract<API, { path: Path }>['method']]
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
[Path in API['path']]: {
|
|
34
|
+
[Method in Extract<API, { path: Path }>['method']]: {
|
|
35
|
+
endpoint: ApiEndpointContract<API, Path, Method>;
|
|
36
|
+
details: BatchDetails<API, Path, Method>;
|
|
37
|
+
};
|
|
38
|
+
}[Extract<API, { path: Path }>['method']];
|
|
39
|
+
}[API['path']][];
|
|
40
|
+
|
|
41
|
+
export function batchEndpoint<
|
|
42
|
+
API extends ApiEndpoints,
|
|
43
|
+
Path extends API['path'],
|
|
44
|
+
Method extends Extract<API, { path: Path }>['method']
|
|
45
|
+
>(
|
|
46
|
+
endpoint: ApiEndpointContract<API, Path, Method>,
|
|
47
|
+
details: BatchDetails<API, Path, Method>
|
|
48
|
+
): ApiBatchDetails<API>[number] {
|
|
49
|
+
return { endpoint, details };
|
|
50
|
+
}
|
|
36
51
|
|
|
37
52
|
/**
|
|
38
53
|
* Helper function to use once so that creating queries is easier.
|
|
@@ -45,21 +60,23 @@ export function createQueryFunction<API extends ApiEndpoints>(
|
|
|
45
60
|
request: ApiRequestFunction<API>,
|
|
46
61
|
batchDetails: ApiBatchDetails<API>
|
|
47
62
|
) {
|
|
63
|
+
// eslint-disable-next-line
|
|
64
|
+
const batchDetailsByEndpoint = new Map(batchDetails.map((entry) => [endpointKey(entry.endpoint), entry.details]));
|
|
65
|
+
|
|
48
66
|
return <Path extends API['path'], Method extends Extract<API, { path: Path }>['method']>(
|
|
49
|
-
|
|
50
|
-
method: Method,
|
|
67
|
+
endpoint: ApiEndpointContract<API, Path, Method>,
|
|
51
68
|
input: ApiInput<API, Path, Method>,
|
|
52
69
|
opts?: ConstructorParameters<typeof Query<API, Path, Method>>[0]['opts']
|
|
53
70
|
): Query<API, Path, Method> => {
|
|
54
|
-
const queryKey = cacheKey(
|
|
71
|
+
const queryKey = cacheKey(endpoint, input);
|
|
55
72
|
if (!queries.has(queryKey)) {
|
|
56
|
-
const key = batchQueryKey(
|
|
73
|
+
const key = batchQueryKey(endpoint);
|
|
57
74
|
if (!requestors.has(key)) {
|
|
58
|
-
requestors.set(key, new Requestor(
|
|
75
|
+
requestors.set(key, new Requestor(endpoint, request, cache, batchDetailsByEndpoint.get(key)));
|
|
59
76
|
}
|
|
60
77
|
const requestor = requestors.get(key)!;
|
|
61
78
|
|
|
62
|
-
queries.set(queryKey, new Query<API, Path, Method>({
|
|
79
|
+
queries.set(queryKey, new Query<API, Path, Method>({ endpoint, input, requestor, cache, opts }));
|
|
63
80
|
}
|
|
64
81
|
const query = queries.get(queryKey)!;
|
|
65
82
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createApiRequest, type ApiEndpoints } from 'ts-ag';
|
|
1
|
+
import { createApiRequest, type ApiEndpointContract, type ApiEndpoints } from 'ts-ag';
|
|
2
2
|
import * as v from 'valibot';
|
|
3
3
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
4
|
|
|
@@ -17,11 +17,11 @@ type UsersApi = {
|
|
|
17
17
|
|
|
18
18
|
const API_URL = 'https://api.example.test';
|
|
19
19
|
|
|
20
|
-
const
|
|
21
|
-
'/users'
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
}
|
|
20
|
+
const users_POST = {
|
|
21
|
+
path: '/users',
|
|
22
|
+
method: 'POST',
|
|
23
|
+
schema: v.union([v.object({ id: v.number(), group: v.optional(v.string()) }), v.object({ ids: v.array(v.number()) })])
|
|
24
|
+
} satisfies ApiEndpointContract<UsersApi, '/users', 'POST'>;
|
|
25
25
|
|
|
26
26
|
function getUserId(input: UsersApi['requestInput']): number {
|
|
27
27
|
return 'id' in input ? input.id : input.ids[0]!;
|
|
@@ -49,39 +49,37 @@ describe('createQueryFunction', () => {
|
|
|
49
49
|
|
|
50
50
|
it('returns the same query instance for the same path, method, and input', async () => {
|
|
51
51
|
const { createQueryFunction } = await import('./entrypoint.svelte.js');
|
|
52
|
-
const request = createApiRequest<UsersApi>(
|
|
53
|
-
const createQuery = createQueryFunction<UsersApi>(request,
|
|
52
|
+
const request = createApiRequest<UsersApi>(API_URL, 'test');
|
|
53
|
+
const createQuery = createQueryFunction<UsersApi>(request, []);
|
|
54
54
|
|
|
55
|
-
const query1 = createQuery(
|
|
56
|
-
const query2 = createQuery(
|
|
57
|
-
const query3 = createQuery(
|
|
55
|
+
const query1 = createQuery(users_POST, { id: 1 });
|
|
56
|
+
const query2 = createQuery(users_POST, { id: 1 });
|
|
57
|
+
const query3 = createQuery(users_POST, { id: 2 });
|
|
58
58
|
|
|
59
59
|
expect(query1).toBe(query2);
|
|
60
60
|
expect(query3).not.toBe(query1);
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
it('reuses requestors so separate queries can batch together', async () => {
|
|
64
|
-
const { createQueryFunction } = await import('./entrypoint.svelte.js');
|
|
64
|
+
const { batchEndpoint, createQueryFunction } = await import('./entrypoint.svelte.js');
|
|
65
65
|
const fetchMock = vi.fn(async () => jsonFetchResponse({ 1: 'one', 2: 'two' }));
|
|
66
66
|
vi.stubGlobal('fetch', fetchMock);
|
|
67
67
|
vi.stubGlobal('fetch', fetchMock);
|
|
68
|
-
const request = createApiRequest<UsersApi>(
|
|
69
|
-
const createQuery = createQueryFunction<UsersApi>(request,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
});
|
|
78
|
-
}
|
|
68
|
+
const request = createApiRequest<UsersApi>(API_URL, 'test');
|
|
69
|
+
const createQuery = createQueryFunction<UsersApi>(request, [
|
|
70
|
+
batchEndpoint(users_POST, {
|
|
71
|
+
canBatch: () => 'users',
|
|
72
|
+
batchInput: (inputs) => ({ ids: inputs.map(getUserId) }),
|
|
73
|
+
unBatchOutput: async (inputs, outputs) => {
|
|
74
|
+
return inputs.map(() => {
|
|
75
|
+
return outputs;
|
|
76
|
+
});
|
|
79
77
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
78
|
+
})
|
|
79
|
+
]);
|
|
82
80
|
|
|
83
|
-
const query1 = createQuery(
|
|
84
|
-
const query2 = createQuery(
|
|
81
|
+
const query1 = createQuery(users_POST, { id: 1 });
|
|
82
|
+
const query2 = createQuery(users_POST, { id: 2 });
|
|
85
83
|
|
|
86
84
|
const p1 = query1.request();
|
|
87
85
|
const p2 = query2.request();
|