atmx-cli 0.103.0 → 0.105.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.
|
@@ -142,11 +142,24 @@ function generateSDKContent(contracts, isReact) {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
|
-
// Vanilla Web
|
|
146
|
-
content += ` ${fnName}
|
|
147
|
-
content += `
|
|
148
|
-
content += `
|
|
149
|
-
content += `
|
|
145
|
+
// ✨ UPGRADED: Vanilla Web static compiler methods mapped to dynamic objects
|
|
146
|
+
content += ` ${fnName}: Object.assign(\n`;
|
|
147
|
+
content += ` (args?: Record<string, any>): string => {\n`;
|
|
148
|
+
content += ` const argsStr = args && Object.keys(args).length > 0 ? JSON.stringify(args) : '';\n`;
|
|
149
|
+
content += ` return \`${namespace}.${endpoint.name}(\${argsStr})\`;\n`;
|
|
150
|
+
content += ` },\n`;
|
|
151
|
+
content += ` {\n`;
|
|
152
|
+
content += ` invalidate(args?: Record<string, any>) {\n`;
|
|
153
|
+
content += ` (window as any).atmx?.invalidate("${namespace}.${endpoint.name}", args);\n`;
|
|
154
|
+
content += ` },\n`;
|
|
155
|
+
content += ` setData(data: any, args?: Record<string, any>) {\n`;
|
|
156
|
+
content += ` (window as any).atmx?.setQueryData("${namespace}.${endpoint.name}", args || {}, data);\n`;
|
|
157
|
+
content += ` },\n`;
|
|
158
|
+
content += ` mutate(payload: any = {}, args?: Record<string, any>): Promise<any> {\n`;
|
|
159
|
+
content += ` return (window as any).atmx?.mutate("${namespace}.${endpoint.name}", args, payload);\n`;
|
|
160
|
+
content += ` }\n`;
|
|
161
|
+
content += ` }\n`;
|
|
162
|
+
content += ` ),\n`;
|
|
150
163
|
}
|
|
151
164
|
}
|
|
152
165
|
content += `};\n\n`;
|
|
@@ -163,10 +176,25 @@ function generateSDKContent(contracts, isReact) {
|
|
|
163
176
|
content += ` if (prop in target) {\n`;
|
|
164
177
|
content += ` return Reflect.get(target, prop, receiver);\n`;
|
|
165
178
|
content += ` }\n`;
|
|
166
|
-
content += ` //
|
|
179
|
+
content += ` // Create a dynamic namespace proxy\n`;
|
|
167
180
|
content += ` return new Proxy({}, {\n`;
|
|
168
181
|
content += ` get(subTarget: any, subProp: string) {\n`;
|
|
169
|
-
content += `
|
|
182
|
+
content += ` // Return a callable function that returns the string definition\n`;
|
|
183
|
+
content += ` const routeFn = (args?: Record<string, any>) => {\n`;
|
|
184
|
+
content += ` const argsStr = args && Object.keys(args).length > 0 ? JSON.stringify(args) : '';\n`;
|
|
185
|
+
content += ` return \`\${String(prop)}.\${String(subProp)}(\${argsStr})\`;\n`;
|
|
186
|
+
content += ` };\n`;
|
|
187
|
+
content += ` // Attach typed helper methods directly to the function!\n`;
|
|
188
|
+
content += ` routeFn.invalidate = (args?: Record<string, any>) => {\n`;
|
|
189
|
+
content += ` (window as any).atmx?.invalidate(\`\${String(prop)}.\${String(subProp)}\`, args);\n`;
|
|
190
|
+
content += ` };\n`;
|
|
191
|
+
content += ` routeFn.setData = (data: any, args?: Record<string, any>) => {\n`;
|
|
192
|
+
content += ` (window as any).atmx?.setQueryData(\`\${String(prop)}.\${String(subProp)}\`, args || {}, data);\n`;
|
|
193
|
+
content += ` };\n`;
|
|
194
|
+
content += ` routeFn.mutate = (payload: any = {}, args?: Record<string, any>): Promise<any> => {\n`;
|
|
195
|
+
content += ` return (window as any).atmx?.mutate(\`\${String(prop)}.\${String(subProp)}\`, args, payload);\n`;
|
|
196
|
+
content += ` };\n`;
|
|
197
|
+
content += ` return routeFn;\n`;
|
|
170
198
|
content += ` }\n`;
|
|
171
199
|
content += ` });\n`;
|
|
172
200
|
content += ` }\n`;
|
package/package.json
CHANGED
|
@@ -149,11 +149,24 @@ export function generateSDKContent(
|
|
|
149
149
|
content += ` },\n`;
|
|
150
150
|
}
|
|
151
151
|
} else {
|
|
152
|
-
// Vanilla Web
|
|
153
|
-
content += ` ${fnName}
|
|
154
|
-
content += `
|
|
155
|
-
content += `
|
|
156
|
-
content += `
|
|
152
|
+
// ✨ UPGRADED: Vanilla Web static compiler methods mapped to dynamic objects
|
|
153
|
+
content += ` ${fnName}: Object.assign(\n`;
|
|
154
|
+
content += ` (args?: Record<string, any>): string => {\n`;
|
|
155
|
+
content += ` const argsStr = args && Object.keys(args).length > 0 ? JSON.stringify(args) : '';\n`;
|
|
156
|
+
content += ` return \`${namespace}.${endpoint.name}(\${argsStr})\`;\n`;
|
|
157
|
+
content += ` },\n`;
|
|
158
|
+
content += ` {\n`;
|
|
159
|
+
content += ` invalidate(args?: Record<string, any>) {\n`;
|
|
160
|
+
content += ` (window as any).atmx?.invalidate("${namespace}.${endpoint.name}", args);\n`;
|
|
161
|
+
content += ` },\n`;
|
|
162
|
+
content += ` setData(data: any, args?: Record<string, any>) {\n`;
|
|
163
|
+
content += ` (window as any).atmx?.setQueryData("${namespace}.${endpoint.name}", args || {}, data);\n`;
|
|
164
|
+
content += ` },\n`;
|
|
165
|
+
content += ` mutate(payload: any = {}, args?: Record<string, any>): Promise<any> {\n`;
|
|
166
|
+
content += ` return (window as any).atmx?.mutate("${namespace}.${endpoint.name}", args, payload);\n`;
|
|
167
|
+
content += ` }\n`;
|
|
168
|
+
content += ` }\n`;
|
|
169
|
+
content += ` ),\n`;
|
|
157
170
|
}
|
|
158
171
|
}
|
|
159
172
|
content += `};\n\n`;
|
|
@@ -172,10 +185,25 @@ export function generateSDKContent(
|
|
|
172
185
|
content += ` if (prop in target) {\n`;
|
|
173
186
|
content += ` return Reflect.get(target, prop, receiver);\n`;
|
|
174
187
|
content += ` }\n`;
|
|
175
|
-
content += ` //
|
|
188
|
+
content += ` // Create a dynamic namespace proxy\n`;
|
|
176
189
|
content += ` return new Proxy({}, {\n`;
|
|
177
190
|
content += ` get(subTarget: any, subProp: string) {\n`;
|
|
178
|
-
content += `
|
|
191
|
+
content += ` // Return a callable function that returns the string definition\n`;
|
|
192
|
+
content += ` const routeFn = (args?: Record<string, any>) => {\n`;
|
|
193
|
+
content += ` const argsStr = args && Object.keys(args).length > 0 ? JSON.stringify(args) : '';\n`;
|
|
194
|
+
content += ` return \`\${String(prop)}.\${String(subProp)}(\${argsStr})\`;\n`;
|
|
195
|
+
content += ` };\n`;
|
|
196
|
+
content += ` // Attach typed helper methods directly to the function!\n`;
|
|
197
|
+
content += ` routeFn.invalidate = (args?: Record<string, any>) => {\n`;
|
|
198
|
+
content += ` (window as any).atmx?.invalidate(\`\${String(prop)}.\${String(subProp)}\`, args);\n`;
|
|
199
|
+
content += ` };\n`;
|
|
200
|
+
content += ` routeFn.setData = (data: any, args?: Record<string, any>) => {\n`;
|
|
201
|
+
content += ` (window as any).atmx?.setQueryData(\`\${String(prop)}.\${String(subProp)}\`, args || {}, data);\n`;
|
|
202
|
+
content += ` };\n`;
|
|
203
|
+
content += ` routeFn.mutate = (payload: any = {}, args?: Record<string, any>): Promise<any> => {\n`;
|
|
204
|
+
content += ` return (window as any).atmx?.mutate(\`\${String(prop)}.\${String(subProp)}\`, args, payload);\n`;
|
|
205
|
+
content += ` };\n`;
|
|
206
|
+
content += ` return routeFn;\n`;
|
|
179
207
|
content += ` }\n`;
|
|
180
208
|
content += ` });\n`;
|
|
181
209
|
content += ` }\n`;
|