New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@zag-js/core

Package Overview
Dependencies
Maintainers
1
Versions
917
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zag-js/core - npm Package Compare versions

Comparing version 0.0.0-dev-20220526103846 to 0.0.0-dev-20220526115355

14

dist/guard-utils.d.ts
import { StateMachine as S } from "./types";
declare function or<TContext, TEvent extends S.EventObject>(...conditions: Array<S.Guard<TContext, TEvent>>): S.GuardHelper<TContext, TEvent>;
declare function and<TContext, TEvent extends S.EventObject>(...conditions: Array<S.Guard<TContext, TEvent>>): S.GuardHelper<TContext, TEvent>;
declare function not<TContext, TEvent extends S.EventObject>(condition: S.Guard<TContext, TEvent>): S.GuardHelper<TContext, TEvent>;
declare function or<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(...conditions: Array<S.Guard<TContext, TState, TEvent>>): S.GuardHelper<TContext, TState, TEvent>;
declare function and<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(...conditions: Array<S.Guard<TContext, TState, TEvent>>): S.GuardHelper<TContext, TState, TEvent>;
declare function not<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(condition: S.Guard<TContext, TState, TEvent>): S.GuardHelper<TContext, TState, TEvent>;
declare function isIn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(...values: TState["value"][]): S.GuardExpression<TContext, TState, TEvent>;
export declare const guards: {

@@ -9,10 +10,11 @@ or: typeof or;

not: typeof not;
isIn: typeof isIn;
};
export declare function choose<TContext, TState extends S.StateSchema, TEvent extends S.EventObject = S.AnyEventObject>(actions: Array<{
guard?: S.Guard<TContext, TEvent>;
guard?: S.Guard<TContext, TState, TEvent>;
actions: S.PureActions<TContext, TState, TEvent>;
}>): S.ChooseHelper<TContext, TState, TEvent>;
export declare function determineGuardFn<TContext, TEvent extends S.EventObject>(guard: S.Guard<TContext, TEvent> | undefined, guardMap: S.GuardMap<TContext, TEvent>): (context: TContext, event: TEvent) => boolean;
export declare function determineActionsFn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(values: S.Actions<TContext, TState, TEvent> | undefined, guardMap: S.GuardMap<TContext, TEvent>): (context: TContext, event: TEvent) => string | S.ExpressionWithMeta<TContext, TState, TEvent, void> | S.Action<TContext, TState, TEvent>[];
export declare function determineGuardFn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(guard: S.Guard<TContext, TState, TEvent> | undefined, guardMap: S.GuardMap<TContext, TState, TEvent>): (context: TContext, event: TEvent, meta: S.GuardMeta<TContext, TState, TEvent>) => boolean;
export declare function determineActionsFn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(values: S.Actions<TContext, TState, TEvent> | undefined, guardMap: S.GuardMap<TContext, TState, TEvent>): (context: TContext, event: TEvent, meta: S.GuardMeta<TContext, TState, TEvent>) => string | S.ExpressionWithMeta<TContext, TState, TEvent, void> | S.Action<TContext, TState, TEvent>[];
export {};
//# sourceMappingURL=guard-utils.d.ts.map

@@ -5,4 +5,4 @@ export { proxy, ref, snapshot, subscribe } from "valtio/vanilla";

export { mergeProps } from "./merge-props";
export type { StateFrom, ContextFrom, ServiceFrom, EventFrom } from "./type-utils";
export type { StateFrom, ContextFrom, EventFrom } from "./type-utils";
export type { StateMachine } from "./types";
//# sourceMappingURL=index.d.ts.map

@@ -124,12 +124,12 @@ var __defProp = Object.defineProperty;

var Truthy = () => true;
function exec(guardMap, ctx, event) {
function exec(guardMap, ctx, event, meta) {
return (guard) => {
var _a;
if (isString(guard)) {
return !!((_a = guardMap[guard]) == null ? void 0 : _a.call(guardMap, ctx, event));
return !!((_a = guardMap[guard]) == null ? void 0 : _a.call(guardMap, ctx, event, meta));
}
if (isFunction(guard)) {
return guard(ctx, event);
return guard(ctx, event, meta);
}
return guard.predicate(guardMap)(ctx, event);
return guard.predicate(guardMap)(ctx, event, meta);
};

@@ -139,3 +139,3 @@ }

return {
predicate: (guardMap) => (ctx, event) => conditions.map(exec(guardMap, ctx, event)).some(Boolean)
predicate: (guardMap) => (ctx, event, meta) => conditions.map(exec(guardMap, ctx, event, meta)).some(Boolean)
};

@@ -145,3 +145,3 @@ }

return {
predicate: (guardMap) => (ctx, event) => conditions.map(exec(guardMap, ctx, event)).every(Boolean)
predicate: (guardMap) => (ctx, event, meta) => conditions.map(exec(guardMap, ctx, event, meta)).every(Boolean)
};

