@awsless/awsless 0.0.37 → 0.0.39

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
@@ -1127,16 +1127,23 @@ var TypeGen = class {
1127
1127
  return `import ${(0, import_change_case3.camelCase)(varName)} from '${path}'`;
1128
1128
  }).join("\n");
1129
1129
  return [
1130
+ "// Imports",
1130
1131
  imports,
1131
- ...Array.from(this.codes),
1132
- `export {}`,
1132
+ "",
1133
+ "// Types",
1134
+ ...Array.from(this.codes).map((v) => v.trim()),
1135
+ "",
1136
+ "// Module",
1133
1137
  `declare module '${this.module}' {`,
1134
1138
  ` interface ${this.interfaceName} {`,
1135
1139
  ...Array.from(this.types.entries()).map(([propName, type]) => {
1136
1140
  return ` readonly ${(0, import_change_case3.camelCase)(propName)}: ${type}`;
1137
1141
  }),
1138
1142
  ` }`,
1139
- `}`
1143
+ `}`,
1144
+ "",
1145
+ "// Declare module file FIX",
1146
+ `export {}`
1140
1147
  ].join("\n");
1141
1148
  }
1142
1149
  };
@@ -1300,8 +1307,7 @@ import { InvokeOptions } from '@awsless/lambda'
1300
1307
 
1301
1308
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1302
1309
  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>
