alchemy-effect 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/alchemy-effect.js +55038 -8
- package/bin/alchemy-effect.js.map +1 -1
- package/bin/alchemy-effect.ts +266 -10
- package/lib/$.d.ts +5 -0
- package/lib/$.d.ts.map +1 -0
- package/lib/$.js +9 -0
- package/lib/$.js.map +1 -0
- package/lib/app.d.ts +4 -17
- package/lib/app.d.ts.map +1 -1
- package/lib/app.js +0 -20
- package/lib/app.js.map +1 -1
- package/lib/apply.d.ts +14 -74
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +62 -57
- package/lib/apply.js.map +1 -1
- package/lib/assert-never.d.ts +12 -0
- package/lib/assert-never.d.ts.map +1 -0
- package/lib/assert-never.js +11 -0
- package/lib/assert-never.js.map +1 -0
- package/lib/aws/account.d.ts +10 -1
- package/lib/aws/account.d.ts.map +1 -1
- package/lib/aws/account.js +18 -3
- package/lib/aws/account.js.map +1 -1
- package/lib/aws/client.d.ts.map +1 -1
- package/lib/aws/client.js +0 -1
- package/lib/aws/client.js.map +1 -1
- package/lib/aws/config.d.ts +15 -0
- package/lib/aws/config.d.ts.map +1 -0
- package/lib/aws/config.js +1 -0
- package/lib/aws/config.js.map +1 -0
- package/lib/aws/credentials.d.ts +10 -0
- package/lib/aws/credentials.d.ts.map +1 -1
- package/lib/aws/credentials.js +73 -47
- package/lib/aws/credentials.js.map +1 -1
- package/lib/aws/dynamodb/client.d.ts +1 -1
- package/lib/aws/dynamodb/client.d.ts.map +1 -1
- package/lib/aws/dynamodb/index.d.ts +2 -1
- package/lib/aws/dynamodb/index.d.ts.map +1 -1
- package/lib/aws/dynamodb/index.js +1 -2
- package/lib/aws/dynamodb/index.js.map +1 -1
- package/lib/aws/dynamodb/secondary-index.d.ts +5 -4
- package/lib/aws/dynamodb/secondary-index.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.d.ts +23 -20
- package/lib/aws/dynamodb/table.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.get-item.d.ts +8 -6
- package/lib/aws/dynamodb/table.get-item.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.get-item.js +4 -2
- package/lib/aws/dynamodb/table.get-item.js.map +1 -1
- package/lib/aws/dynamodb/table.js.map +1 -1
- package/lib/aws/dynamodb/table.provider.d.ts +3 -4
- package/lib/aws/dynamodb/table.provider.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.provider.js +17 -29
- package/lib/aws/dynamodb/table.provider.js.map +1 -1
- package/lib/aws/ec2/client.d.ts +1 -1
- package/lib/aws/ec2/client.d.ts.map +1 -1
- package/lib/aws/ec2/index.d.ts +3 -0
- package/lib/aws/ec2/index.d.ts.map +1 -1
- package/lib/aws/ec2/index.js +3 -0
- package/lib/aws/ec2/index.js.map +1 -1
- package/lib/aws/ec2/subnet.d.ts +175 -0
- package/lib/aws/ec2/subnet.d.ts.map +1 -0
- package/lib/aws/ec2/subnet.js +4 -0
- package/lib/aws/ec2/subnet.js.map +1 -0
- package/lib/aws/ec2/subnet.provider.d.ts +4 -0
- package/lib/aws/ec2/subnet.provider.d.ts.map +1 -0
- package/lib/aws/ec2/subnet.provider.js +250 -0
- package/lib/aws/ec2/subnet.provider.js.map +1 -0
- package/lib/aws/ec2/vpc.d.ts +12 -8
- package/lib/aws/ec2/vpc.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.js +1 -0
- package/lib/aws/ec2/vpc.js.map +1 -1
- package/lib/aws/ec2/vpc.provider.d.ts +3 -4
- package/lib/aws/ec2/vpc.provider.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.provider.js +11 -26
- package/lib/aws/ec2/vpc.provider.js.map +1 -1
- package/lib/aws/index.d.ts +16 -19
- package/lib/aws/index.d.ts.map +1 -1
- package/lib/aws/index.js +7 -10
- package/lib/aws/index.js.map +1 -1
- package/lib/aws/lambda/consume.d.ts +10 -11
- package/lib/aws/lambda/consume.d.ts.map +1 -1
- package/lib/aws/lambda/consume.js +3 -3
- package/lib/aws/lambda/consume.js.map +1 -1
- package/lib/aws/lambda/function.d.ts +7 -7
- package/lib/aws/lambda/function.d.ts.map +1 -1
- package/lib/aws/lambda/function.handler.d.ts +1 -1
- package/lib/aws/lambda/function.handler.d.ts.map +1 -1
- package/lib/aws/lambda/function.handler.js.map +1 -1
- package/lib/aws/lambda/function.invoke.d.ts +6 -4
- package/lib/aws/lambda/function.invoke.d.ts.map +1 -1
- package/lib/aws/lambda/function.invoke.js +3 -1
- package/lib/aws/lambda/function.invoke.js.map +1 -1
- package/lib/aws/lambda/function.js +1 -1
- package/lib/aws/lambda/function.js.map +1 -1
- package/lib/aws/lambda/function.provider.d.ts +5 -4
- package/lib/aws/lambda/function.provider.d.ts.map +1 -1
- package/lib/aws/lambda/function.provider.js +16 -14
- package/lib/aws/lambda/function.provider.js.map +1 -1
- package/lib/aws/lambda/index.d.ts +1 -0
- package/lib/aws/lambda/index.d.ts.map +1 -1
- package/lib/aws/lambda/index.js +1 -0
- package/lib/aws/lambda/index.js.map +1 -1
- package/lib/aws/lambda/serve.d.ts +2 -4
- package/lib/aws/lambda/serve.d.ts.map +1 -1
- package/lib/aws/profile.d.ts +2 -2
- package/lib/aws/profile.d.ts.map +1 -1
- package/lib/aws/profile.js +1 -1
- package/lib/aws/profile.js.map +1 -1
- package/lib/aws/region.d.ts +14 -2
- package/lib/aws/region.d.ts.map +1 -1
- package/lib/aws/region.js +26 -1
- package/lib/aws/region.js.map +1 -1
- package/lib/aws/sqs/client.d.ts +1 -1
- package/lib/aws/sqs/client.d.ts.map +1 -1
- package/lib/aws/sqs/index.d.ts +1 -0
- package/lib/aws/sqs/index.d.ts.map +1 -1
- package/lib/aws/sqs/index.js +1 -0
- package/lib/aws/sqs/index.js.map +1 -1
- package/lib/aws/sqs/queue.consume.d.ts +1 -1
- package/lib/aws/sqs/queue.consume.d.ts.map +1 -1
- package/lib/aws/sqs/queue.consume.js +0 -1
- package/lib/aws/sqs/queue.consume.js.map +1 -1
- package/lib/aws/sqs/queue.d.ts +6 -4
- package/lib/aws/sqs/queue.d.ts.map +1 -1
- package/lib/aws/sqs/queue.event-source.d.ts +8 -6
- package/lib/aws/sqs/queue.event-source.d.ts.map +1 -1
- package/lib/aws/sqs/queue.event-source.js +26 -44
- package/lib/aws/sqs/queue.event-source.js.map +1 -1
- package/lib/aws/sqs/queue.js +1 -1
- package/lib/aws/sqs/queue.js.map +1 -1
- package/lib/aws/sqs/queue.provider.d.ts +4 -4
- package/lib/aws/sqs/queue.provider.d.ts.map +1 -1
- package/lib/aws/sqs/queue.provider.js +3 -3
- package/lib/aws/sqs/queue.provider.js.map +1 -1
- package/lib/aws/sqs/queue.send-message.d.ts +7 -5
- package/lib/aws/sqs/queue.send-message.d.ts.map +1 -1
- package/lib/aws/sqs/queue.send-message.js +4 -2
- package/lib/aws/sqs/queue.send-message.js.map +1 -1
- package/lib/binding.d.ts +12 -12
- package/lib/binding.d.ts.map +1 -1
- package/lib/binding.js.map +1 -1
- package/lib/cli/components/ApprovePlan.d.ts +2 -2
- package/lib/cli/components/ApprovePlan.d.ts.map +1 -1
- package/lib/cli/components/ApprovePlan.js.map +1 -1
- package/lib/cli/components/Plan.d.ts +2 -2
- package/lib/cli/components/Plan.d.ts.map +1 -1
- package/lib/cli/components/Plan.js.map +1 -1
- package/lib/cli/components/PlanProgress.d.ts +8 -4
- package/lib/cli/components/PlanProgress.d.ts.map +1 -1
- package/lib/cli/components/PlanProgress.js +11 -1
- package/lib/cli/components/PlanProgress.js.map +1 -1
- package/lib/cli/index.d.ts +265 -224
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +57 -65
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/ink-service.d.ts +4 -0
- package/lib/cli/ink-service.d.ts.map +1 -0
- package/lib/cli/ink-service.js +43 -0
- package/lib/cli/ink-service.js.map +1 -0
- package/lib/cli/service.d.ts +21 -0
- package/lib/cli/service.d.ts.map +1 -0
- package/lib/cli/service.js +5 -0
- package/lib/cli/service.js.map +1 -0
- package/lib/cloudflare/account.d.ts +10 -0
- package/lib/cloudflare/account.d.ts.map +1 -0
- package/lib/cloudflare/account.js +24 -0
- package/lib/cloudflare/account.js.map +1 -0
- package/lib/cloudflare/api.d.ts +7 -7
- package/lib/cloudflare/api.d.ts.map +1 -1
- package/lib/cloudflare/api.js +18 -17
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/config.d.ts +9 -0
- package/lib/cloudflare/config.d.ts.map +1 -0
- package/lib/cloudflare/config.js +1 -0
- package/lib/cloudflare/config.js.map +1 -0
- package/lib/cloudflare/index.d.ts +3 -1
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +3 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/kv/namespace.binding.d.ts +5 -3
- package/lib/cloudflare/kv/namespace.binding.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.binding.js +1 -1
- package/lib/cloudflare/kv/namespace.binding.js.map +1 -1
- package/lib/cloudflare/kv/namespace.d.ts +3 -2
- package/lib/cloudflare/kv/namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.js.map +1 -1
- package/lib/cloudflare/kv/namespace.provider.d.ts +3 -2
- package/lib/cloudflare/kv/namespace.provider.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.provider.js +8 -7
- package/lib/cloudflare/kv/namespace.provider.js.map +1 -1
- package/lib/cloudflare/live.d.ts +5 -5
- package/lib/cloudflare/live.d.ts.map +1 -1
- package/lib/cloudflare/live.js +5 -8
- package/lib/cloudflare/live.js.map +1 -1
- package/lib/cloudflare/r2/bucket.binding.d.ts +5 -3
- package/lib/cloudflare/r2/bucket.binding.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.binding.js +1 -1
- package/lib/cloudflare/r2/bucket.binding.js.map +1 -1
- package/lib/cloudflare/r2/bucket.d.ts +3 -2
- package/lib/cloudflare/r2/bucket.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.js.map +1 -1
- package/lib/cloudflare/r2/bucket.provider.d.ts +3 -2
- package/lib/cloudflare/r2/bucket.provider.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.provider.js +8 -7
- package/lib/cloudflare/r2/bucket.provider.js.map +1 -1
- package/lib/cloudflare/worker/assets.fetch.d.ts +3 -2
- package/lib/cloudflare/worker/assets.fetch.d.ts.map +1 -1
- package/lib/cloudflare/worker/assets.fetch.js +2 -1
- package/lib/cloudflare/worker/assets.fetch.js.map +1 -1
- package/lib/cloudflare/worker/assets.provider.d.ts +1 -1
- package/lib/cloudflare/worker/assets.provider.d.ts.map +1 -1
- package/lib/cloudflare/worker/index.d.ts +0 -1
- package/lib/cloudflare/worker/index.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.d.ts +5 -6
- package/lib/cloudflare/worker/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.handler.d.ts +1 -1
- package/lib/cloudflare/worker/worker.handler.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.handler.js.map +1 -1
- package/lib/cloudflare/worker/worker.js.map +1 -1
- package/lib/cloudflare/worker/worker.provider.d.ts +3 -2
- package/lib/cloudflare/worker/worker.provider.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.provider.js +7 -6
- package/lib/cloudflare/worker/worker.provider.js.map +1 -1
- package/lib/cloudflare/worker/worker.serve.d.ts +7 -7
- package/lib/cloudflare/worker/worker.serve.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.serve.js.map +1 -1
- package/lib/data.d.ts +3 -0
- package/lib/data.d.ts.map +1 -0
- package/lib/data.js +8 -0
- package/lib/data.js.map +1 -0
- package/lib/destroy.d.ts +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +1 -4
- package/lib/destroy.js.map +1 -1
- package/lib/diff.d.ts +16 -0
- package/lib/diff.d.ts.map +1 -0
- package/lib/diff.js +9 -0
- package/lib/diff.js.map +1 -0
- package/lib/env.d.ts +5 -0
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +15 -29
- package/lib/env.js.map +1 -1
- package/lib/exports.d.ts +9 -0
- package/lib/exports.d.ts.map +1 -0
- package/lib/exports.js +13 -0
- package/lib/exports.js.map +1 -0
- package/lib/index.d.ts +10 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -5
- package/lib/index.js.map +1 -1
- package/lib/input.d.ts +32 -0
- package/lib/input.d.ts.map +1 -0
- package/lib/input.js +1 -0
- package/lib/input.js.map +1 -0
- package/lib/output.d.ts +143 -0
- package/lib/output.d.ts.map +1 -0
- package/lib/output.js +269 -0
- package/lib/output.js.map +1 -0
- package/lib/plan.d.ts +47 -28
- package/lib/plan.d.ts.map +1 -1
- package/lib/plan.js +257 -151
- package/lib/plan.js.map +1 -1
- package/lib/policy.d.ts +3 -4
- package/lib/policy.d.ts.map +1 -1
- package/lib/policy.js +0 -1
- package/lib/policy.js.map +1 -1
- package/lib/provider.d.ts +14 -16
- package/lib/provider.d.ts.map +1 -1
- package/lib/ref.d.ts +14 -0
- package/lib/ref.d.ts.map +1 -0
- package/lib/ref.js +21 -0
- package/lib/ref.js.map +1 -0
- package/lib/resource.d.ts +11 -6
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js.map +1 -1
- package/lib/runtime.d.ts +7 -6
- package/lib/runtime.d.ts.map +1 -1
- package/lib/runtime.js.map +1 -1
- package/lib/service.d.ts +9 -6
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js.map +1 -1
- package/lib/stack.d.ts +60 -0
- package/lib/stack.d.ts.map +1 -0
- package/lib/stack.js +11 -0
- package/lib/stack.js.map +1 -0
- package/lib/stage.d.ts +39 -0
- package/lib/stage.d.ts.map +1 -0
- package/lib/stage.js +32 -0
- package/lib/stage.js.map +1 -0
- package/lib/state.d.ts +51 -10
- package/lib/state.d.ts.map +1 -1
- package/lib/state.js +30 -29
- package/lib/state.js.map +1 -1
- package/lib/test.d.ts +25 -4
- package/lib/test.d.ts.map +1 -1
- package/lib/test.js +54 -14
- package/lib/test.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/lib/type.d.ts +3 -0
- package/lib/type.d.ts.map +1 -1
- package/lib/unknown.d.ts +4 -0
- package/lib/unknown.d.ts.map +1 -0
- package/lib/unknown.js +4 -0
- package/lib/unknown.js.map +1 -0
- package/lib/user.d.ts +3 -0
- package/lib/user.d.ts.map +1 -0
- package/lib/user.js +3 -0
- package/lib/user.js.map +1 -0
- package/lib/util.d.ts +6 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +9 -0
- package/lib/util.js.map +1 -0
- package/package.json +18 -12
- package/src/$.ts +17 -0
- package/src/app.ts +3 -32
- package/src/apply.ts +429 -441
- package/src/assert-never.ts +18 -0
- package/src/aws/account.ts +23 -3
- package/src/aws/client.ts +0 -1
- package/src/aws/config.ts +16 -0
- package/src/aws/credentials.ts +212 -177
- package/src/aws/dynamodb/index.ts +3 -3
- package/src/aws/dynamodb/table.get-item.ts +5 -9
- package/src/aws/dynamodb/table.provider.ts +35 -39
- package/src/aws/dynamodb/table.ts +29 -84
- package/src/aws/ec2/index.ts +4 -0
- package/src/aws/ec2/subnet.provider.ts +358 -0
- package/src/aws/ec2/subnet.ts +213 -0
- package/src/aws/ec2/vpc.provider.ts +20 -36
- package/src/aws/ec2/vpc.ts +19 -8
- package/src/aws/index.ts +46 -40
- package/src/aws/lambda/consume.ts +8 -7
- package/src/aws/lambda/function.handler.ts +1 -1
- package/src/aws/lambda/function.invoke.ts +6 -2
- package/src/aws/lambda/function.provider.ts +28 -21
- package/src/aws/lambda/function.ts +7 -4
- package/src/aws/lambda/index.ts +2 -0
- package/src/aws/profile.ts +1 -4
- package/src/aws/region.ts +42 -3
- package/src/aws/sqs/index.ts +2 -0
- package/src/aws/sqs/queue.consume.ts +1 -1
- package/src/aws/sqs/queue.event-source.ts +29 -55
- package/src/aws/sqs/queue.provider.ts +11 -4
- package/src/aws/sqs/queue.send-message.ts +5 -8
- package/src/aws/sqs/queue.ts +9 -4
- package/src/binding.ts +19 -19
- package/src/cli/components/ApprovePlan.tsx +2 -2
- package/src/cli/components/Plan.tsx +3 -2
- package/src/cli/components/PlanProgress.tsx +32 -14
- package/src/cli/index.ts +2 -6
- package/src/cli/ink-service.tsx +61 -0
- package/src/cli/service.ts +23 -0
- package/src/cloudflare/account.ts +37 -0
- package/src/cloudflare/api.ts +33 -29
- package/src/cloudflare/config.ts +7 -0
- package/src/cloudflare/index.ts +3 -1
- package/src/cloudflare/kv/namespace.binding.ts +3 -1
- package/src/cloudflare/kv/namespace.provider.ts +9 -8
- package/src/cloudflare/kv/namespace.ts +3 -2
- package/src/cloudflare/live.ts +11 -17
- package/src/cloudflare/r2/bucket.binding.ts +3 -1
- package/src/cloudflare/r2/bucket.provider.ts +9 -8
- package/src/cloudflare/r2/bucket.ts +8 -2
- package/src/cloudflare/worker/assets.fetch.ts +3 -1
- package/src/cloudflare/worker/assets.provider.ts +1 -1
- package/src/cloudflare/worker/index.ts +0 -2
- package/src/cloudflare/worker/worker.handler.ts +1 -1
- package/src/cloudflare/worker/worker.provider.ts +16 -13
- package/src/cloudflare/worker/worker.serve.ts +5 -2
- package/src/cloudflare/worker/worker.ts +4 -3
- package/src/data.ts +18 -0
- package/src/destroy.ts +1 -5
- package/src/diff.ts +30 -0
- package/src/env.ts +20 -32
- package/src/exports.ts +21 -0
- package/src/index.ts +10 -5
- package/src/input.ts +81 -0
- package/src/output.ts +518 -0
- package/src/plan.ts +380 -192
- package/src/policy.ts +3 -5
- package/src/provider.ts +25 -23
- package/src/ref.ts +48 -0
- package/src/resource.ts +20 -6
- package/src/runtime.ts +15 -8
- package/src/service.ts +11 -7
- package/src/stack.ts +116 -0
- package/src/stage.ts +85 -0
- package/src/state.ts +138 -60
- package/src/test.ts +117 -16
- package/src/type.ts +4 -0
- package/src/unknown.ts +6 -0
- package/src/user.ts +4 -0
- package/src/util.ts +21 -0
- package/lib/approve.d.ts +0 -15
- package/lib/approve.d.ts.map +0 -1
- package/lib/approve.js +0 -7
- package/lib/approve.js.map +0 -1
- package/lib/cli/approve.d.ts +0 -4
- package/lib/cli/approve.d.ts.map +0 -1
- package/lib/cli/approve.js +0 -18
- package/lib/cli/approve.js.map +0 -1
- package/lib/cli/clack.d.ts +0 -14
- package/lib/cli/clack.d.ts.map +0 -1
- package/lib/cli/clack.js +0 -12
- package/lib/cli/clack.js.map +0 -1
- package/lib/cli/main.d.ts +0 -2
- package/lib/cli/main.d.ts.map +0 -1
- package/lib/cli/main.js +0 -1
- package/lib/cli/main.js.map +0 -1
- package/lib/cli/plan.d.ts +0 -13
- package/lib/cli/plan.d.ts.map +0 -1
- package/lib/cli/plan.js +0 -1
- package/lib/cli/plan.js.map +0 -1
- package/lib/cli/progress.d.ts +0 -7
- package/lib/cli/progress.d.ts.map +0 -1
- package/lib/cli/progress.js +0 -30
- package/lib/cli/progress.js.map +0 -1
- package/lib/cli/spinner.d.ts +0 -2
- package/lib/cli/spinner.d.ts.map +0 -1
- package/lib/cli/spinner.js +0 -13
- package/lib/cli/spinner.js.map +0 -1
- package/src/approve.ts +0 -13
- package/src/cli/approve.tsx +0 -30
- package/src/cli/clack.ts +0 -22
- package/src/cli/main.ts +0 -0
- package/src/cli/plan.ts +0 -16
- package/src/cli/progress.tsx +0 -46
- package/src/cli/spinner.ts +0 -14
package/lib/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
package/lib/policy.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import * as S from "effect/Schema";
|
|
3
3
|
import { type AnyBinding, type Bind } from "./binding.ts";
|
|
4
4
|
import type { Capability } from "./capability.ts";
|
|
5
|
-
import type { Runtime } from "./runtime.ts";
|
|
5
|
+
import type { IRuntime, Runtime } from "./runtime.ts";
|
|
6
6
|
/**
|
|
7
7
|
* A Policy binds a set of Capbilities (e.g SQS.SendMessage, SQS.Consume, etc.) to a
|
|
8
8
|
* specific Runtime (e.g. AWS Lambda Function, Cloudflare Worker, etc.).
|
|
@@ -12,15 +12,14 @@ import type { Runtime } from "./runtime.ts";
|
|
|
12
12
|
*
|
|
13
13
|
* A Policy is invariant over the set of Capabilities to ensure least-privilege.
|
|
14
14
|
*/
|
|
15
|
-
export interface Policy<F extends
|
|
15
|
+
export interface Policy<F extends IRuntime, in out Capabilities, Tags = unknown> {
|
|
16
|
+
readonly kind: "alchemy/Policy";
|
|
16
17
|
readonly runtime: F;
|
|
17
18
|
readonly tags: Tags[];
|
|
18
19
|
readonly capabilities: Capabilities[];
|
|
19
20
|
/** Add more Capabilities to a Policy */
|
|
20
21
|
and<B extends AnyBinding[]>(...bindings: B): Policy<F, B[number]["capability"] | Capabilities, BindingTags<B[number]> | Exclude<Tags, unknown>>;
|
|
21
22
|
}
|
|
22
|
-
export type $<T> = Instance<T>;
|
|
23
|
-
export declare const $: typeof Policy;
|
|
24
23
|
type BindingTags<B extends AnyBinding> = B extends any ? Bind<B["runtime"], B["capability"], Extract<B["tag"], string>> : never;
|
|
25
24
|
export declare function Policy<F extends Runtime>(): Policy<F, never, never>;
|
|
26
25
|
export declare function Policy<B extends AnyBinding[]>(...capabilities: B): Policy<B[number]["runtime"], B[number]["capability"], BindingTags<B[number]>>;
|
package/lib/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
package/lib/policy.js
CHANGED
|
@@ -2,7 +2,6 @@ import * as Context from "effect/Context";
|
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import * as S from "effect/Schema";
|
|
4
4
|
import {} from "./binding.js";
|
|
5
|
-
export const $ = Policy;
|
|
6
5
|
export function Policy(...bindings) {
|
|
7
6
|
return {
|
|
8
7
|
runtime: bindings[0]?.["runtime"],
|
package/lib/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAA8B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAA8B,MAAM,cAAc,CAAC;AA8C1D,MAAM,UAAU,MAAM,CAAC,GAAG,QAAsB;IAC9C,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;QACjC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/C,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAU,CAAC,EAAE,CAAC;QACtD,QAAQ;QACR,GAAG,EAAE,CAAC,GAAG,EAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC;KAIzD,CAAC;AACJ,CAAC;AAED,WAAiB,MAAM;IAMR,YAAK,GAAG,CAAU,GAAG,KAAU,EAAwB,EAAE,CAAC,CAAC;QACtE,KAAK,EAAE,KAAwB;KAChC,CAAC,CAAC;IAEU,WAAI,GAAG,CAIlB,OAAgB,EAChB,SAAoB,EACpB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAA6B,CAAC;IA4BzD,4FAA4F;IAC/E,YAAK,GAAG,GAAS,EAAE,CAAC,SAAU,CAAC;AAC9C,CAAC,EA9CgB,MAAM,KAAN,MAAM,QA8CtB;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAyB,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAkC,CAAC"}
|
package/lib/provider.d.ts
CHANGED
|
@@ -1,53 +1,51 @@
|
|
|
1
1
|
import * as Context from "effect/Context";
|
|
2
2
|
import type * as Effect from "effect/Effect";
|
|
3
|
-
import type {
|
|
3
|
+
import type { Diff } from "./diff.ts";
|
|
4
|
+
import type { Input } from "./input.ts";
|
|
4
5
|
import type { Resource } from "./resource.ts";
|
|
5
6
|
import type { Runtime } from "./runtime.ts";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} | {
|
|
11
|
-
action: "replace";
|
|
12
|
-
deleteFirst?: boolean;
|
|
13
|
-
};
|
|
7
|
+
import type { Service } from "./service.ts";
|
|
8
|
+
import type { ScopedPlanStatusSession } from "./cli/service.ts";
|
|
9
|
+
export interface Provider<R extends Resource | Service> extends Context.TagClass<Provider<R>, R["type"], ProviderService<any>> {
|
|
10
|
+
}
|
|
14
11
|
type BindingData<Res extends Resource> = [Res] extends [Runtime] ? Res["binding"][] : any[];
|
|
12
|
+
type Props<Res extends Resource> = Input.ResolveOpaque<Res["props"]>;
|
|
15
13
|
export interface ProviderService<Res extends Resource = Resource> {
|
|
16
14
|
read?(input: {
|
|
17
15
|
id: string;
|
|
18
|
-
olds: Res
|
|
16
|
+
olds: Props<Res> | undefined;
|
|
19
17
|
output: Res["attr"] | undefined;
|
|
20
18
|
session: ScopedPlanStatusSession;
|
|
21
19
|
bindings: BindingData<Res>;
|
|
22
20
|
}): Effect.Effect<Res["attr"] | undefined, any, never>;
|
|
23
21
|
diff?(input: {
|
|
24
22
|
id: string;
|
|
25
|
-
olds: Res
|
|
23
|
+
olds: Props<Res>;
|
|
26
24
|
news: Res["props"];
|
|
27
25
|
output: Res["attr"];
|
|
28
26
|
}): Effect.Effect<Diff | void, never, never>;
|
|
29
27
|
precreate?(input: {
|
|
30
28
|
id: string;
|
|
31
|
-
news: Res
|
|
29
|
+
news: Props<Res>;
|
|
32
30
|
session: ScopedPlanStatusSession;
|
|
33
31
|
}): Effect.Effect<Res["attr"], any, never>;
|
|
34
32
|
create(input: {
|
|
35
33
|
id: string;
|
|
36
|
-
news: Res
|
|
34
|
+
news: Props<Res>;
|
|
37
35
|
session: ScopedPlanStatusSession;
|
|
38
36
|
bindings: BindingData<Res>;
|
|
39
37
|
}): Effect.Effect<Res["attr"], any, never>;
|
|
40
38
|
update(input: {
|
|
41
39
|
id: string;
|
|
42
|
-
news: Res
|
|
43
|
-
olds: Res
|
|
40
|
+
news: Props<Res>;
|
|
41
|
+
olds: Props<Res>;
|
|
44
42
|
output: Res["attr"];
|
|
45
43
|
session: ScopedPlanStatusSession;
|
|
46
44
|
bindings: BindingData<Res>;
|
|
47
45
|
}): Effect.Effect<Res["attr"], any, never>;
|
|
48
46
|
delete(input: {
|
|
49
47
|
id: string;
|
|
50
|
-
olds: Res
|
|
48
|
+
olds: Props<Res>;
|
|
51
49
|
output: Res["attr"];
|
|
52
50
|
session: ScopedPlanStatusSession;
|
|
53
51
|
bindings: BindingData<Res>;
|
package/lib/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/lib/ref.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Resource, AnyResource } from "./resource.ts";
|
|
2
|
+
export declare const isRef: (s: any) => s is Ref<any>;
|
|
3
|
+
export declare const getRefMetadata: <R extends Resource<string, string, any, any>>(ref: Ref<R>) => RefMetadata<R>;
|
|
4
|
+
export interface Ref<R extends Resource<string, string, any, any> = AnyResource> {
|
|
5
|
+
/** @internal phantom */
|
|
6
|
+
Ref: R;
|
|
7
|
+
}
|
|
8
|
+
export interface RefMetadata<R extends Resource<string, string, any, any>> {
|
|
9
|
+
stack?: string;
|
|
10
|
+
stage?: string;
|
|
11
|
+
resourceId: R["id"];
|
|
12
|
+
}
|
|
13
|
+
export declare const ref: <R extends Resource<string, string, any, any>>({ stack, resourceId, stage, }: RefMetadata<R>) => Ref<R>;
|
|
14
|
+
//# sourceMappingURL=ref.d.ts.map
|
package/lib/ref.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM3D,eAAO,MAAM,KAAK,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CACR,CAAC;AAEpC,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EACzE,KAAK,GAAG,CAAC,CAAC,CAAC,KACV,WAAW,CAAC,CAAC,CAA8B,CAAC;AAE/C,MAAM,WAAW,GAAG,CAClB,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW;IAE1D,wBAAwB;IACxB,GAAG,EAAE,CAAC,CAAC;CACR;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;CACrB;AAED,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,+BAI/D,WAAW,CAAC,CAAC,CAAC,KAAG,GAAG,CAAC,CAAC,CAiBxB,CAAC"}
|
package/lib/ref.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as Output from "./output.js";
|
|
2
|
+
// special runtime-only symbol for probing the Ref proxy for its metadata
|
|
3
|
+
const RefMetadata = Symbol.for("alchemy/RefMetadata");
|
|
4
|
+
export const isRef = (s) => s && s[RefMetadata] !== undefined;
|
|
5
|
+
export const getRefMetadata = (ref) => ref[RefMetadata];
|
|
6
|
+
export const ref = ({ stack, resourceId, stage, }) => {
|
|
7
|
+
const ref = new Proxy({}, {
|
|
8
|
+
get: (_, prop) => {
|
|
9
|
+
if (prop === RefMetadata) {
|
|
10
|
+
return {
|
|
11
|
+
stack,
|
|
12
|
+
stage,
|
|
13
|
+
resourceId,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return Output.of(ref)[prop];
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
return ref;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=ref.js.map
|
package/lib/ref.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,yEAAyE;AACzE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAM,EAAiB,EAAE,CAC7C,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACK,EAAE,CAAE,GAAW,CAAC,WAAW,CAAC,CAAC;AAe/C,MAAM,CAAC,MAAM,GAAG,GAAG,CAA+C,EAChE,KAAK,EACL,UAAU,EACV,KAAK,GACU,EAAU,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,EAAE,EACF;QACE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,OAAO;oBACL,KAAK;oBACL,KAAK;oBACL,UAAU;iBACX,CAAC;YACJ,CAAC;YACD,OAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;KACF,CACQ,CAAC;IACZ,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
package/lib/resource.d.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
1
|
import type { Effect } from "effect/Effect";
|
|
3
2
|
import * as Layer from "effect/Layer";
|
|
4
3
|
import type { Provider, ProviderService } from "./provider.ts";
|
|
5
4
|
export declare const isResource: (r: any) => r is Resource;
|
|
6
|
-
export
|
|
5
|
+
export type AnyResource = Resource<string, string, any, any>;
|
|
6
|
+
export interface IResource<Type extends string = string, ID extends string = string, Props = unknown, Attrs = unknown, Base = unknown> {
|
|
7
7
|
id: ID;
|
|
8
8
|
type: Type;
|
|
9
|
+
Props: unknown;
|
|
9
10
|
props: Props;
|
|
11
|
+
base: Base;
|
|
12
|
+
/** @internal phantom */
|
|
10
13
|
attr: Attrs;
|
|
11
|
-
parent: unknown;
|
|
12
|
-
new (): Resource<Type, ID, Props, Attrs>;
|
|
13
14
|
}
|
|
14
|
-
export interface
|
|
15
|
+
export interface Resource<Type extends string = string, ID extends string = string, Props = unknown, Attrs = unknown, Base = unknown> extends IResource<Type, ID, Props, Attrs, Base> {
|
|
16
|
+
new (): Resource<Type, ID, Props, Attrs, Base>;
|
|
17
|
+
}
|
|
18
|
+
export interface ResourceTags<R extends Resource<string, string, any, any>> {
|
|
15
19
|
of<S extends ProviderService<R>>(service: S): S;
|
|
16
|
-
tag:
|
|
20
|
+
tag: Provider<R>;
|
|
17
21
|
effect<Err, Req>(eff: Effect<ProviderService<R>, Err, Req>): Layer.Layer<Provider<R>, Err, Req>;
|
|
18
22
|
succeed(service: ProviderService<R>): Layer.Layer<Provider<R>>;
|
|
19
23
|
}
|
|
@@ -22,6 +26,7 @@ export declare const Resource: <Ctor extends (id: string, props: any) => Resourc
|
|
|
22
26
|
parent: ReturnType<Ctor>;
|
|
23
27
|
};
|
|
24
28
|
type: ReturnType<Ctor>["type"];
|
|
29
|
+
parent: ReturnType<Ctor>;
|
|
25
30
|
provider: ResourceTags<ReturnType<Ctor>>;
|
|
26
31
|
} & {
|
|
27
32
|
type: ReturnType<Ctor>["type"];
|
package/lib/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,QAIxC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7D,MAAM,WAAW,SAAS,CACxB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,KAAK,GAAG,OAAO,EACf,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,OAAO;IAEd,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,wBAAwB;IACxB,IAAI,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,QAAQ,CACvB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,KAAK,GAAG,OAAO,EACf,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,OAAO,CACd,SAAQ,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;IAC/C,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACxE,EAAE,CAAC,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAChD,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,EACb,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GACxC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,QAAQ,GAAI,IAAI,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,QAAQ,EACxE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAuBlB,UAAU,CAAC,IAAI,CAAC,GAAG;QACzB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;KAC1B;UAJK,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC;;;;;CAW7B,CAAC"}
|
package/lib/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAiB,EAAE;IAClD,OAAO,CACL,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAiB,EAAE;IAClD,OAAO,CACL,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC,CAAC;AAuCF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAA8B,EAC9B,EAAE;IACF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAmC;QAC/C,GAAG,EAAE,GAAU;QACf,MAAM,EAAE,CACN,GAAwD,EACxD,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3B,OAAO,EAAE,CAAC,OAA0C,EAAE,EAAE,CACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;QAC7B,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;KACzB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAClB,UAAU,EAAU,EAAE,KAAU;QAC9B,OAAO,MAAM,QAAQ;YACnB,MAAM,CAAU,EAAE,GAAG,EAAE,CAAC;YACxB,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC;YAC9B,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC;SACrC,CAAC;IACJ,CAOC,EACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ;KACT,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/lib/runtime.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Types } from "effect";
|
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import type { Capability } from "./capability.ts";
|
|
4
4
|
import type { Policy } from "./policy.ts";
|
|
5
|
-
import type { Resource, ResourceTags } from "./resource.ts";
|
|
5
|
+
import type { IResource, Resource, ResourceTags } from "./resource.ts";
|
|
6
6
|
import type { Service } from "./service.ts";
|
|
7
7
|
export type RuntimeHandler<Inputs extends any[] = any[], Output = any, Err = any, Req = any> = (...inputs: Inputs) => Effect.Effect<Output, Err, Req>;
|
|
8
8
|
export declare namespace RuntimeHandler {
|
|
@@ -19,21 +19,22 @@ export declare namespace Runtime {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
export type AnyRuntime = Runtime<string>;
|
|
22
|
-
export interface RuntimeProps<Run extends
|
|
22
|
+
export interface RuntimeProps<Run extends IRuntime, Req> {
|
|
23
23
|
bindings: Policy<Run, Extract<Req, Capability>, unknown>;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface IRuntime<Type extends string = string, Handler = unknown, Props = unknown> extends IResource<Type, string, Props> {
|
|
26
26
|
type: Type;
|
|
27
27
|
props: Props;
|
|
28
28
|
handler: Handler;
|
|
29
29
|
binding: unknown;
|
|
30
30
|
/** @internal phantom */
|
|
31
31
|
capability: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface Runtime<Type extends string = string, Handler = unknown, Props = unknown> extends IRuntime<Type, Handler, Props>, Resource<Type, string, Props> {
|
|
34
|
+
provider: ResourceTags<this>;
|
|
32
35
|
<const ID extends string, Inputs extends any[], Output, Err, Req, Handler extends RuntimeHandler<Inputs, Output, Err, Req>>(id: ID, { handle }: {
|
|
33
36
|
handle: Handler;
|
|
34
37
|
}): <const Props extends this["props"]>(props: Props) => Service<ID, this, Handler, Props>;
|
|
35
38
|
}
|
|
36
|
-
export declare const Runtime: <const Type extends string>(type: Type) => <Self extends Runtime>() => Self
|
|
37
|
-
provider: ResourceTags<Self>;
|
|
38
|
-
};
|
|
39
|
+
export declare const Runtime: <const Type extends string>(type: Type) => <Self extends Runtime>() => Self;
|
|
39
40
|
//# sourceMappingURL=runtime.d.ts.map
|
package/lib/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/lib/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAiFtC,MAAM,CAAC,MAAM,OAAO,GAClB,CAA4B,IAAU,EAAE,EAAE,CAC1C,GAA+B,EAAE;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,CAAC,GAAmD,EAAE,EAAE,CAC9D,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QACxB,OAAO,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;KACzE,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,CACE,GAAG,IAKE,EACL,EAAE;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACnB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAY,CAAC;YACvC,OAAO,KAAM,SAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAgB;gBACnD,UAAU,GAAG,GAAG,CAAC;aAClB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;YAC9B,OAAO,CAA8C,KAAY,EAAE,EAAE,CACnE,MAAM,CAAC,MAAM,CACX;gBACE;oBACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;aACF,EACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI;gBACJ,EAAE;gBACF,IAAI,EAAE,SAAU;gBAChB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAa,CAAC;gBACtC,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,4BAA4B;gBAC5B,MAAM,EAAE,IAAI;gBACZ,mBAAmB;gBACnB,QAAQ;aACwC,CACnD,CAAC;QACN,CAAC;IACH,CAAC,EACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,SAAoB;QACxB,UAAU,EAAE,SAA0B;QACtC,QAAQ;QACR,QAAQ;YACN,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,GAC5B,IAAI,CAAC,UAAU,EAAE,MAAM;gBACrB,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtD,CAAC,CAAC,EACN,GAAG,CAAC;QACN,CAAC;KACF,CACiB,CAAC;IACrB,OAAO,IAAW,CAAC;AACrB,CAAC,CAAC"}
|
package/lib/service.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Effect } from "effect/Effect";
|
|
2
2
|
import type { Capability } from "./capability.ts";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
export interface IService<ID extends string = string, F extends
|
|
3
|
+
import type { IResource } from "./resource.ts";
|
|
4
|
+
import type { IRuntime, RuntimeHandler, RuntimeProps } from "./runtime.ts";
|
|
5
|
+
export interface IService<ID extends string = string, F extends IRuntime = IRuntime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
|
|
6
6
|
props: Props;
|
|
7
|
-
})["attr"]> extends
|
|
7
|
+
})["attr"], Base = unknown> extends IResource<F["type"], ID, Props, Attr, F> {
|
|
8
8
|
kind: "Service";
|
|
9
9
|
type: F["type"];
|
|
10
10
|
id: ID;
|
|
@@ -24,10 +24,13 @@ export interface IService<ID extends string = string, F extends Runtime = Runtim
|
|
|
24
24
|
attr: Attr;
|
|
25
25
|
/** @internal phantom type of this resource's parent */
|
|
26
26
|
parent: unknown;
|
|
27
|
+
new (): Service<ID, F, Handler, Props, Attr, Base>;
|
|
27
28
|
}
|
|
28
|
-
export interface
|
|
29
|
+
export interface AnyService extends IService {
|
|
30
|
+
}
|
|
31
|
+
export interface Service<ID extends string = string, F extends IRuntime = IRuntime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
|
|
29
32
|
props: Props;
|
|
30
|
-
})["attr"]> extends IService<ID, F, Handler, Props, Attr
|
|
33
|
+
})["attr"], Base = unknown> extends IService<ID, F, Handler, Props, Attr, Base> {
|
|
31
34
|
}
|
|
32
35
|
export declare const isService: (resource: any) => resource is IService;
|
|
33
36
|
//# sourceMappingURL=service.d.ts.map
|
package/lib/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE3E,MAAM,WAAW,QAAQ,CACvB,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,KAAK,SAAS,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EACzD,IAAI,GAAG,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,EACrC,IAAI,GAAG,OAAO,CACd,SAAQ,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAChB,EAAE,EAAE,EAAE,CAAC;IACP,OAAO,EAAE,CAAC,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CACb,CACE,GAAG,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAC3B,MAAM,CACT,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EACjC,KAAK,CACN,EACD,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CACzD,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,IAAI,CAAC;IACX,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;CAAG;AAE/C,MAAM,WAAW,OAAO,CACtB,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,KAAK,SAAS,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EACzD,IAAI,GAAG,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,EACrC,IAAI,GAAG,OAAO,CACd,SAAQ,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;CAAG;AAExD,eAAO,MAAM,SAAS,GAAI,UAAU,GAAG,KAAG,QAAQ,IAAI,QAErD,CAAC"}
|
package/lib/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAwDA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAa,EAAwB,EAAE;IAC/D,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC;AACjD,CAAC,CAAC"}
|
package/lib/stack.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { HttpClient } from "@effect/platform/HttpClient";
|
|
2
|
+
import { FileSystem } from "@effect/platform/FileSystem";
|
|
3
|
+
import { Path } from "@effect/platform/Path";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import * as App from "./app.ts";
|
|
7
|
+
import { type AppliedPlan } from "./apply.ts";
|
|
8
|
+
import { DotAlchemy } from "./dot-alchemy.ts";
|
|
9
|
+
import type { DerivePlan, Providers, TraverseResources } from "./plan.ts";
|
|
10
|
+
import type { Instance } from "./policy.ts";
|
|
11
|
+
import type { AnyResource } from "./resource.ts";
|
|
12
|
+
import type { AnyService } from "./service.ts";
|
|
13
|
+
import { type StageConfig, type Stages } from "./stage.ts";
|
|
14
|
+
import * as State from "./state.ts";
|
|
15
|
+
import type { Ref } from "./ref.ts";
|
|
16
|
+
import type { CLI } from "./cli/service.ts";
|
|
17
|
+
export declare const defineStack: <const Name extends string, Resources extends (AnyResource | AnyService)[], Req = never, Err = never>(stack: StackConfig<Name, Resources, Req, Err>) => Stack<Name, Instance<Resources[number]>, Req, Err>;
|
|
18
|
+
export type StackConfig<Name extends string, Resources extends (AnyResource | AnyService)[] = (AnyResource | AnyService)[], StagesReq = never, StagesErr = never, TapReq = never, TapErr = never> = {
|
|
19
|
+
name: Name;
|
|
20
|
+
stages: Stages<StagesReq, StagesErr>;
|
|
21
|
+
resources: Resources;
|
|
22
|
+
providers: Layer.Layer<Providers<Instance<Resources[number]>>, any, App.App | FileSystem | Path | DotAlchemy | HttpClient>;
|
|
23
|
+
state?: Layer.Layer<State.State>;
|
|
24
|
+
tap?: (output: StackOutput<Instance<Resources[number]>>) => Effect.Effect<any, TapErr, TapReq>;
|
|
25
|
+
} & (Exclude<NoInfer<StagesReq | TapReq>, BuiltInServices> extends never ? {
|
|
26
|
+
layers?: never;
|
|
27
|
+
} : {
|
|
28
|
+
layers: Layer.Layer<Exclude<StagesReq | TapReq, BuiltInServices>, never, never>;
|
|
29
|
+
});
|
|
30
|
+
export type StackOutput<Resources extends AnyResource | AnyService> = AppliedPlan<DerivePlan<Resources>>;
|
|
31
|
+
export type Stack<Name extends string = string, Resources extends AnyResource | AnyService = any, StagesReq = any, StagesErr = any, TapReq = any, TapErr = any> = {
|
|
32
|
+
name: Name;
|
|
33
|
+
stages: Stages<StagesReq, StagesErr>;
|
|
34
|
+
resources: Resources[];
|
|
35
|
+
providers: Layer.Layer<Providers<Resources>, any, BuiltInServices>;
|
|
36
|
+
state?: Layer.Layer<State.State>;
|
|
37
|
+
cli?: Layer.Layer<CLI>;
|
|
38
|
+
tap?: (output: StackOutput<Resources>) => Effect.Effect<void, TapErr, TapReq>;
|
|
39
|
+
} & (Exclude<StagesReq | TapReq, BuiltInServices> extends never ? {
|
|
40
|
+
layers?: never;
|
|
41
|
+
} : {
|
|
42
|
+
layers: Layer.Layer<Exclude<StagesReq | TapReq, BuiltInServices>, never, never>;
|
|
43
|
+
});
|
|
44
|
+
export type StackName<S extends Stack> = S extends Stack<infer Name, infer _> ? Name : never;
|
|
45
|
+
export type StackResources<S extends Stack> = S extends Stack<infer _, infer Resources> ? Resources : never;
|
|
46
|
+
export type BuiltInServices = App.App | FileSystem | Path | DotAlchemy | HttpClient;
|
|
47
|
+
export interface StackRefConfig<S extends Stack> extends StageConfig {
|
|
48
|
+
stack: S extends Stack<infer Name, any> ? Name : never;
|
|
49
|
+
stage?: string;
|
|
50
|
+
}
|
|
51
|
+
export type StackRef<Resources extends AnyResource | AnyService> = {
|
|
52
|
+
[Id in keyof AsRecord<Resources>]: Ref<AsRecord<Resources>[Id]>;
|
|
53
|
+
};
|
|
54
|
+
type AsRecord<Resources extends AnyResource | AnyService> = {
|
|
55
|
+
[Id in TraverseResources<Resources>["id"]]: Extract<TraverseResources<Resources>, {
|
|
56
|
+
id: Id;
|
|
57
|
+
}>;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"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"}
|
package/lib/stack.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileSystem } from "@effect/platform/FileSystem";
|
|
2
|
+
import { Path } from "@effect/platform/Path";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as App from "./app.js";
|
|
6
|
+
import {} from "./apply.js";
|
|
7
|
+
import { DotAlchemy } from "./dot-alchemy.js";
|
|
8
|
+
import {} from "./stage.js";
|
|
9
|
+
import * as State from "./state.js";
|
|
10
|
+
export const defineStack = (stack) => stack;
|
|
11
|
+
//# sourceMappingURL=stack.js.map
|
package/lib/stack.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAoB,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAiC,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAIpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAMzB,KAA6C,EACO,EAAE,CAAC,KAAY,CAAC"}
|
package/lib/stage.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import type { StackName, StackRef, Stack, StackResources } from "./stack.ts";
|
|
4
|
+
export interface StageConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Whether to retain the stage when destroying the stack.
|
|
7
|
+
*
|
|
8
|
+
* @default - true if the current stage starts with "prod"
|
|
9
|
+
*/
|
|
10
|
+
retain?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to adopt resources that already exist during the created phase.
|
|
13
|
+
*
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
adopt?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const Stage_base: Context.TagClass<Stage, "Stage", string>;
|
|
19
|
+
export declare class Stage extends Stage_base {
|
|
20
|
+
}
|
|
21
|
+
export type Stages<Req = never, Err = never> = {
|
|
22
|
+
config: (stage: string) => StageConfig | Effect.Effect<StageConfig, Err, Req>;
|
|
23
|
+
ref<S extends Stack>(name: StackName<S>): StackRefs<S>;
|
|
24
|
+
};
|
|
25
|
+
export declare const defineStages: <Req = never, Err = never>(config: (stage: string) => StageConfig | Effect.Effect<StageConfig, Err, Req>) => Stages<Req, Err>;
|
|
26
|
+
export interface StackRefBuilders {
|
|
27
|
+
[stage: string]: string | ((...args: any[]) => string);
|
|
28
|
+
}
|
|
29
|
+
export type StackRefs<S extends Stack> = {
|
|
30
|
+
[stage in string]: StackRef<StackResources<S>>;
|
|
31
|
+
} & {
|
|
32
|
+
as<Builders extends StackRefBuilders>(stages?: Builders): {
|
|
33
|
+
[stage in Exclude<string, keyof Builders>]: StackRef<StackResources<S>>;
|
|
34
|
+
} & {
|
|
35
|
+
[builder in keyof Builders]: Builders[builder] extends string ? StackRef<StackResources<S>> : Builders[builder] extends (...args: infer Args) => any ? (...args: Args) => StackRef<StackResources<S>> : never;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;;AAED,qBAAa,KAAM,SAAQ,UAAqC;CAAG;AAEnE,MAAM,MAAM,MAAM,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAC7C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9E,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,EACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,KAC5E,MAAM,CAAC,GAAG,EAAE,GAAG,CAkChB,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,IAAI;KACtC,KAAK,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAC/C,GAAG;IACF,EAAE,CAAC,QAAQ,SAAS,gBAAgB,EAClC,MAAM,CAAC,EAAE,QAAQ,GAChB;SACA,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KACxE,GAAG;SACD,OAAO,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,MAAM,GACzD,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAC3B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,GAAG,GACpD,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAC9C,KAAK;KACZ,CAAC;CACH,CAAC"}
|
package/lib/stage.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { ref } from "./ref.js";
|
|
4
|
+
export class Stage extends Context.Tag("Stage")() {
|
|
5
|
+
}
|
|
6
|
+
export const defineStages = (config) => ({
|
|
7
|
+
config,
|
|
8
|
+
ref: (stack) => {
|
|
9
|
+
const proxy = (get) => new Proxy({}, { get: (_, id) => get(id) });
|
|
10
|
+
const proxyStage = (stage) => proxy((resourceId) => ref({
|
|
11
|
+
stack,
|
|
12
|
+
stage,
|
|
13
|
+
resourceId,
|
|
14
|
+
}));
|
|
15
|
+
return proxy((stage) => stage == "as"
|
|
16
|
+
? (builders) => proxy((stage) => {
|
|
17
|
+
if (stage in builders) {
|
|
18
|
+
const builder = builders[stage];
|
|
19
|
+
return typeof builder === "string"
|
|
20
|
+
? proxyStage(stage)
|
|
21
|
+
: (...args) => proxyStage(builder(...args));
|
|
22
|
+
}
|
|
23
|
+
return proxyStage(stage);
|
|
24
|
+
})
|
|
25
|
+
: proxy((resourceId) => ref({
|
|
26
|
+
stack,
|
|
27
|
+
stage,
|
|
28
|
+
resourceId,
|
|
29
|
+
})));
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=stage.js.map
|
package/lib/stage.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAkB/B,MAAM,OAAO,KAAM,SAAQ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAiB;CAAG;AAOnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAA6E,EAC3D,EAAE,CAAC,CAAC;IACtB,MAAM;IACN,GAAG,EAAE,CAAkB,KAA4B,EAAgB,EAAE;QACnE,MAAM,KAAK,GAAG,CAAC,GAAwB,EAAE,EAAE,CACzC,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,KAAK,CAAC,CAAC,UAAkB,EAAE,EAAE,CAC3B,GAAG,CAAC;YACF,KAAK;YACL,KAAK;YACL,UAAU;SACX,CAAC,CACH,CAAC;QACJ,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,KAAK,IAAI,IAAI;YACX,CAAC,CAAC,CAAC,QAA0B,EAAE,EAAE,CAC7B,KAAK,CAAC,CAAC,KAAa,EAAE,EAAE;gBACtB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAA8B,CAAC,CAAC;oBACzD,OAAO,OAAO,OAAO,KAAK,QAAQ;wBAChC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;wBACnB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC;YACN,CAAC,CAAC,KAAK,CAAC,CAAC,UAAkB,EAAE,EAAE,CAC3B,GAAG,CAAC;gBACF,KAAK;gBACL,KAAK;gBACL,UAAU;aACX,CAAC,CACH,CACU,CAAC;IACpB,CAAC;CACF,CAAC,CAAC"}
|