@awsless/awsless 0.0.36 → 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
@@ -1129,6 +1129,7 @@ var TypeGen = class {
1129
1129
  return [
1130
1130
  imports,
1131
1131
  ...Array.from(this.codes),
1132
+ `export {}`,
1132
1133
  `declare module '${this.module}' {`,
1133
1134
  ` interface ${this.interfaceName} {`,
1134
1135
  ...Array.from(this.types.entries()).map(([propName, type]) => {
@@ -1299,8 +1300,7 @@ import { InvokeOptions } from '@awsless/lambda'
1299
1300
 
1300
1301
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1301
1302
  name: Name
1302
- invoke: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>) => ReturnType<Func>
1303
- 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>
1304
1304
  }`;
1305
1305
  var functionPlugin = definePlugin({
1306
1306
  name: "function",
@@ -1622,6 +1622,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1622
1622
  var BatchSizeSchema = import_zod8.z.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1623
1623
  var MaxConcurrencySchema = import_zod8.z.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1624
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
+ }`;
1625
1632
  var queuePlugin = definePlugin({
1626
1633
  name: "queue",
1627
1634
  schema: import_zod8.z.object({
@@ -1723,11 +1730,12 @@ var queuePlugin = definePlugin({
1723
1730
  }),
1724
1731
  onTypeGen({ config }) {
1725
1732
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1733
+ types2.addCode(typeGenCode2);
1726
1734
  for (const stack of config.stacks) {
1727
1735
  const list3 = new TypeObject();
1728
1736
  for (const name of Object.keys(stack.queues || {})) {
1729
1737
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1730
- list3.addType(name, `{ name: '${queueName}' }`);
1738
+ list3.addType(name, `Send<'${queueName}'>`);
1731
1739
  }
1732
1740
  types2.addType(stack.name, list3.toString());
1733
1741
  }
@@ -2189,6 +2197,13 @@ var SnsEventSource = class extends Group {
2189
2197
  };
2190
2198
 
2191
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
+ }`;
2192
2207
  var topicPlugin = definePlugin({
2193
2208
  name: "topic",
2194
2209
  schema: import_zod11.z.object({
@@ -2206,10 +2221,11 @@ var topicPlugin = definePlugin({
2206
2221
  }),
2207
2222
  onTypeGen({ config }) {
2208
2223
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2224
+ gen.addCode(typeGenCode3);
2209
2225
  for (const stack of config.stacks) {
2210
2226
  for (const topic of Object.keys(stack.topics || {})) {
2211
2227
  const name = formatName(`${config.name}-${topic}`);
2212
- gen.addType(topic, `{ name: '${name}' }`);
2228
+ gen.addType(topic, `Publish<'${name}'>`);
2213
2229
  }
2214
2230
  }
2215
2231
  return gen.toString();
package/dist/bin.js CHANGED
@@ -1106,6 +1106,7 @@ var TypeGen = class {
1106
1106
  return [
1107
1107
  imports,
1108
1108
  ...Array.from(this.codes),
1109
+ `export {}`,
1109
1110
  `declare module '${this.module}' {`,
1110
1111
  ` interface ${this.interfaceName} {`,
1111
1112
  ...Array.from(this.types.entries()).map(([propName, type]) => {
@@ -1276,8 +1277,7 @@ import { InvokeOptions } from '@awsless/lambda'
1276
1277
 
1277
1278
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1278
1279
  name: Name
1279
- invoke: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>) => ReturnType<Func>
1280
- 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>
1281
1281
  }`;
1282
1282
  var functionPlugin = definePlugin({
1283
1283
  name: "function",
@@ -1599,6 +1599,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1599
1599
  var BatchSizeSchema = z8.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1600
1600
  var MaxConcurrencySchema = z8.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1601
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
+ }`;
1602
1609
  var queuePlugin = definePlugin({
1603
1610
  name: "queue",
1604
1611
  schema: z8.object({
@@ -1700,11 +1707,12 @@ var queuePlugin = definePlugin({
1700
1707
  }),
1701
1708
  onTypeGen({ config }) {
1702
1709
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1710
+ types2.addCode(typeGenCode2);
1703
1711
  for (const stack of config.stacks) {
1704
1712
  const list3 = new TypeObject();
1705
1713
  for (const name of Object.keys(stack.queues || {})) {
1706
1714
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1707
- list3.addType(name, `{ name: '${queueName}' }`);
1715
+ list3.addType(name, `Send<'${queueName}'>`);
1708
1716
  }
1709
1717
  types2.addType(stack.name, list3.toString());
1710
1718
  }
@@ -2166,6 +2174,13 @@ var SnsEventSource = class extends Group {
2166
2174
  };
2167
2175
 
2168
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
+ }`;
2169
2184
  var topicPlugin = definePlugin({
2170
2185
  name: "topic",
2171
2186
  schema: z11.object({
@@ -2183,10 +2198,11 @@ var topicPlugin = definePlugin({
2183
2198
  }),
2184
2199
  onTypeGen({ config }) {
2185
2200
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2201
+ gen.addCode(typeGenCode3);
2186
2202
  for (const stack of config.stacks) {
2187
2203
  for (const topic of Object.keys(stack.topics || {})) {
2188
2204
  const name = formatName(`${config.name}-${topic}`);
2189
- gen.addType(topic, `{ name: '${name}' }`);
2205
+ gen.addType(topic, `Publish<'${name}'>`);
2190
2206
  }
2191
2207
  }
2192
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.36",
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",