1310
+ (payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
1305
1311
  }`;
1306
1312
  var functionPlugin = definePlugin({
1307
1313
  name: "function",
@@ -1623,6 +1629,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1623
1629
  var BatchSizeSchema = import_zod8.z.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1624
1630
  var MaxConcurrencySchema = import_zod8.z.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1625
1631
  var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
1632
+ var typeGenCode2 = `
1633
+ import { SendMessageOptions } from '@awsless/sqs'
1634
+
1635
+ type Send<Name extends string> = {
1636
+ name: Name
1637
+ (payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
1638
+ }`;
1626
1639
  var queuePlugin = definePlugin({
1627
1640
  name: "queue",
1628
1641
  schema: import_zod8.z.object({
@@ -1724,11 +1737,12 @@ var queuePlugin = definePlugin({
1724
1737
  }),
1725
1738
  onTypeGen({ config }) {
1726
1739
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1740
+ types2.addCode(typeGenCode2);
1727
1741
  for (const stack of config.stacks) {
1728
1742
  const list3 = new TypeObject();
1729
1743
  for (const name of Object.keys(stack.queues || {})) {
1730
1744
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1731
- list3.addType(name, `{ name: '${queueName}' }`);
1745
+ list3.addType(name, `Send<'${queueName}'>`);
1732
1746
  }
1733
1747
  types2.addType(stack.name, list3.toString());
1734
1748
  }
@@ -2107,6 +2121,18 @@ var storePlugin = definePlugin({
2107
2121
  stores: import_zod10.z.array(ResourceIdSchema).optional()
2108
2122
  }).array()
2109
2123
  }),
2124
+ onTypeGen({ config }) {
2125
+ const types2 = new TypeGen("@awsless/awsless", "StoreResources");
2126
+ for (const stack of config.stacks) {
2127
+ const list3 = new TypeObject();
2128
+ for (const name of stack.stores || []) {
2129
+ const storeName = formatName(`${config.name}-${stack.name}-${name}`);
2130
+ list3.addType(name, `{ name: '${storeName}' }`);
2131
+ }
2132
+ types2.addType(stack.name, list3.toString());
2133
+ }
2134
+ return types2.toString();
2135
+ },
2110
2136
  onStack({ config, stack, stackConfig, bind }) {
2111
2137
  for (const id of stackConfig.stores || []) {
2112
2138
  const bucket = new Bucket(id, {
@@ -2190,6 +2216,13 @@ var SnsEventSource = class extends Group {
2190
2216
  };
2191
2217
 
2192
2218
  // src/plugins/topic.ts
2219
+ var typeGenCode3 = `
2220
+ import { PublishOptions } from '@awsless/sns'
2221
+
2222
+ type Publish<Name extends string> = {
2223
+ name: Name
2224
+ (payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
2225
+ }`;
2193
2226
  var topicPlugin = definePlugin({
2194
2227
  name: "topic",
2195
2228
  schema: import_zod11.z.object({
@@ -2207,10 +2240,11 @@ var topicPlugin = definePlugin({
2207
2240
  }),
2208
2241
  onTypeGen({ config }) {
2209
2242
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2243
+ gen.addCode(typeGenCode3);
2210
2244
  for (const stack of config.stacks) {
2211
2245
  for (const topic of Object.keys(stack.topics || {})) {
2212
2246
  const name = formatName(`${config.name}-${topic}`);
2213
- gen.addType(topic, `{ name: '${name}' }`);
2247
+ gen.addType(topic, `Publish<'${name}'>`);
2214
2248
  }
2215
2249
  }
2216
2250
  return gen.toString();
@@ -3858,6 +3892,18 @@ var searchPlugin = definePlugin({
3858
3892
  searchs: import_zod18.z.array(ResourceIdSchema).optional()
3859
3893
  }).array()
3860
3894
  }),
3895
+ onTypeGen({ config }) {
3896
+ const gen = new TypeGen("@awsless/awsless", "SearchResources");
3897
+ for (const stack of config.stacks) {
3898
+ const list3 = new TypeObject();
3899
+ for (const id of stack.searchs || []) {
3900
+ const name = formatName(`${config.name}-${stack.name}-${id}`);
3901
+ list3.addType(name, `{ name: '${name}' }`);
3902
+ }
3903
+ gen.addType(stack.name, list3.toString());
3904
+ }
3905
+ return gen.toString();
3906
+ },
3861
3907
  onStack({ config, stack, stackConfig, bind }) {
3862
3908
  for (const id of stackConfig.searchs || []) {
3863
3909
  const collection = new Collection(id, {
@@ -3986,6 +4032,17 @@ var cachePlugin = definePlugin({
3986
4032
  ).optional()
3987
4033
  }).array()
3988
4034
  }),
4035
+ onTypeGen({ config }) {
4036
+ const gen = new TypeGen("@awsless/awsless", "CacheResources");
4037
+ for (const stack of config.stacks) {
4038
+ const list3 = new TypeObject();
4039
+ for (const name of Object.keys(stack.caches || {})) {
4040
+ list3.addType(name, `{ host: string, port:number }`);
4041
+ }
4042
+ gen.addType(stack.name, list3.toString());
4043
+ }
4044
+ return gen.toString();
4045
+ },
3989
4046
  onStack({ config, stack, stackConfig, bootstrap: bootstrap2, bind }) {
3990
4047
  for (const [id, props] of Object.entries(stackConfig.caches || {})) {
3991
4048
  const name = `${config.name}-${stack.name}-${id}`;
package/dist/bin.js CHANGED
@@ -1104,16 +1104,23 @@ var TypeGen = class {
1104
1104
  return `import ${camelCase(varName)} from '${path}'`;
1105
1105
  }).join("\n");
1106
1106
  return [
1107
+ "// Imports",
1107
1108
  imports,
1108
- ...Array.from(this.codes),
1109
- `export {}`,
1109
+ "",
1110
+ "// Types",
1111
+ ...Array.from(this.codes).map((v) => v.trim()),
1112
+ "",
1113
+ "// Module",
1110
1114
  `declare module '${this.module}' {`,
1111
1115
  ` interface ${this.interfaceName} {`,
1112
1116
  ...Array.from(this.types.entries()).map(([propName, type]) => {
1113
1117
  return ` readonly ${camelCase(propName)}: ${type}`;
1114
1118
  }),
1115
1119
  ` }`,
1116
- `}`
1120
+ `}`,
1121
+ "",
1122
+ "// Declare module file FIX",
1123
+ `export {}`
1117
1124
  ].join("\n");
1118
1125
  }
1119
1126
  };
@@ -1277,8 +1284,7 @@ import { InvokeOptions } from '@awsless/lambda'
1277
1284
 
1278
1285
  type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
1279
1286
  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>
1287
+ (payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
1282
1288
  }`;
1283
1289
  var functionPlugin = definePlugin({
1284
1290
  name: "function",
@@ -1600,6 +1606,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
1600
1606
  var BatchSizeSchema = z8.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
1601
1607
  var MaxConcurrencySchema = z8.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
1602
1608
  var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
1609
+ var typeGenCode2 = `
1610
+ import { SendMessageOptions } from '@awsless/sqs'
1611
+
1612
+ type Send<Name extends string> = {
1613
+ name: Name
1614
+ (payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
1615
+ }`;
1603
1616
  var queuePlugin = definePlugin({
1604
1617
  name: "queue",
1605
1618
  schema: z8.object({
@@ -1701,11 +1714,12 @@ var queuePlugin = definePlugin({
1701
1714
  }),
1702
1715
  onTypeGen({ config }) {
1703
1716
  const types2 = new TypeGen("@awsless/awsless", "QueueResources");
1717
+ types2.addCode(typeGenCode2);
1704
1718
  for (const stack of config.stacks) {
1705
1719
  const list3 = new TypeObject();
1706
1720
  for (const name of Object.keys(stack.queues || {})) {
1707
1721
  const queueName = formatName(`${config.name}-${stack.name}-${name}`);
1708
- list3.addType(name, `{ name: '${queueName}' }`);
1722
+ list3.addType(name, `Send<'${queueName}'>`);
1709
1723
  }
1710
1724
  types2.addType(stack.name, list3.toString());
1711
1725
  }
@@ -2084,6 +2098,18 @@ var storePlugin = definePlugin({
2084
2098
  stores: z10.array(ResourceIdSchema).optional()
2085
2099
  }).array()
2086
2100
  }),
2101
+ onTypeGen({ config }) {
2102
+ const types2 = new TypeGen("@awsless/awsless", "StoreResources");
2103
+ for (const stack of config.stacks) {
2104
+ const list3 = new TypeObject();
2105
+ for (const name of stack.stores || []) {
2106
+ const storeName = formatName(`${config.name}-${stack.name}-${name}`);
2107
+ list3.addType(name, `{ name: '${storeName}' }`);
2108
+ }
2109
+ types2.addType(stack.name, list3.toString());
2110
+ }
2111
+ return types2.toString();
2112
+ },
2087
2113
  onStack({ config, stack, stackConfig, bind }) {
2088
2114
  for (const id of stackConfig.stores || []) {
2089
2115
  const bucket = new Bucket(id, {
@@ -2167,6 +2193,13 @@ var SnsEventSource = class extends Group {
2167
2193
  };
2168
2194
 
2169
2195
  // src/plugins/topic.ts
2196
+ var typeGenCode3 = `
2197
+ import { PublishOptions } from '@awsless/sns'
2198
+
2199
+ type Publish<Name extends string> = {
2200
+ name: Name
2201
+ (payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
2202
+ }`;
2170
2203
  var topicPlugin = definePlugin({
2171
2204
  name: "topic",
2172
2205
  schema: z11.object({
@@ -2184,10 +2217,11 @@ var topicPlugin = definePlugin({
2184
2217
  }),
2185
2218
  onTypeGen({ config }) {
2186
2219
  const gen = new TypeGen("@awsless/awsless", "TopicResources");
2220
+ gen.addCode(typeGenCode3);
2187
2221
  for (const stack of config.stacks) {
2188
2222
  for (const topic of Object.keys(stack.topics || {})) {
2189
2223
  const name = formatName(`${config.name}-${topic}`);
2190
- gen.addType(topic, `{ name: '${name}' }`);
2224
+ gen.addType(topic, `Publish<'${name}'>`);
2191
2225
  }
2192
2226
  }
2193
2227
  return gen.toString();
@@ -3835,6 +3869,18 @@ var searchPlugin = definePlugin({
3835
3869
  searchs: z18.array(ResourceIdSchema).optional()
3836
3870
  }).array()
3837
3871
  }),
3872
+ onTypeGen({ config }) {
3873
+ const gen = new TypeGen("@awsless/awsless", "SearchResources");
3874
+ for (const stack of config.stacks) {
3875
+ const list3 = new TypeObject();
3876
+ for (const id of stack.searchs || []) {
3877
+ const name = formatName(`${config.name}-${stack.name}-${id}`);
3878
+ list3.addType(name, `{ name: '${name}' }`);
3879
+ }
3880
+ gen.addType(stack.name, list3.toString());
3881
+ }
3882
+ return gen.toString();
3883
+ },
3838
3884
  onStack({ config, stack, stackConfig, bind }) {
3839
3885
  for (const id of stackConfig.searchs || []) {
3840
3886
  const collection = new Collection(id, {
@@ -3963,6 +4009,17 @@ var cachePlugin = definePlugin({
3963
4009
  ).optional()
3964
4010
  }).array()
3965
4011
  }),
4012
+ onTypeGen({ config }) {
4013
+ const gen = new TypeGen("@awsless/awsless", "CacheResources");
4014
+ for (const stack of config.stacks) {
4015
+ const list3 = new TypeObject();
4016
+ for (const name of Object.keys(stack.caches || {})) {
4017
+ list3.addType(name, `{ host: string, port:number }`);
4018
+ }
4019
+ gen.addType(stack.name, list3.toString());
4020
+ }
4021
+ return gen.toString();
4022
+ },
3966
4023
  onStack({ config, stack, stackConfig, bootstrap: bootstrap2, bind }) {
3967
4024
  for (const [id, props] of Object.entries(stackConfig.caches || {})) {
3968
4025
  const name = `${config.name}-${stack.name}-${id}`;
package/dist/index.cjs CHANGED
@@ -20,8 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ APP: () => APP,
24
+ Cache: () => Cache,
23
25
  Function: () => Function,
24
26
  Queue: () => Queue,
27
+ STACK: () => STACK,
28
+ Search: () => Search,
29
+ Store: () => Store,
25
30
  Table: () => Table,
26
31
  Topic: () => Topic,
27
32
  defineAppConfig: () => defineAppConfig,
@@ -53,18 +58,9 @@ var getLocalResourceName = (name, stack = STACK) => {
53
58
  var getGlobalResourceName = (name) => {
54
59
  return `${APP}-${(0, import_change_case.paramCase)(name)}`;
55
60
  };
56
- var getSearchName = getLocalResourceName;
57
- var getStoreName = getLocalResourceName;
58
61
  var getSecretName = (name) => {
59
62
  return `/.awsless/${APP}/${name}`;
60
63
  };
61
- var getCacheProps = (name, stack = STACK) => {
62
- const prefix = `CACHE_${stack}_${name}`;
63
- return {
64
- host: process.env[`${prefix}_HOST`],
65
- port: parseInt(process.env[`${prefix}_PORT`], 10)
66
- };
67
- };
68
64
 
69
65
  // src/node/function.ts
70
66
  var import_lambda = require("@awsless/lambda");
@@ -89,24 +85,15 @@ var getFunctionName = (stack, name) => {
89
85
  var Function = createProxy((stackName) => {
90
86
  return createProxy((funcName) => {
91
87
  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
- }
88
+ const call = (payload, options = {}) => {
89
+ return (0, import_lambda.invoke)({
90
+ ...options,
91
+ name,
92
+ payload
93
+ });
109
94
  };
95
+ call.name = name;
96
+ return call;
110
97
  });
111
98
  });
112
99
 
@@ -121,25 +108,69 @@ var Table = createProxy((stack) => {
121
108
  });
122
109
 
123
110
  // src/node/topic.ts
111
+ var import_sns = require("@awsless/sns");
124
112
  var getTopicName = getGlobalResourceName;
125
113
  var Topic = createProxy((topic) => {
126
114
  const name = getTopicName(topic);
127
- return {
128
- name
129
- // publish(payload:unknown) {
130
- // }
115
+ const call = (payload, options = {}) => {
116
+ return (0, import_sns.publish)({
117
+ ...options,
118
+ topic: name,
119
+ payload
120
+ });
131
121
  };
122
+ call.name = name;
123
+ return call;
132
124
  });
133
125
 
134
126
  // src/node/queue.ts
127
+ var import_sqs = require("@awsless/sqs");
135
128
  var getQueueName = getLocalResourceName;
136
129
  var Queue = createProxy((stack) => {
137
130
  return createProxy((queue) => {
138
131
  const name = getQueueName(queue, stack);
132
+ const send = (payload, options) => {
133
+ return (0, import_sqs.sendMessage)({
134
+ ...options,
135
+ queue: name,
136
+ payload
137
+ });
138
+ };
139
+ send.name = name;
140
+ return send;
141
+ });
142
+ });
143
+
144
+ // src/node/cache.ts
145
+ var getCacheProps = (name, stack = STACK) => {
146
+ const prefix = `CACHE_${stack}_${name}`;
147
+ return {
148
+ host: process.env[`${prefix}_HOST`],
149
+ port: parseInt(process.env[`${prefix}_PORT`], 10)
150
+ };
151
+ };
152
+ var Cache = createProxy((stack) => {
153
+ return createProxy((name) => {
154
+ return getCacheProps(name, stack);
155
+ });
156
+ });
157
+
158
+ // src/node/store.ts
159
+ var getStoreName = getLocalResourceName;
160
+ var Store = createProxy((stack) => {
161
+ return createProxy((name) => {
162
+ return {
163
+ name: getStoreName(name, stack)
164
+ };
165
+ });
166
+ });
167
+
168
+ // src/node/search.ts
169
+ var getSearchName = getLocalResourceName;
170
+ var Search = createProxy((stack) => {
171
+ return createProxy((name) => {
139
172
  return {
140
- name
141
- // sendMessage(payload:unknown) {
142
- // }
173
+ name: getSearchName(name, stack)
143
174
  };
144
175
  });
145
176
  });
@@ -153,8 +184,13 @@ var defineAppConfig = (config) => {
153
184
  };
154
185
  // Annotate the CommonJS export names for ESM import in node:
155
186
  0 && (module.exports = {
187
+ APP,
188
+ Cache,
156
189
  Function,
157
190
  Queue,
191
+ STACK,
192
+ Search,
193
+ Store,
158
194
  Table,
159
195
  Topic,
160
196
  defineAppConfig,
package/dist/index.d.ts CHANGED
@@ -2470,15 +2470,11 @@ type Plugin<S extends AnyZodObject | undefined = undefined> = {
2470
2470
  };
2471
2471
  declare const definePlugin: <S extends AnyZodObject | undefined = undefined>(plugin: Plugin<S>) => Plugin<S>;
2472
2472
 
2473
+ declare const APP: "app";
2474
+ declare const STACK: "stack";
2473
2475
  declare const getLocalResourceName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2474
2476
  declare const getGlobalResourceName: <N extends string>(name: N) => `app-${N}`;
2475
- declare const getSearchName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2476
- declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2477
2477
  declare const getSecretName: (name: string) => string;
2478
- declare const getCacheProps: (name: string, stack?: "stack") => {
2479
- readonly host: string;
2480
- readonly port: number;
2481
- };
2482
2478
 
2483
2479
  declare const getFunctionName: <S extends string, N extends string>(stack: S, name: N) => `app-${S}-${N}`;
2484
2480
  interface FunctionResources {
@@ -2493,12 +2489,30 @@ declare const Table: TableResources;
2493
2489
  declare const getTopicName: <N extends string>(name: N) => `app-${N}`;
2494
2490
  interface TopicResources {
2495
2491
  }
2496
- declare const Topic: {};
2492
+ declare const Topic: TopicResources;
2497
2493
 
2498
2494
  declare const getQueueName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2499
2495
  interface QueueResources {
2500
2496
  }
2501
- declare const Queue: {};
2497
+ declare const Queue: QueueResources;
2498
+
2499
+ declare const getCacheProps: (name: string, stack?: string) => {
2500
+ readonly host: string;
2501
+ readonly port: number;
2502
+ };
2503
+ interface CacheResources {
2504
+ }
2505
+ declare const Cache: CacheResources;
2506
+
2507
+ declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2508
+ interface StoreResources {
2509
+ }
2510
+ declare const Store: StoreResources;
2511
+
2512
+ declare const getSearchName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
2513
+ interface SearchResources {
2514
+ }
2515
+ declare const Search: SearchResources;
2502
2516
 
2503
2517
  type AppConfig = CombinedDefaultPluginsConfigInput;
2504
2518
  type StackConfig = CombinedDefaultPluginsConfigInput['stacks'][number];
@@ -2718,4 +2732,4 @@ declare const defineStackConfig: (config: StackConfig) => StackConfig$1 | (Stack
2718
2732
  });
2719
2733
  declare const defineAppConfig: (config: AppConfig | AppConfigFactory<AppConfig>) => CombinedDefaultPluginsConfigInput | AppConfigFactory<CombinedDefaultPluginsConfigInput>;
2720
2734
 
2721
- export { AppConfig, Function, FunctionResources, Plugin, Queue, QueueResources, StackConfig, Table, TableResources, Topic, TopicResources, defineAppConfig, definePlugin, defineStackConfig, getCacheProps, getFunctionName, getGlobalResourceName, getLocalResourceName, getQueueName, getSearchName, getSecretName, getStoreName, getTableName, getTopicName };
2735
+ export { APP, AppConfig, Cache, CacheResources, Function, FunctionResources, Plugin, Queue, QueueResources, STACK, Search, SearchResources, StackConfig, Store, StoreResources, Table, TableResources, Topic, TopicResources, defineAppConfig, definePlugin, defineStackConfig, getCacheProps, getFunctionName, getGlobalResourceName, getLocalResourceName, getQueueName, getSearchName, getSecretName, getStoreName, getTableName, getTopicName };
package/dist/index.js CHANGED
@@ -12,18 +12,9 @@ var getLocalResourceName = (name, stack = STACK) => {
12
12
  var getGlobalResourceName = (name) => {
13
13
  return `${APP}-${paramCase(name)}`;
14
14
  };
15
- var getSearchName = getLocalResourceName;
16
- var getStoreName = getLocalResourceName;
17
15
  var getSecretName = (name) => {
18
16
  return `/.awsless/${APP}/${name}`;
19
17
  };
20
- var getCacheProps = (name, stack = STACK) => {
21
- const prefix = `CACHE_${stack}_${name}`;
22
- return {
23
- host: process.env[`${prefix}_HOST`],
24
- port: parseInt(process.env[`${prefix}_PORT`], 10)
25
- };
26
- };
27
18
 
28
19
  // src/node/function.ts
29
20
  import { invoke } from "@awsless/lambda";
@@ -48,24 +39,15 @@ var getFunctionName = (stack, name) => {
48
39
  var Function = createProxy((stackName) => {
49
40
  return createProxy((funcName) => {
50
41
  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
- }
42
+ const call = (payload, options = {}) => {
43
+ return invoke({
44
+ ...options,
45
+ name,
46
+ payload
47
+ });
68
48
  };
49
+ call.name = name;
50
+ return call;
69
51
  });
70
52
  });
71
53
 
@@ -80,25 +62,69 @@ var Table = createProxy((stack) => {
80
62
  });
81
63
 
82
64
  // src/node/topic.ts
65
+ import { publish } from "@awsless/sns";
83
66
  var getTopicName = getGlobalResourceName;
84
67
  var Topic = createProxy((topic) => {
85
68
  const name = getTopicName(topic);
86
- return {
87
- name
88
- // publish(payload:unknown) {
89
- // }
69
+ const call = (payload, options = {}) => {
70
+ return publish({
71
+ ...options,
72
+ topic: name,
73
+ payload
74
+ });
90
75
  };
76
+ call.name = name;
77
+ return call;
91
78
  });
92
79
 
93
80
  // src/node/queue.ts
81
+ import { sendMessage } from "@awsless/sqs";
94
82
  var getQueueName = getLocalResourceName;
95
83
  var Queue = createProxy((stack) => {
96
84
  return createProxy((queue) => {
97
85
  const name = getQueueName(queue, stack);
86
+ const send = (payload, options) => {
87
+ return sendMessage({
88
+ ...options,
89
+ queue: name,
90
+ payload
91
+ });
92
+ };
93
+ send.name = name;
94
+ return send;
95
+ });
96
+ });
97
+
98
+ // src/node/cache.ts
99
+ var getCacheProps = (name, stack = STACK) => {
100
+ const prefix = `CACHE_${stack}_${name}`;
101
+ return {
102
+ host: process.env[`${prefix}_HOST`],
103
+ port: parseInt(process.env[`${prefix}_PORT`], 10)
104
+ };
105
+ };
106
+ var Cache = createProxy((stack) => {
107
+ return createProxy((name) => {
108
+ return getCacheProps(name, stack);
109
+ });
110
+ });
111
+
112
+ // src/node/store.ts
113
+ var getStoreName = getLocalResourceName;
114
+ var Store = createProxy((stack) => {
115
+ return createProxy((name) => {
116
+ return {
117
+ name: getStoreName(name, stack)
118
+ };
119
+ });
120
+ });
121
+
122
+ // src/node/search.ts
123
+ var getSearchName = getLocalResourceName;
124
+ var Search = createProxy((stack) => {
125
+ return createProxy((name) => {
98
126
  return {
99
- name
100
- // sendMessage(payload:unknown) {
101
- // }
127
+ name: getSearchName(name, stack)
102
128
  };
103
129
  });
104
130
  });
@@ -111,8 +137,13 @@ var defineAppConfig = (config) => {
111
137
  return config;
112
138
  };
113
139
  export {
140
+ APP,
141
+ Cache,
114
142
  Function,
115
143
  Queue,
144
+ STACK,
145
+ Search,
146
+ Store,
116
147
  Table,
117
148
  Topic,
118
149
  defineAppConfig,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.37",
3
+ "version": "0.0.39",
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",