@awsless/awsless 0.0.37 → 0.0.38

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.cjs CHANGED
@@ -1300,8 +1300,7 @@ import { InvokeOptions } from '@awsless/lambda'
1300
1300
 
1301
1301
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1302
1302
  name: Name
1303
- invoke: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>) => ReturnType<Func>
1304
- async: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload' | 'type'>) => ReturnType<Func>
1303
+ (payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
1305
1304
  }`;
1306
1305
  var functionPlugin = definePlugin({
1307
1306
  name: "function",
@@ -1623,6 +1622,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1623
1622
  var BatchSizeSchema = import_zod8.z.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1624
1623
  var MaxConcurrencySchema = import_zod8.z.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1625
1624
  var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
1625
+ var typeGenCode2 = `
1626
+ import { SendMessageOptions } from '@awsless/sqs'
1627
+
1628
+ type Send<Name extends string> = {
1629
+ name: Name
1630
+ (payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
1631
+ }`;
1626
1632
  var queuePlugin = definePlugin({
1627
1633
  name: "queue",
1628
1634
  schema: import_zod8.z.object({
@@ -1724,11 +1730,12 @@ var queuePlugin = definePlugin({
1724
1730
  }),
1725
1731
  onTypeGen({ config }) {
1726
1732
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1733
+ types2.addCode(typeGenCode2);
1727
1734
  for (const stack of config.stacks) {
1728
1735
  const list3 = new TypeObject();
1729
1736
  for (const name of Object.keys(stack.queues || {})) {
1730
1737
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1731
- list3.addType(name, `{ name: '${queueName}' }`);
1738
+ list3.addType(name, `Send<'${queueName}'>`);
1732
1739
  }
1733
1740
  types2.addType(stack.name, list3.toString());
1734
1741
  }
@@ -2190,6 +2197,13 @@ var SnsEventSource = class extends Group {
2190
2197
  };
2191
2198
 
2192
2199
  // src/plugins/topic.ts
2200
+ var typeGenCode3 = `
2201
+ import { PublishOptions } from '@awsless/sns'
2202
+
2203
+ type Publish<Name extends string> = {
2204
+ name: Name
2205
+ (payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
2206
+ }`;
2193
2207
  var topicPlugin = definePlugin({
2194
2208
  name: "topic",
2195
2209
  schema: import_zod11.z.object({
@@ -2207,10 +2221,11 @@ var topicPlugin = definePlugin({
2207
2221
  }),
2208
2222
  onTypeGen({ config }) {
2209
2223
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2224
+ gen.addCode(typeGenCode3);
2210
2225
  for (const stack of config.stacks) {
2211
2226
  for (const topic of Object.keys(stack.topics || {})) {
2212
2227
  const name = formatName(`${config.name}-${topic}`);
2213
- gen.addType(topic, `{ name: '${name}' }`);
2228
+ gen.addType(topic, `Publish<'${name}'>`);
2214
2229
  }
2215
2230
  }
2216
2231
  return gen.toString();
package/dist/bin.js CHANGED
@@ -1277,8 +1277,7 @@ import { InvokeOptions } from '@awsless/lambda'
1277
1277
 
1278
1278
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1279
1279
  name: Name
1280
- invoke: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>) => ReturnType<Func>
1281
- async: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload' | 'type'>) => ReturnType<Func>
1280
+ (payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
1282
1281
  }`;
1283
1282
  var functionPlugin = definePlugin({
1284
1283
  name: "function",
@@ -1600,6 +1599,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1600
1599
  var BatchSizeSchema = z8.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1601
1600
  var MaxConcurrencySchema = z8.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1602
1601
  var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
1602
+ var typeGenCode2 = `
1603
+ import { SendMessageOptions } from '@awsless/sqs'
1604
+
1605
+ type Send<Name extends string> = {
1606
+ name: Name
1607
+ (payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
1608
+ }`;
1603
1609
  var queuePlugin = definePlugin({
1604
1610
  name: "queue",
1605
1611
  schema: z8.object({
@@ -1701,11 +1707,12 @@ var queuePlugin = definePlugin({
1701
1707
  }),
1702
1708
  onTypeGen({ config }) {
1703
1709
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1710
+ types2.addCode(typeGenCode2);
1704
1711
  for (const stack of config.stacks) {
1705
1712
  const list3 = new TypeObject();
1706
1713
  for (const name of Object.keys(stack.queues || {})) {
1707
1714
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1708
- list3.addType(name, `{ name: '${queueName}' }`);
1715
+ list3.addType(name, `Send<'${queueName}'>`);
1709
1716
  }
1710
1717
  types2.addType(stack.name, list3.toString());
1711
1718
  }
@@ -2167,6 +2174,13 @@ var SnsEventSource = class extends Group {
2167
2174
  };
2168
2175
 
2169
2176
  // src/plugins/topic.ts
2177
+ var typeGenCode3 = `
2178
+ import { PublishOptions } from '@awsless/sns'
2179
+
2180
+ type Publish<Name extends string> = {
2181
+ name: Name
2182
+ (payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
2183
+ }`;
2170
2184
  var topicPlugin = definePlugin({
2171
2185
  name: "topic",
2172
2186
  schema: z11.object({
@@ -2184,10 +2198,11 @@ var topicPlugin = definePlugin({
2184
2198
  }),
2185
2199
  onTypeGen({ config }) {
2186
2200
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2201
+ gen.addCode(typeGenCode3);
2187
2202
  for (const stack of config.stacks) {
2188
2203
  for (const topic of Object.keys(stack.topics || {})) {
2189
2204
  const name = formatName(`${config.name}-${topic}`);
2190
- gen.addType(topic, `{ name: '${name}' }`);
2205
+ gen.addType(topic, `Publish<'${name}'>`);
2191
2206
  }
2192
2207
  }
2193
2208
  return gen.toString();
package/dist/index.cjs CHANGED
@@ -89,24 +89,15 @@ var getFunctionName = (stack, name) => {
89
89
  var Function = createProxy((stackName) => {
90
90
  return createProxy((funcName) => {
91
91
  const name = getFunctionName(stackName, funcName);
92
- return {
93
- name,
94
- invoke(payload, options = {}) {
95
- return (0, import_lambda.invoke)({
96
- ...options,
97
- name,
98
- payload
99
- });
100
- },
101
- async(payload, options = {}) {
102
- return (0, import_lambda.invoke)({
103
- ...options,
104
- name,
105
- payload,
106
- type: "Event"
107
- });
108
- }
92
+ const call = (payload, options = {}) => {
93
+ return (0, import_lambda.invoke)({
94
+ ...options,
95
+ name,
96
+ payload
97
+ });
109
98
  };
99
+ call.name = name;
100
+ return call;
110
101
  });
111
102
  });
112
103
 
@@ -121,26 +112,36 @@ var Table = createProxy((stack) => {
121
112
  });
122
113
 
123
114
  // src/node/topic.ts
115
+ var import_sns = require("@awsless/sns");
124
116
  var getTopicName = getGlobalResourceName;
125
117
  var Topic = createProxy((topic) => {
126
118
  const name = getTopicName(topic);
127
- return {
128
- name
129
- // publish(payload:unknown) {
130
- // }
119
+ const call = (payload, options = {}) => {
120
+ return (0, import_sns.publish)({
121
+ ...options,
122
+ topic: name,
123
+ payload
124
+ });
131
125
  };
126
+ call.name = name;
127
+ return call;
132
128
  });
133
129
 
134
130
  // src/node/queue.ts
131
+ var import_sqs = require("@awsless/sqs");
135
132
  var getQueueName = getLocalResourceName;
136
133
  var Queue = createProxy((stack) => {
137
134
  return createProxy((queue) => {
138
135
  const name = getQueueName(queue, stack);
139
- return {
140
- name
141
- // sendMessage(payload:unknown) {
142
- // }
136
+ const send = (payload, options) => {
137
+ return (0, import_sqs.sendMessage)({
138
+ ...options,
139
+ queue: name,
140
+ payload
141
+ });
143
142
  };
143
+ send.name = name;
144
+ return send;
144
145
  });
145
146
  });
146
147
 
package/dist/index.js CHANGED
@@ -48,24 +48,15 @@ var getFunctionName = (stack, name) => {
48
48
  var Function = createProxy((stackName) => {
49
49
  return createProxy((funcName) => {
50
50
  const name = getFunctionName(stackName, funcName);
51
- return {
52
- name,
53
- invoke(payload, options = {}) {
54
- return invoke({
55
- ...options,
56
- name,
57
- payload
58
- });
59
- },
60
- async(payload, options = {}) {
61
- return invoke({
62
- ...options,
63
- name,
64
- payload,
65
- type: "Event"
66
- });
67
- }
51
+ const call = (payload, options = {}) => {
52
+ return invoke({
53
+ ...options,
54
+ name,
55
+ payload
56
+ });
68
57
  };
58
+ call.name = name;
59
+ return call;
69
60
  });
70
61
  });
71
62
 
@@ -80,26 +71,36 @@ var Table = createProxy((stack) => {
80
71
  });
81
72
 
82
73
  // src/node/topic.ts
74
+ import { publish } from "@awsless/sns";
83
75
  var getTopicName = getGlobalResourceName;
84
76
  var Topic = createProxy((topic) => {
85
77
  const name = getTopicName(topic);
86
- return {
87
- name
88
- // publish(payload:unknown) {
89
- // }
78
+ const call = (payload, options = {}) => {
79
+ return publish({
80
+ ...options,
81
+ topic: name,
82
+ payload
83
+ });
90
84
  };
85
+ call.name = name;
86
+ return call;
91
87
  });
92
88
 
93
89
  // src/node/queue.ts
90
+ import { sendMessage } from "@awsless/sqs";
94
91
  var getQueueName = getLocalResourceName;
95
92
  var Queue = createProxy((stack) => {
96
93
  return createProxy((queue) => {
97
94
  const name = getQueueName(queue, stack);
98
- return {
99
- name
100
- // sendMessage(payload:unknown) {
101
- // }
95
+ const send = (payload, options) => {
96
+ return sendMessage({
97
+ ...options,
98
+ queue: name,
99
+ payload
100
+ });
102
101
  };
102
+ send.name = name;
103
+ return send;
103
104
  });
104
105
  });
105
106
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.37",
3
+ "version": "0.0.38",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -25,7 +25,9 @@
25
25
  }
26
26
  },
27
27
  "peerDependencies": {
28
- "@awsless/lambda": "^0.0.5"
28
+ "@awsless/lambda": "^0.0.5",
29
+ "@awsless/sns": "^0.0.5",
30
+ "@awsless/sqs": "^0.0.5"
29
31
  },
30
32
  "dependencies": {
31
33
  "@aws-sdk/client-cloudformation": "^3.369.0",