@ effect- dynamodb/ schema
纯、无AWS的图案和关系发展层 effect-dynamodb。 。 。 .
此套件包含 effect-dynamodb 没错 没有 触动 AWS SDK :
DynamoModel——司马注解Hidden, (中文(简体) ),identifier, (中文(简体) ),ref和configure()字段覆盖.DynamoSchema——用于键前缀的应用程序命名空间(名称+版本).KeyComposer——指数定义的复合关键成分.Errors——被标记错误等级.Entity.make编号 :Aggregate.make—— 说 纯定义构建器 获得实体/汇总inputSchema编号 :updateSchema编号 :createSchema解码器.
它已经 零依赖 @aws-sdk/* ——无论是在其运行时间导入图中,还是在其排放中
.d.ts 表面。 当您只需要一个实体/集合的衍生方案(例如
HTTP API 有效载荷计划或用于验证)而不将 AWS SDK 拖入您的依赖图或
类型表面.
import { Entity } from "@effect-dynamodb/schema"
import { Schema } from "effect"
class Team extends Schema.Class<Team>("Team")({
teamId: Schema.String,
name: Schema.NonEmptyString,
}) {}
const Teams = Entity.make({
model: Team,
entityType: "Team",
primaryKey: {
pk: { field: "pk", composite: ["teamId"] },
sk: { field: "sk", composite: [] },
},
})
// The derived, fully-typed input schema — no AWS SDK in sight.
type TeamInput = typeof Teams.inputSchema.Type
与 effect-dynamodb
全数 effect-dynamodb 软件包 取决于和
再出口 这里的一切,然后添加AWS运行时间(DynamoClient, CRUD/query操作,
批/交易/收集,马歇尔。 如果您真的需要读取或写入 DynamoDB, 请使用
effect-dynamodb —— 说 import { Entity, Aggregate, DynamoModel, DynamoSchema } from "effect-dynamodb"
给您一个相同的定义构建者 加号 操作层.
许可证
麻省理工学院