@@ -151,11 +151,14 @@ }

return {
predicate: (guardMap) => (ctx, event) => {
return !exec(guardMap, ctx, event)(condition);
predicate: (guardMap) => (ctx, event, meta) => {
return !exec(guardMap, ctx, event, meta)(condition);
}
};
}
var guards = { or, and, not };
function isIn(...values) {
return (_ctx, _evt, meta) => meta.state.matches(...values);
}
var guards = { or, and, not, isIn };
function choose(actions) {
return {
predicate: (guardMap) => (ctx, event) => {
predicate: (guardMap) => (ctx, event, meta) => {
var _a;

@@ -165,3 +168,3 @@ return (_a = actions.find((def) => {

const guard = (_a2 = def.guard) != null ? _a2 : Truthy;
return exec(guardMap, ctx, event)(guard);
return exec(guardMap, ctx, event, meta)(guard);
})) == null ? void 0 : _a.actions;

@@ -173,17 +176,17 @@ }

guard = guard != null ? guard : Truthy;
return (context, event) => {
return (context, event, meta) => {
if (isString(guard)) {
const value = guardMap[guard];
return isFunction(value) ? value(context, event) : value;
return isFunction(value) ? value(context, event, meta) : value;
}
if (isGuardHelper(guard)) {
return guard.predicate(guardMap)(context, event);
return guard.predicate(guardMap)(context, event, meta);
}
return guard == null ? void 0 : guard(context, event);
return guard == null ? void 0 : guard(context, event, meta);
};
}
function determineActionsFn(values, guardMap) {
return (context, event) => {
return (context, event, meta) => {
if (isGuardHelper(values)) {
return values.predicate(guardMap)(context, event);
return values.predicate(guardMap)(context, event, meta);
}

@@ -263,7 +266,7 @@ return values;

function determineTransitionFn(transitions, guardMap) {
return (context, event) => {
return (context, event, meta) => {
return toArray(transitions).map(toTarget).find((transition) => {
var _a;
const determineGuard = determineGuardFn(transition.guard, guardMap);
const guard = determineGuard(context, event);
const guard = determineGuard(context, event, meta);
return (_a = guard != null ? guard : transition.target) != null ? _a : transition.actions;

@@ -535,3 +538,3 @@ });

var _a;
const _actions = determineActionsFn(actions, this.guardMap)(this.contextSnapshot, event);
const _actions = determineActionsFn(actions, this.guardMap)(this.contextSnapshot, event, this.guardMeta);
for (const action of toArray(_actions)) {

@@ -566,3 +569,3 @@ const fn = isString(action) ? (_a = this.actionMap) == null ? void 0 : _a[action] : action;

const determineGuard = determineGuardFn(t.guard, this.guardMap);
const guard = determineGuard(this.contextSnapshot, event);
const guard = determineGuard(this.contextSnapshot, event, this.guardMeta);
return guard != null ? guard : t.delay;

@@ -607,3 +610,3 @@ });

this.stopActivities(currentState);
const _exit = determineActionsFn(stateNode == null ? void 0 : stateNode.exit, this.guardMap)(this.contextSnapshot, event);
const _exit = determineActionsFn(stateNode == null ? void 0 : stateNode.exit, this.guardMap)(this.contextSnapshot, event, this.guardMeta);
const exitActions = toArray(_exit);

@@ -626,3 +629,3 @@ const afterExitActions = this.delayedEvents.get(currentState);

}
const _entry = determineActionsFn(stateNode == null ? void 0 : stateNode.entry, this.guardMap)(this.contextSnapshot, event);
const _entry = determineActionsFn(stateNode == null ? void 0 : stateNode.entry, this.guardMap)(this.contextSnapshot, event, this.guardMeta);
const entryActions = toArray(_entry);

@@ -663,3 +666,3 @@ const afterActions = this.getDelayedEventActions(next);

const fn = determineTransitionFn(transition, this.guardMap);
return fn == null ? void 0 : fn(this.contextSnapshot, event);
return fn == null ? void 0 : fn(this.contextSnapshot, event, this.guardMeta);
};

@@ -765,2 +768,7 @@ this.sendParent = (evt) => {

}
get guardMeta() {
return {
state: this.stateSnapshot
};
}
get [Symbol.toStringTag]() {

@@ -767,0 +775,0 @@ return "Machine";

@@ -73,2 +73,3 @@ import { Dict, MachineStatus, MachineType, StateMachine as S, Writable } from "./types";

private get meta();
private get guardMeta();
/**

@@ -75,0 +76,0 @@ * Function to executes defined actions. It can accept actions as string

@@ -13,4 +13,4 @@ import type { StateMachine as S } from "./types";

export declare function toTarget<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(target: S.Transition<TContext, TState, TEvent>): S.TransitionDefinition<TContext, TState, TEvent>;
export declare function determineTransitionFn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(transitions: S.Transitions<TContext, TState, TEvent> | undefined, guardMap: S.GuardMap<TContext, TEvent>): (context: TContext, event: TEvent) => S.TransitionDefinition<TContext, TState, TEvent>;
export declare function determineTransitionFn<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(transitions: S.Transitions<TContext, TState, TEvent> | undefined, guardMap: S.GuardMap<TContext, TState, TEvent>): (context: TContext, event: TEvent, meta: S.GuardMeta<TContext, TState, TEvent>) => S.TransitionDefinition<TContext, TState, TEvent>;
export declare function toTransition<TContext, TState extends S.StateSchema, TEvent extends S.EventObject>(transition: S.Transitions<TContext, TState, TEvent> | undefined, current?: TState["value"] | null): S.TransitionDefinition<TContext, TState, TEvent> | S.TransitionDefinition<TContext, TState, TEvent>[];
//# sourceMappingURL=transition-utils.d.ts.map

@@ -41,3 +41,3 @@ export declare type Dict<T = any> = Record<string, T>;

getAction: (key: string) => ExpressionWithMeta<TContext, TState, TEvent, void>;
getGuard: (key: string) => GuardExpression<TContext, TEvent>;
getGuard: (key: string) => GuardExpression<TContext, TState, TEvent>;
};

@@ -59,3 +59,3 @@ type ExpressionWithMeta<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject, TReturn> = (context: TContext, event: TEvent, meta: Meta<TContext, TState, TEvent>) => TReturn;

actions?: Actions<TContext, TState, TEvent>;
guard?: Guard<TContext, TEvent>;
guard?: Guard<TContext, TState, TEvent>;
};

@@ -129,15 +129,18 @@ type DelayExpression<TContext, TEvent extends EventObject> = Expression<TContext, TEvent, number>;

actions: Actions<TContext, TState, TEvent>;
guard?: Guard<TContext, TEvent>;
guard?: Guard<TContext, TState, TEvent>;
}>;
}
type GuardExpression<TContext, TEvent extends EventObject> = Expression<TContext, TEvent, boolean>;
type GuardHelper<TContext extends Dict, TEvent extends EventObject> = {
predicate: (guards: Dict) => GuardExpression<TContext, TEvent>;
type GuardMeta<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> = {
state: State<TContext, TState, TEvent>;
};
type GuardExpression<TContext, TState extends StateSchema, TEvent extends EventObject, TReturn = boolean> = (context: TContext, event: TEvent, guardMeta: GuardMeta<TContext, TState, TEvent>) => TReturn;
type GuardHelper<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> = {
predicate: (guards: Dict) => GuardExpression<TContext, TState, TEvent>;
};
type ChooseHelper<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> = {
predicate: (guards: Dict) => Expression<TContext, TEvent, PureActions<TContext, TState, TEvent> | undefined>;
predicate: (guards: Dict) => GuardExpression<TContext, TState, TEvent, PureActions<TContext, TState, TEvent> | undefined>;
};
type Guard<TContext extends Dict, TEvent extends EventObject> = string | GuardExpression<TContext, TEvent> | GuardHelper<TContext, TEvent>;
type GuardMap<TContext extends Dict, TEvent extends EventObject> = {
[guard: string]: GuardExpression<TContext, TEvent>;
type Guard<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> = string | GuardExpression<TContext, TState, TEvent> | GuardHelper<TContext, TState, TEvent>;
type GuardMap<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> = {
[guard: string]: GuardExpression<TContext, TState, TEvent>;
};

@@ -228,3 +231,3 @@ type StateSchema = {

interface MachineOptions<TContext extends Dict, TState extends StateSchema, TEvent extends EventObject> {
guards?: GuardMap<TContext, TEvent>;
guards?: GuardMap<TContext, TState, TEvent>;
actions?: ActionMap<TContext, TState, TEvent>;

@@ -231,0 +234,0 @@ delays?: DelayMap<TContext, TEvent>;

@@ -1,8 +0,8 @@

import type { StateMachine as S } from "./types";
import type { Dict, StateMachine as S } from "./types";
export declare function toEvent<T extends S.EventObject>(event: S.Event<T>): T;
export declare function toArray<T>(value: T | T[] | undefined): T[];
export declare function isGuardHelper(value: any): value is {
predicate: Function;
predicate: (guards: Dict) => any;
};
export declare function subscribeKey<T extends object, K extends keyof T>(obj: T, key: K, fn: (value: T[K]) => void, sync?: boolean): () => void;
//# sourceMappingURL=utils.d.ts.map
{
"name": "@zag-js/core",
"version": "0.0.0-dev-20220526103846",
"version": "0.0.0-dev-20220526115355",
"description": "A minimal implementation of xstate fsm for UI machines",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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