Socket
Socket
Sign inDemoInstall

server-act

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

server-act - npm Package Compare versions

Comparing version 1.1.3 to 1.1.4

LICENSE

15

dist/index.d.ts
import { z } from 'zod';
declare const unsetMarker: unique symbol;
type UnsetMarker = typeof unsetMarker;
type Prettify<T> = {
[P in keyof T]: T[P];
} & {};
declare const unsetMarker: unique symbol;
type UnsetMarker = typeof unsetMarker;
type OptionalizeUndefined<T> = undefined extends T ? [param?: T] : [param: T];
type InferParserType<TParser, TType extends 'in' | 'out'> = TParser extends UnsetMarker ? undefined : TParser extends z.ZodType ? TParser[TType extends 'in' ? '_input' : '_output'] : never;
type InferParserType<T, TType extends 'in' | 'out'> = T extends z.ZodEffects<infer I, any, any> ? I[TType extends 'in' ? '_input' : '_output'] : T extends z.ZodType ? T[TType extends 'in' ? '_input' : '_output'] : never;
type InferInputType<T, TType extends 'in' | 'out'> = T extends UnsetMarker ? undefined : InferParserType<T, TType>;
type InferContextType<T> = T extends UnsetMarker ? undefined : T;

@@ -35,4 +36,4 @@ interface ActionParams<TInput = unknown, TContext = unknown> {

ctx: InferContextType<TParams['_context']>;
input: InferParserType<TParams['_input'], 'out'>;
}) => Promise<TOutput>) => (...[input]: OptionalizeUndefined<InferParserType<TParams['_input'], 'in'>>) => Promise<TOutput>;
input: InferInputType<TParams['_input'], 'out'>;
}) => Promise<TOutput>) => (...[input]: OptionalizeUndefined<InferInputType<TParams['_input'], 'in'>>) => Promise<TOutput>;
/**

@@ -45,7 +46,7 @@ * Create an action for React `useFormState`

} & ({
input: InferParserType<TParams['_input'], 'out'>;
input: InferInputType<TParams['_input'], 'out'>;
formErrors?: undefined;
} | {
input?: undefined;
formErrors: z.ZodError<TParams['_input'] extends z.ZodEffects<infer T, unknown, unknown> ? InferParserType<T, 'in'> : InferParserType<TParams['_input'], 'in'>>;
formErrors: z.ZodError<InferInputType<TParams['_input'], 'in'>>;
})>) => Promise<TState>) => (prevState: TState, formData: FormData) => Promise<TState>;

@@ -52,0 +53,0 @@ }

@@ -1,74 +0,108 @@

"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
Object.defineProperty(exports, '__esModule', { value: true });
// src/index.ts
var src_exports = {};
__export(src_exports, {
serverAct: () => serverAct
});
module.exports = __toCommonJS(src_exports);
var unsetMarker = Symbol("unsetMarker");
var createNewServerActionBuilder = (def) => {
return createServerActionBuilder(def);
/* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-explicit-any */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _async_to_generator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
function _extends() {
_extends = Object.assign || function(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i];
for(var key in source){
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
const createNewServerActionBuilder = (def)=>{
return createServerActionBuilder(def);
};
var createServerActionBuilder = (initDef = {}) => {
const _def = {
input: void 0,
middleware: void 0,
...initDef
};
return {
middleware: (middleware) => createServerActionBuilder({ ..._def, middleware }),
input: (input) => createNewServerActionBuilder({ ..._def, input }),
action: (action) => {
return async (input) => {
var _a;
const ctx = await ((_a = _def.middleware) == null ? void 0 : _a.call(_def));
if (_def.input) {
const result = _def.input.safeParse(input);
if (!result.success) {
console.error("\u274C Input validation error:", result.error.errors);
throw new Error("Input validation error");
}
const createServerActionBuilder = (initDef = {})=>{
const _def = _extends({
input: undefined,
middleware: undefined
}, initDef);
return {
middleware: (middleware)=>createNewServerActionBuilder(_extends({}, _def, {
middleware
})),
input: (input)=>createNewServerActionBuilder(_extends({}, _def, {
input
})),
action: (action)=>{
return /*#__PURE__*/ _async_to_generator(function*(input) {
const ctx = yield _def.middleware == null ? void 0 : _def.middleware.call(_def);
if (_def.input) {
const result = _def.input.safeParse(input);
if (!result.success) {
console.error('❌ Input validation error:', result.error.errors);
throw new Error('Input validation error');
}
}
return yield action({
ctx,
input
});
});
},
formAction: (action)=>{
return /*#__PURE__*/ _async_to_generator(function*(prevState, formData) {
const ctx = yield _def.middleware == null ? void 0 : _def.middleware.call(_def);
if (_def.input) {
const result = _def.input.safeParse(formData);
if (!result.success) {
return yield action({
ctx,
prevState,
formErrors: result.error
});
}
return yield action({
ctx,
prevState,
input: result.data
});
}
return yield action({
ctx,
prevState,
input: undefined
});
});
}
return await action({ ctx, input });
};
},
formAction: (action) => {
return async (prevState, formData) => {
var _a;
const ctx = await ((_a = _def.middleware) == null ? void 0 : _a.call(_def));
if (_def.input) {
const result = _def.input.safeParse(formData);
if (!result.success) {
return await action({ ctx, prevState, formErrors: result.error });
}
return await action({ ctx, prevState, input: result.data });
}
return await action({ ctx, prevState, input: void 0 });
};
}
};
};
};
var serverAct = createServerActionBuilder();
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
serverAct
});
//# sourceMappingURL=index.js.map
/**
* Server action builder
*/ const serverAct = createServerActionBuilder();
exports.serverAct = serverAct;
{
"name": "server-act",
"version": "1.1.3",
"version": "1.1.4",
"homepage": "https://github.com/chungweileong94/server-act#readme",

@@ -14,11 +14,21 @@ "repository": {

"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./package.json": "./package.json"
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
},
"files": [
"dist",
"package.json",
"LICENSE",
"README.md"
],
"keywords": [

@@ -38,6 +48,6 @@ "next",

"devDependencies": {
"bunchee": "^4.3.3",
"eslint": "^8.49.0",
"eslint-config-whiteroom": "^3.3.0",
"prettier": "^3.0.3",
"tsup": "^7.2.0",
"typescript": "^5.2.2",

@@ -57,3 +67,4 @@ "zod": "^3.22.2",

"scripts": {
"build": "tsup",
"build": "bunchee",
"dev": "bunchee -w",
"test": "vitest run",

@@ -60,0 +71,0 @@ "lint": "eslint src --ext .ts"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc