Socket
Socket
Sign inDemoInstall

@effect/rpc

Package Overview
Dependencies
Maintainers
3
Versions
255
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@effect/rpc - npm Package Compare versions

Comparing version 0.12.0 to 0.12.1

dist/server-53da2064.cjs.prod.js

108

internal/server.esm.js

@@ -34,56 +34,62 @@ import * as Schema from '@effect/schema/Schema';

const hasSetup = ("__setup" in router.handlers);
const handler = (runtimeRef, scope) => request => pipe(Effect.Do, Effect.bind("codecs", () => Either.fromNullable(codecsMap[request._tag], () => RpcNotFound({
method: request._tag ?? ""
}))), Effect.bind("handler", () => Either.fromNullable(handlerMap[request._tag], () => RpcNotFound({
method: request._tag
}))), Effect.bind("input", ({
codecs
}) => codecs.input ? codecs.input(request.input) : Effect.unit), Effect.flatMap(({
codecs,
handler,
input
}) => {
const effect = Effect.isEffect(handler) ? handler : handler(input);
if (request._tag === "__setup" && runtimeRef && scope) {
return pipe(Ref.get(runtimeRef), Effect.flatMap(Option.match({
onNone: () => Effect.tap(Layer.isLayer(effect) ? Layer.toRuntime(effect) : Effect.flatMap(effect, context => Effect.provide(Effect.runtime(), context)), _ => Ref.set(runtimeRef, Option.some(_))),
onSome: () => Effect.unit
})), Effect.asUnit, Effect.either, Effect.provideService(Scope, scope));
}
return pipe(runtimeRef ? Effect.flatMap(Ref.get(runtimeRef), Option.match({
onNone: () => Effect.fail(RpcTransportError({
error: "__setup not called"
})),
onSome: runtime => Effect.provide(effect, runtime)
})) : effect, Effect.matchEffect({
onFailure: error => Effect.map(codecs.error(error), Either.left),
onSuccess: value => codecs.output ? Effect.map(codecs.output(value), Either.right) : Effect.succeed(Either.right(null))
}));
}), Effect.matchCause({
onFailure: cause => ({
_tag: "Error",
error: Either.match(Cause.failureOrCause(cause), {
onLeft: identity,
onRight: cause => RpcTransportError({
error: Cause.pretty(cause)
const handler = (runtimeRef, scope) => request => {
const responseEffect = pipe(Effect.Do, Effect.bind("codecs", () => Either.fromNullable(codecsMap[request._tag], () => RpcNotFound({
method: request._tag ?? ""
}))), Effect.bind("handler", () => Either.fromNullable(handlerMap[request._tag], () => RpcNotFound({
method: request._tag
}))), Effect.bind("input", ({
codecs
}) => codecs.input ? codecs.input(request.input) : Effect.unit), Effect.flatMap(({
codecs,
handler,
input
}) => {
const effect = Effect.isEffect(handler) ? handler : handler(input);
if (request._tag === "__setup" && runtimeRef && scope) {
return pipe(Ref.get(runtimeRef), Effect.flatMap(Option.match({
onNone: () => Effect.tap(Layer.isLayer(effect) ? Layer.toRuntime(effect) : Effect.flatMap(effect, context => Effect.provide(Effect.runtime(), context)), _ => Ref.set(runtimeRef, Option.some(_))),
onSome: () => Effect.unit
})), Effect.asUnit, Effect.either, Effect.provideService(Scope, scope));
}
return Effect.matchEffect(effect, {
onFailure: error => Effect.map(codecs.error(error), Either.left),
onSuccess: value => codecs.output ? Effect.map(codecs.output(value), Either.right) : Effect.succeed(Either.right(void 0))
});
}), Effect.matchCause({
onFailure: cause => ({
_tag: "Error",
error: Either.match(Cause.failureOrCause(cause), {
onLeft: identity,
onRight: cause => RpcTransportError({
error: Cause.pretty(cause)
})
})
})
}),
onSuccess: Either.match({
onLeft: error => ({
_tag: "Error",
error
}),
onRight: value => ({
_tag: "Success",
value
onSuccess: Either.match({
onLeft: error => ({
_tag: "Error",
error
}),
onRight: value => ({
_tag: "Success",
value
})
})
})
}), Effect.withSpan(`${router.options.spanPrefix}.${request._tag}`, {
parent: Tracer.externalSpan({
spanId: request.spanId,
traceId: request.traceId,
sampled: request.sampled
})
}));
}), Effect.withSpan(`${router.options.spanPrefix}.${request._tag}`, {
parent: Tracer.externalSpan({
spanId: request.spanId,
traceId: request.traceId,
sampled: request.sampled
})
}));
if (request._tag !== "__setup" && runtimeRef !== undefined) {
return Effect.flatMap(Ref.get(runtimeRef), Option.match({
onNone: () => Effect.fail(RpcTransportError({
error: "__setup not called"
})),
onSome: runtime => Effect.provide(responseEffect, runtime)
}));
}
return responseEffect;
};
if (!hasSetup) {

@@ -90,0 +96,0 @@ return handler();

{
"name": "@effect/rpc",
"version": "0.12.0",
"version": "0.12.1",
"description": "",

@@ -5,0 +5,0 @@ "main": "dist/effect-rpc.cjs.js",

@@ -8,3 +8,3 @@ 'use strict';

var Layer = require('effect/Layer');
var server = require('../../dist/server-4e6564df.cjs.dev.js');
var server = require('../../dist/server-8b939413.cjs.dev.js');
require('@effect/schema/Schema');

@@ -11,0 +11,0 @@ require('effect');

@@ -8,3 +8,3 @@ 'use strict';

var Layer = require('effect/Layer');
var server = require('../../dist/server-8b45d4f1.cjs.prod.js');
var server = require('../../dist/server-53da2064.cjs.prod.js');
require('@effect/schema/Schema');

@@ -11,0 +11,0 @@ require('effect');

@@ -5,3 +5,3 @@ 'use strict';

var server = require('../../dist/server-4e6564df.cjs.dev.js');
var server = require('../../dist/server-8b939413.cjs.dev.js');
require('@effect/schema/Schema');

@@ -8,0 +8,0 @@ require('effect');

@@ -5,3 +5,3 @@ 'use strict';

var server = require('../../dist/server-8b45d4f1.cjs.prod.js');
var server = require('../../dist/server-53da2064.cjs.prod.js');
require('@effect/schema/Schema');

@@ -8,0 +8,0 @@ require('effect');

@@ -72,4 +72,4 @@ import * as Schema from "@effect/schema/Schema"

) =>
(request: RpcRequest.Payload) =>
pipe(
(request: RpcRequest.Payload) => {
const responseEffect = pipe(
Effect.Do,

@@ -127,23 +127,9 @@ Effect.bind(

return pipe(
runtimeRef
? Effect.flatMap(
Ref.get(runtimeRef),
Option.match({
onNone: () =>
Effect.fail(
RpcTransportError({ error: "__setup not called" })
),
onSome: (runtime) => Effect.provide(effect, runtime)
})
)
: effect,
Effect.matchEffect({
onFailure: (error) => Effect.map(codecs.error(error), Either.left),
onSuccess: (value) =>
codecs.output ?
Effect.map(codecs.output(value), Either.right) :
Effect.succeed(Either.right(null))
})
) as Effect.Effect<any, RpcEncodeFailure, Either.Either<RpcError, unknown>>
return Effect.matchEffect(effect, {
onFailure: (error) => Effect.map(codecs.error(error), Either.left),
onSuccess: (value) =>
codecs.output ?
Effect.map(codecs.output(value), Either.right) :
Effect.succeed(Either.right(void 0))
}) as Effect.Effect<any, RpcEncodeFailure, Either.Either<RpcError, unknown>>
}),

@@ -178,2 +164,15 @@ Effect.matchCause({

if (request._tag !== "__setup" && runtimeRef !== undefined) {
return Effect.flatMap(
Ref.get(runtimeRef),
Option.match({
onNone: () => Effect.fail(RpcTransportError({ error: "__setup not called" })),
onSome: (runtime) => Effect.provide(responseEffect, runtime)
})
)
}
return responseEffect
}
if (!hasSetup) {

@@ -180,0 +179,0 @@ return handler() as any

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