Socket
Socket
Sign inDemoInstall

@effect/stm

Package Overview
Dependencies
Maintainers
3
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@effect/stm - npm Package Compare versions

Comparing version 0.0.6 to 0.0.7

internal/opCodes/strategy.d.ts

34

internal/stm.js

@@ -6,4 +6,4 @@ "use strict";

});
exports.unit = exports.tryCatch = exports.tapError = exports.tapBoth = exports.tap = exports.suspend = exports.summarized = exports.succeedSome = exports.succeedRight = exports.succeedNone = exports.succeedLeft = exports.someOrFailException = exports.someOrFail = exports.someOrElseSTM = exports.someOrElse = exports.some = exports.serviceWithSTM = exports.serviceWith = exports.service = exports.right = exports.retryWhile = exports.retryUntil = exports.replicateSTMDiscard = exports.replicateSTM = exports.replicate = exports.repeatWhile = exports.repeatUntil = exports.rejectSTM = exports.reject = exports.refineOrDieWith = exports.refineOrDie = exports.reduceRight = exports.reduceAll = exports.reduce = exports.provideEnvironment = exports.partition = exports.orElseSucceed = exports.orElseOptional = exports.orElseFail = exports.orElseEither = exports.orElse = exports.orDieWith = exports.orDie = exports.option = exports.none = exports.negate = exports.mergeAll = exports.merge = exports.mapError = exports.mapBoth = exports.mapAttempt = exports.loopDiscard = exports.loop = exports.left = exports.iterate = exports.isSuccess = exports.isFailure = exports.ignore = exports.ifSTM = exports.head = exports.fromOption = exports.fromEither = exports.forEachDiscard = exports.forEach = exports.fold = exports.flipWith = exports.flip = exports.flattenErrorOption = exports.flatten = exports.flatMapError = exports.filterOrFail = exports.filterOrElseWith = exports.filterOrElse = exports.filterOrDieMessage = exports.filterOrDie = exports.filterNot = exports.filter = exports.fiberId = exports.exists = exports.every = exports.eventually = exports.environmentWithSTM = exports.environmentWith = exports.environment = exports.either = exports.cond = exports.commitEither = exports.collectSTM = exports.collectFirst = exports.collectAllDiscard = exports.collectAll = exports.collect = exports.check = exports.catchSome = exports.attempt = exports.asSomeError = exports.asSome = exports.as = exports.acquireUseRelease = exports.absolve = void 0;
exports.whenSTM = exports.whenCaseSTM = exports.whenCase = exports.when = exports.validateFirst = exports.validateAll = exports.unsome = exports.unright = exports.unlessSTM = exports.unless = exports.unleft = void 0;
exports.tryCatch = exports.tapError = exports.tapBoth = exports.tap = exports.suspend = exports.summarized = exports.succeedSome = exports.succeedRight = exports.succeedNone = exports.succeedLeft = exports.struct = exports.someOrFailException = exports.someOrFail = exports.someOrElseSTM = exports.someOrElse = exports.some = exports.serviceWithSTM = exports.serviceWith = exports.service = exports.right = exports.retryWhile = exports.retryUntil = exports.replicateSTMDiscard = exports.replicateSTM = exports.replicate = exports.repeatWhile = exports.repeatUntil = exports.rejectSTM = exports.reject = exports.refineOrDieWith = exports.refineOrDie = exports.reduceRight = exports.reduceAll = exports.reduce = exports.provideEnvironment = exports.partition = exports.orElseSucceed = exports.orElseOptional = exports.orElseFail = exports.orElseEither = exports.orElse = exports.orDieWith = exports.orDie = exports.option = exports.none = exports.negate = exports.mergeAll = exports.merge = exports.mapError = exports.mapBoth = exports.mapAttempt = exports.loopDiscard = exports.loop = exports.left = exports.iterate = exports.isSuccess = exports.isFailure = exports.ignore = exports.ifSTM = exports.head = exports.fromOption = exports.fromEither = exports.forEachDiscard = exports.forEach = exports.fold = exports.flipWith = exports.flip = exports.flattenErrorOption = exports.flatten = exports.flatMapError = exports.filterOrFail = exports.filterOrElseWith = exports.filterOrElse = exports.filterOrDieMessage = exports.filterOrDie = exports.filterNot = exports.filter = exports.fiberId = exports.exists = exports.every = exports.eventually = exports.environmentWithSTM = exports.environmentWith = exports.environment = exports.either = exports.cond = exports.commitEither = exports.collectSTM = exports.collectFirst = exports.collectAllDiscard = exports.collectAll = exports.collect = exports.check = exports.catchSome = exports.attempt = exports.asSomeError = exports.asSome = exports.as = exports.acquireUseRelease = exports.absolve = void 0;
exports.whenSTM = exports.whenCaseSTM = exports.whenCase = exports.when = exports.validateFirst = exports.validateAll = exports.unsome = exports.unright = exports.unlessSTM = exports.unless = exports.unleft = exports.unit = exports.tuple = void 0;
var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Cause"));

