import { it, describe, expect } from 'vitest'; import { Schema } from 'effect'; import { EntityMetaSchema } from '../entity-schema/index.js'; const itEffect = (name: string, fn: () => Effect.Effect) => it(name, () => Effect.runPromise(fn())); import { Effect } from 'effect'; describe('Core', () => { describe('rpc', () => { itEffect('works with Effect', () => Effect.gen(function* () { const result = yield* Effect.succeed('hello'); expect(result).toBe('hello'); }), ); }); describe('EntityMetaSchema', () => { const baseMeta = { _e: 'item', _d: false, _u: '2024-01-01T00:00:00.000Z', }; const decode = Schema.decodeUnknownSync(EntityMetaSchema); it('decodes without _s and _c', () => { const result = decode(baseMeta); expect(result._s).toBeUndefined(); expect(result._c).toBeUndefined(); }); it('decodes with _s and _c present', () => { const result = decode({ ...baseMeta, _s: 1700000000000, _c: 1700000000050, }); expect(result._s).toBe(1700000000000); expect(result._c).toBe(1700000000050); }); }); });