@awsless/awsless 0.0.149 → 0.0.150

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/dist/bin.js CHANGED
@@ -261,7 +261,7 @@ var InlinePolicy = class {
261
261
  name;
262
262
  statements;
263
263
  constructor(name, props = {}) {
264
- this.statements = props.statements || [];
264
+ this.statements = props.statements ?? [];
265
265
  this.name = formatName(name);
266
266
  }
267
267
  addStatement(...statements) {
@@ -4883,6 +4883,16 @@ var sitePlugin = definePlugin({
4883
4883
  });
4884
4884
 
4885
4885
  // src/plugins/store/index.ts
4886
+ var typeGenCode4 = `
4887
+ import { Body, PutObjectProps, BodyStream } from '@awsless/s3'
4888
+
4889
+ type Store<Name extends string> = {
4890
+ readonly name: Name
4891
+ readonly put: (key: string, body: Body, options?: Pick<PutObjectProps, 'metadata' | 'storageClass'>) => Promise<void>
4892
+ readonly get: (key: string) => Promise<BodyStream>
4893
+ readonly delete: (key: string) => Promise<void>
4894
+ }
4895
+ `;
4886
4896
  var storePlugin = definePlugin({
4887
4897
  name: "store",
4888
4898
  async onTypeGen({ config: config2, write }) {
@@ -4892,10 +4902,11 @@ var storePlugin = definePlugin({
4892
4902
  const list3 = new TypeObject(2);
4893
4903
  for (const name of stack.stores || []) {
4894
4904
  const storeName = formatName(`${config2.app.name}-${stack.name}-${name}`);
4895
- list3.addType(name, `{ readonly name: '${storeName}' }`);
4905
+ list3.addType(name, `Store<'${storeName}'>`);
4896
4906
  }
4897
4907
  resources.addType(stack.name, list3);
4898
4908
  }
4909
+ gen.addCode(typeGenCode4);
4899
4910
  gen.addInterface("StoreResources", resources);
4900
4911
  await write("store.d.ts", gen, true);
4901
4912
  },
@@ -5207,7 +5218,7 @@ var isEmail = (value) => {
5207
5218
  };
5208
5219
 
5209
5220
  // src/plugins/topic/index.ts
5210
- var typeGenCode4 = `
5221
+ var typeGenCode5 = `
5211
5222
  import type { PublishOptions } from '@awsless/sns'
5212
5223
  import type { Mock } from 'vitest'
5213
5224
 
@@ -5234,7 +5245,7 @@ var topicPlugin = definePlugin({
5234
5245
  mocks.addType(topic, `MockBuilder`);
5235
5246
  }
5236
5247
  }
5237
- gen.addCode(typeGenCode4);
5248
+ gen.addCode(typeGenCode5);
5238
5249
  gen.addInterface("TopicResources", resources);
5239
5250
  gen.addInterface("TopicMock", mocks);
5240
5251
  gen.addInterface("TopicMockResponse", mockResponses);
package/dist/index.js CHANGED
@@ -191,11 +191,31 @@ var Cache = /* @__PURE__ */ createProxy((stack) => {
191
191
  });
192
192
 
193
193
  // src/node/store.ts
194
+ import { putObject, getObject, deleteObject } from "@awsless/s3";
194
195
  var getStoreName = getLocalResourceName;
195
196
  var Store = /* @__PURE__ */ createProxy((stack) => {
196
197
  return createProxy((name) => {
198
+ const bucket = getStoreName(name, stack);
197
199
  return {
198
- name: getStoreName(name, stack)
200
+ name: bucket,
201
+ async put(key, body, options = {}) {
202
+ await putObject({
203
+ bucket,
204
+ key,
205
+ body,
206
+ ...options
207
+ });
208
+ },
209
+ async get(key) {
210
+ const object = await getObject({ bucket, key });
211
+ if (object) {
212
+ return object.body;
213
+ }
214
+ return void 0;
215
+ },
216
+ delete(key) {
217
+ return deleteObject({ bucket, key });
218
+ }
199
219
  };
200
220
  });
201
221
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.149",
3
+ "version": "0.0.150",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -31,10 +31,11 @@
31
31
  "@awsless/lambda": "^0.0.15",
32
32
  "@awsless/redis": "^0.0.10",
33
33
  "@awsless/sns": "^0.0.7",
34
- "@awsless/sqs": "^0.0.7",
35
34
  "@awsless/ssm": "^0.0.7",
35
+ "@awsless/sqs": "^0.0.7",
36
36
  "@awsless/validate": "^0.0.10",
37
- "@awsless/weak-cache": "^0.0.1"
37
+ "@awsless/weak-cache": "^0.0.1",
38
+ "@awsless/s3": "^0.0.8"
38
39
  },
39
40
  "dependencies": {
40
41
  "@aws-appsync/utils": "^1.5.0",