@@ -41,8 +41,8 @@ var _Debug = /*#__PURE__*/require("@effect/io/Debug");

let state = STMState.running;
return Effect.foldCauseEffect(cause => {
return Effect.matchCauseEffect(cause => {
if (STMState.isDone(state) && Exit.isSuccess(state.exit)) {
return Effect.foldCauseEffect(cause2 => Effect.failCause(Cause.parallel(cause, cause2)), () => Effect.failCause(cause))(release(state.exit.value));
return Effect.matchCauseEffect(cause2 => Effect.failCause(Cause.parallel(cause, cause2)), () => Effect.failCause(cause))(release(state.exit.value));
}
return Effect.failCause(cause);
}, a => Effect.foldCauseEffect(cause => Effect.foldCauseEffect(cause2 => Effect.failCause(Cause.parallel(cause, cause2)), () => Effect.failCause(cause))(release(a)), a2 => Effect.as(a2)(release(a)))(restore(use(a))))(restore(core.unsafeAtomically(acquire, exit => {
}, a => Effect.matchCauseEffect(cause => Effect.matchCauseEffect(cause2 => Effect.failCause(Cause.parallel(cause, cause2)), () => Effect.failCause(cause))(release(a)), a2 => Effect.as(a2)(release(a)))(restore(use(a))))(restore(core.unsafeAtomically(acquire, exit => {
state = STMState.done(exit);

@@ -914,2 +914,17 @@ }, () => {

exports.someOrFailException = someOrFailException;
const struct = r => {
const trace = (0, _Debug.getCallTrace)();
return core.map(values => {
const res = {};
for (const [k, v] of values) {
res[k] = v;
}
return res;
})(forEach(([_, e]) => core.map(a => [_, a])(e))(Object.entries(r))).traced(trace);
};
/**
* @macro traced
* @internal
*/
exports.struct = struct;
const succeedLeft = value => {

@@ -1011,2 +1026,11 @@ const trace = (0, _Debug.getCallTrace)();

exports.tryCatch = tryCatch;
const tuple = (...t) => {
const trace = (0, _Debug.getCallTrace)();
return core.map(Chunk.toReadonlyArray)(collectAll(t)).traced(trace);
};
/**
* @macro traced
* @internal
*/
exports.tuple = tuple;
const unit = () => {

@@ -1013,0 +1037,0 @@ const trace = (0, _Debug.getCallTrace)();

6

package.json
{
"name": "@effect/stm",
"version": "0.0.6",
"version": "0.0.7",
"license": "MIT",

@@ -10,5 +10,5 @@ "repository": {

"dependencies": {
"@effect/io": "~0.0.42",
"@effect/io": "~0.0.44",
"@fp-ts/core": "~0.0.11",
"@fp-ts/data": "~0.0.28"
"@fp-ts/data": "~0.0.31"
},

@@ -15,0 +15,0 @@ "publishConfig": {

@@ -7,5 +7,7 @@ import * as Cause from "@effect/io/Cause"

import * as effectCore from "@effect/io/internal/core"
import type { EnforceNonEmptyRecord } from "@effect/io/src/internal/types"
import * as core from "@effect/stm/internal/core"
import * as Journal from "@effect/stm/internal/stm/journal"
import * as STMState from "@effect/stm/internal/stm/stmState"
import type { NonEmptyArraySTM, TupleSTM } from "@effect/stm/internal/types"
import type * as STM from "@effect/stm/STM"

@@ -53,3 +55,3 @@ import * as Chunk from "@fp-ts/data/Chunk"

),
Effect.foldCauseEffect(
Effect.matchCauseEffect(
(cause) => {

@@ -59,3 +61,3 @@ if (STMState.isDone(state) && Exit.isSuccess(state.exit)) {

release(state.exit.value),
Effect.foldCauseEffect(
Effect.matchCauseEffect(
(cause2) => Effect.failCause(Cause.parallel(cause, cause2)),

@@ -71,7 +73,7 @@ () => Effect.failCause(cause)

restore(use(a)),
Effect.foldCauseEffect(
Effect.matchCauseEffect(
(cause) =>
pipe(
release(a),
Effect.foldCauseEffect(
Effect.matchCauseEffect(
(cause2) => Effect.failCause(Cause.parallel(cause, cause2)),

@@ -1180,2 +1182,29 @@ () => Effect.failCause(cause)

*/
export const struct = <NER extends Record<string, STM.STM<any, any, any>>>(
r: EnforceNonEmptyRecord<NER> | Record<string, STM.STM<any, any, any>>
): STM.STM<
[NER[keyof NER]] extends [{ [core.STMTypeId]: { _R: (_: never) => infer R } }] ? R : never,
[NER[keyof NER]] extends [{ [core.STMTypeId]: { _E: (_: never) => infer E } }] ? E : never,
{
[K in keyof NER]: [NER[K]] extends [{ [core.STMTypeId]: { _A: (_: never) => infer A } }] ? A : never
}
> => {
const trace = getCallTrace()
return pipe(
Object.entries(r),
forEach(([_, e]) => pipe(e, core.map((a) => [_, a] as const))),
core.map((values) => {
const res = {}
for (const [k, v] of values) {
res[k] = v
}
return res
})
).traced(trace) as any
}
/**
* @macro traced
* @internal
*/
export const succeedLeft = <A>(value: A): STM.STM<never, never, Either.Either<A, never>> => {

@@ -1306,2 +1335,17 @@ const trace = getCallTrace()

*/
export const tuple = <T extends NonEmptyArraySTM>(
...t: T
): STM.STM<
[T[number]] extends [{ [core.STMTypeId]: { _R: (_: never) => infer R } }] ? R : never,
[T[number]] extends [{ [core.STMTypeId]: { _E: (_: never) => infer E } }] ? E : never,
TupleSTM<T>
> => {
const trace = getCallTrace()
return pipe(collectAll(t), core.map(Chunk.toReadonlyArray)).traced(trace) as any
}
/**
* @macro traced
* @internal
*/
export const unit = (): STM.STM<never, never, void> => {

@@ -1308,0 +1352,0 @@ const trace = getCallTrace()

@@ -7,4 +7,6 @@ /**

import type * as FiberId from "@effect/io/Fiber/Id"
import type { EnforceNonEmptyRecord } from "@effect/io/src/internal/types"
import * as core from "@effect/stm/internal/core"
import * as stm from "@effect/stm/internal/stm"
import type { NonEmptyArraySTM, TupleSTM } from "@effect/stm/internal/types"
import type * as Chunk from "@fp-ts/data/Chunk"

@@ -1271,3 +1273,19 @@ import type * as Context from "@fp-ts/data/Context"

) => STM<R, E | Cause.NoSuchElementException, A> = stm.someOrFailException
/**
* @macro traced
* @since 1.0.0
* @category constructors
*/
export const struct: <NER extends Record<string, STM<any, any, any>>>(
r: EnforceNonEmptyRecord<NER> | Record<string, STM<any, any, any>>
) => STM<
[NER[keyof NER]] extends [{ [STMTypeId]: { _R: (_: never) => infer R } }] ? R : never,
[NER[keyof NER]] extends [{ [STMTypeId]: { _E: (_: never) => infer E } }] ? E : never,
{
[K in keyof NER]: [NER[K]] extends [{ [STMTypeId]: { _A: (_: never) => infer A } }] ? A : never
}
> = stm.struct
/**
* Returns an `STM` effect that succeeds with the specified value.

@@ -1394,2 +1412,17 @@ *

/**
* Like `forEach` + `identity` with a tuple type.
*
* @macro traced
* @since 1.0.0
* @category constructors
*/
export const tuple: <T extends NonEmptyArraySTM>(
...t: T
) => STM<
[T[number]] extends [{ [STMTypeId]: { _R: (_: never) => infer R } }] ? R : never,
[T[number]] extends [{ [STMTypeId]: { _E: (_: never) => infer E } }] ? E : never,
TupleSTM<T>
> = stm.tuple
/**
* Converts a `STM<R, Either<E, A>, A2>` into a `STM<R, E, Either<A2, A>>`.

@@ -1396,0 +1429,0 @@ * The inverse of `left`.

@@ -7,2 +7,4 @@ /**

import type * as FiberId from "@effect/io/Fiber/Id";
import type { EnforceNonEmptyRecord } from "@effect/io/src/internal/types";
import type { NonEmptyArraySTM, TupleSTM } from "@effect/stm/internal/types";
import type * as Chunk from "@fp-ts/data/Chunk";

@@ -1038,2 +1040,26 @@ import type * as Context from "@fp-ts/data/Context";

/**
* @macro traced
* @since 1.0.0
* @category constructors
*/
export declare const struct: <NER extends Record<string, STM<any, any, any>>>(r: EnforceNonEmptyRecord<NER> | Record<string, STM<any, any, any>>) => STM<[
NER[keyof NER]
] extends [{
[STMTypeId]: {
_R: (_: never) => infer R;
};
}] ? R : never, [
NER[keyof NER]
] extends [{
[STMTypeId]: {
_E: (_: never) => infer E;
};
}] ? E : never, {
[K in keyof NER]: [NER[K]] extends [{
[STMTypeId]: {
_A: (_: never) => infer A;
};
}] ? A : never;
}>;
/**
* Returns an `STM` effect that succeeds with the specified value.

@@ -1139,2 +1165,22 @@ *

/**
* Like `forEach` + `identity` with a tuple type.
*
* @macro traced
* @since 1.0.0
* @category constructors
*/
export declare const tuple: <T extends NonEmptyArraySTM>(...t: T) => STM<[
T[number]
] extends [{
[STMTypeId]: {
_R: (_: never) => infer R;
};
}] ? R : never, [
T[number]
] extends [{
[STMTypeId]: {
_E: (_: never) => infer E;
};
}] ? E : never, TupleSTM<T>>;
/**
* Converts a `STM<R, Either<E, A>, A2>` into a `STM<R, E, Either<A2, A>>`.

@@ -1141,0 +1187,0 @@ * The inverse of `left`.

@@ -7,3 +7,3 @@ "use strict";

exports.serviceWith = exports.service = exports.right = exports.retryWhile = exports.retryUntil = exports.retry = exports.replicateSTMDiscard = exports.replicateSTM = exports.replicate = exports.repeatWhile = exports.repeatUntil = exports.rejectSTM = exports.reject = exports.refineOrDieWith = exports.refineOrDie = exports.reduceRight = exports.reduceAll = exports.reduce = exports.provideSomeEnvironment = exports.provideEnvironment = exports.partition = exports.orTry = exports.orElseSucceed = exports.orElseOptional = exports.orElseFail = exports.orElseEither = exports.orElse = exports.orDieWith = exports.orDie = exports.option = exports.none = exports.negate = exports.mergeAll = exports.merge = exports.mapError = exports.mapBoth = exports.mapAttempt = exports.map = exports.loopDiscard = exports.loop = exports.left = exports.iterate = exports.isSuccess = exports.isFailure = exports.interruptWith = exports.interrupt = exports.ignore = exports.ifSTM = exports.head = exports.fromOption = exports.fromEither = exports.forEachDiscard = exports.forEach = exports.foldSTM = exports.fold = exports.flipWith = exports.flip = exports.flattenErrorOption = exports.flatten = exports.flatMapError = exports.flatMap = exports.filterOrFail = exports.filterOrElseWith = exports.filterOrElse = exports.filterOrDieMessage = exports.filterOrDie = exports.filterNot = exports.filter = exports.fiberId = exports.failSync = exports.fail = exports.exists = exports.every = exports.eventually = exports.environmentWithSTM = exports.environmentWith = exports.environment = exports.ensuring = exports.either = exports.dieSync = exports.dieMessage = exports.die = exports.cond = exports.commitEither = exports.commit = exports.collectSTM = exports.collectFirst = exports.collectAllDiscard = exports.collectAll = exports.collect = exports.check = exports.catchSome = exports.catchAll = exports.attempt = exports.asSomeError = exports.asSome = exports.as = exports.acquireUseRelease = exports.absolve = exports.STMTypeId = void 0;
exports.zipWith = exports.zipRight = exports.zipLeft = exports.zip = exports.whenSTM = exports.whenCaseSTM = exports.whenCase = exports.when = exports.validateFirst = exports.validateAll = exports.unsome = exports.unright = exports.unlessSTM = exports.unless = exports.unleft = exports.unit = exports.tryCatch = exports.tapError = exports.tapBoth = exports.tap = exports.sync = exports.suspend = exports.summarized = exports.succeedSome = exports.succeedRight = exports.succeedNone = exports.succeedLeft = exports.succeed = exports.someOrFailException = exports.someOrFail = exports.someOrElseSTM = exports.someOrElse = exports.some = exports.serviceWithSTM = void 0;
exports.zipWith = exports.zipRight = exports.zipLeft = exports.zip = exports.whenSTM = exports.whenCaseSTM = exports.whenCase = exports.when = exports.validateFirst = exports.validateAll = exports.unsome = exports.unright = exports.unlessSTM = exports.unless = exports.unleft = exports.unit = exports.tuple = exports.tryCatch = exports.tapError = exports.tapBoth = exports.tap = exports.sync = exports.suspend = exports.summarized = exports.succeedSome = exports.succeedRight = exports.succeedNone = exports.succeedLeft = exports.succeed = exports.struct = exports.someOrFailException = exports.someOrFail = exports.someOrElseSTM = exports.someOrElse = exports.some = exports.serviceWithSTM = void 0;
var core = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stm/internal/core"));

@@ -1082,2 +1082,9 @@ var stm = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stm/internal/stm"));

/**
* @macro traced
* @since 1.0.0
* @category constructors
*/
exports.someOrFailException = someOrFailException;
const struct = stm.struct;
/**
* Returns an `STM` effect that succeeds with the specified value.

@@ -1089,3 +1096,3 @@ *

*/
exports.someOrFailException = someOrFailException;
exports.struct = struct;
const succeed = core.succeed;

@@ -1196,2 +1203,11 @@ /**

/**
* Like `forEach` + `identity` with a tuple type.
*
* @macro traced
* @since 1.0.0
* @category constructors
*/
exports.tryCatch = tryCatch;
const tuple = stm.tuple;
/**
* Converts a `STM<R, Either<E, A>, A2>` into a `STM<R, E, Either<A2, A>>`.

@@ -1204,3 +1220,3 @@ * The inverse of `left`.

*/
exports.tryCatch = tryCatch;
exports.tuple = tuple;
const unleft = stm.unleft;

@@ -1207,0 +1223,0 @@ /**

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