Comments (5)
The output is fine (they are errors, and that's the stack trace), but it seems like there's a bug in expect
, using
import * as assert from "node:assert"
works:
class DataTaggedError extends Data.TaggedError("DataTaggedError")<{
msg: string
}> {}
// no error
expect({ error: new DataTaggedError({ msg: "a" }) }).toStrictEqual({ error: new DataTaggedError({ msg: "b" }) })
// error
assert.deepStrictEqual({ error: new DataTaggedError({ msg: "a" }) }, { error: new DataTaggedError({ msg: "b" }) })
class SchemaTaggedError extends S.TaggedError<SchemaTaggedError>()(
"SchemaTaggedError",
{
msg: S.string
}
) {}
// no error
expect({ error: new SchemaTaggedError({ msg: "a" }) }).toStrictEqual({ error: new SchemaTaggedError({ msg: "b" }) })
// error
assert.deepStrictEqual({ error: new SchemaTaggedError({ msg: "a" }) }, {
error: new SchemaTaggedError({ msg: "b" })
})
from effect.
That's correct, and I raise an issue on vitest. Still what's the reason that:
class DataTaggedError extends Data.TaggedError("DataTaggedError")<{
msg: string;
}> {}
const dataTaggedError = new DataTaggedError({ msg: "a" });
console.log("dataTaggedError", dataTaggedError);
Output the following (without logging the instance? where SchemaTaggedError
does output the instance):
dataTaggedError DataTaggedError
..stack trace..
from effect.
both are YieldableError
s:
effect/packages/effect/src/internal/core.ts
Lines 2253 to 2259 in 6612682
this.toString()
is implementedfrom effect.
Thanks for your explanation and for pointing to the internal resource.
I will update and close this thread as soon as vitest will fixed the issue.
from effect.
I'm closing this issue. To make vitest expect work please follow this link: vitest issue
from effect.
Related Issues (20)
- Schedule forked types were not flipped in 2.3 HOT 1
- @effect/schema: does `onExcessProperty` affect encoding as well as decoding? HOT 1
- From Discord: Modification of ReadonlyArray.groupBy Signature
- The name doesn't work HOT 1
- Picking literals in Schema HOT 9
- Expose `ConfigError` not as a Union but wrapped as Class HOT 1
- Migration from fp-ts: replacements for fp-ts-routing and hyper-ts HOT 10
- Platform: Missing File.writeString, File.readString
- Platform/FileSystem: Add a default file system Logger instance HOT 1
- Use span attributes to enrich stack traces HOT 1
- Schema.omit merges discriminated union values HOT 3
- Class APIs: overriding a field is allowed but looks unsafe HOT 1
- S.Class parity with S.struct for S.omit, S.union possible? HOT 1
- schema: interface Class.transformOrFail typing seems wrong HOT 2
- From Discord: Issue with Request.tagged and Equal.equals for non-primitive parameters
- Fiber Runtime - undefined HOT 1
- `ConfigProvider.fromFileSystem` HOT 1
- Improve opaque inheriting brands HOT 2
- Effect.if crashes when first arg is widened to `any` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from effect.