@common-stack/rollup-vite-utils 6.0.6-alpha.5 → 6.0.6-alpha.52
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/lib/config-schema.cjs +111 -0
- package/lib/config-schema.cjs.map +1 -0
- package/lib/config-schema.js +111 -0
- package/lib/config-schema.js.map +1 -0
- package/lib/default-config.json.cjs +2 -2
- package/lib/default-config.json.js +2 -2
- package/lib/index.cjs +1 -1
- package/lib/index.js +1 -1
- package/lib/interfaces/types.cjs +6 -0
- package/lib/interfaces/types.cjs.map +1 -0
- package/lib/interfaces/types.d.ts +41 -24
- package/lib/interfaces/types.js +6 -0
- package/lib/interfaces/types.js.map +1 -0
- package/lib/preStartup/configLoader/index.cjs +1 -1
- package/lib/preStartup/configLoader/index.cjs.map +1 -1
- package/lib/preStartup/configLoader/index.js +1 -1
- package/lib/preStartup/configLoader/index.js.map +1 -1
- package/lib/preStartup/copyIfVersionChanged.cjs +1 -1
- package/lib/preStartup/copyIfVersionChanged.cjs.map +1 -1
- package/lib/preStartup/copyIfVersionChanged.js +1 -1
- package/lib/preStartup/copyIfVersionChanged.js.map +1 -1
- package/lib/rollup/index.d.ts +1 -0
- package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs +1 -1
- package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs.map +1 -1
- package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js +1 -1
- package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js.map +1 -1
- package/lib/rollup/modifyLibFiles/handleComponentOrDialog.cjs +212 -110
- package/lib/rollup/modifyLibFiles/handleComponentOrDialog.cjs.map +1 -1
- package/lib/rollup/modifyLibFiles/handleComponentOrDialog.d.ts +41 -0
- package/lib/rollup/modifyLibFiles/handleComponentOrDialog.js +212 -110
- package/lib/rollup/modifyLibFiles/handleComponentOrDialog.js.map +1 -1
- package/lib/rollup/modifyLibFiles/handleImportPaths.cjs +4 -3
- package/lib/rollup/modifyLibFiles/handleImportPaths.cjs.map +1 -1
- package/lib/rollup/modifyLibFiles/handleImportPaths.js +4 -3
- package/lib/rollup/modifyLibFiles/handleImportPaths.js.map +1 -1
- package/lib/rollup/modifyLibFiles/utils.cjs +7 -7
- package/lib/rollup/modifyLibFiles/utils.cjs.map +1 -1
- package/lib/rollup/modifyLibFiles/utils.d.ts +1 -1
- package/lib/rollup/modifyLibFiles/utils.js +7 -7
- package/lib/rollup/modifyLibFiles/utils.js.map +1 -1
- package/lib/rollup/rollupPluginGenerateJson.cjs +2 -3
- package/lib/rollup/rollupPluginGenerateJson.cjs.map +1 -1
- package/lib/rollup/rollupPluginGenerateJson.js +2 -3
- package/lib/rollup/rollupPluginGenerateJson.js.map +1 -1
- package/lib/rollup/rollupPluginModifyLibFiles.cjs +25 -14
- package/lib/rollup/rollupPluginModifyLibFiles.cjs.map +1 -1
- package/lib/rollup/rollupPluginModifyLibFiles.js +25 -14
- package/lib/rollup/rollupPluginModifyLibFiles.js.map +1 -1
- package/lib/rollup/rollupPluginUpdateFromConfig.cjs +122 -0
- package/lib/rollup/rollupPluginUpdateFromConfig.cjs.map +1 -0
- package/lib/rollup/rollupPluginUpdateFromConfig.d.ts +1 -0
- package/lib/rollup/rollupPluginUpdateFromConfig.js +122 -0
- package/lib/rollup/rollupPluginUpdateFromConfig.js.map +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/parseUtility.d.ts +3 -0
- package/lib/utils/verifyConfig.cjs +13 -0
- package/lib/utils/verifyConfig.cjs.map +1 -0
- package/lib/utils/verifyConfig.d.ts +2 -0
- package/lib/utils/verifyConfig.js +13 -0
- package/lib/utils/verifyConfig.js.map +1 -0
- package/lib/utils/withErrorHandleUtil.cjs +3 -7
- package/lib/utils/withErrorHandleUtil.cjs.map +1 -1
- package/lib/utils/withErrorHandleUtil.js +3 -7
- package/lib/utils/withErrorHandleUtil.js.map +1 -1
- package/lib/vite-wrappers/custom-routes.cjs +43 -0
- package/lib/vite-wrappers/custom-routes.cjs.map +1 -0
- package/lib/vite-wrappers/custom-routes.d.ts +2 -0
- package/lib/vite-wrappers/custom-routes.js +43 -0
- package/lib/vite-wrappers/custom-routes.js.map +1 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs +149 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs.map +1 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.d.ts +17 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.js +149 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.js.map +1 -0
- package/lib/vite-wrappers/generators/clientLoaderGenerator.test.d.ts +1 -0
- package/lib/vite-wrappers/generators/generateHasConfiguration.cjs +20 -0
- package/lib/vite-wrappers/generators/generateHasConfiguration.cjs.map +1 -0
- package/lib/vite-wrappers/generators/generateHasConfiguration.d.ts +10 -0
- package/lib/vite-wrappers/generators/generateHasConfiguration.js +20 -0
- package/lib/vite-wrappers/generators/generateHasConfiguration.js.map +1 -0
- package/lib/vite-wrappers/generators/generateHasPermission.cjs +29 -0
- package/lib/vite-wrappers/generators/generateHasPermission.cjs.map +1 -0
- package/lib/vite-wrappers/generators/generateHasPermission.d.ts +9 -0
- package/lib/vite-wrappers/generators/generateHasPermission.js +29 -0
- package/lib/vite-wrappers/generators/generateHasPermission.js.map +1 -0
- package/lib/vite-wrappers/generators/generateHasPermission.test.d.ts +1 -0
- package/lib/vite-wrappers/generators/loaderGenerator.cjs +197 -0
- package/lib/vite-wrappers/generators/loaderGenerator.cjs.map +1 -0
- package/lib/vite-wrappers/generators/loaderGenerator.d.ts +44 -0
- package/lib/vite-wrappers/{loaderGenerator.js → generators/loaderGenerator.js} +74 -122
- package/lib/vite-wrappers/generators/loaderGenerator.js.map +1 -0
- package/lib/vite-wrappers/generators/loaderGenerator.test.d.ts +1 -0
- package/lib/vite-wrappers/generators/utils/pickConfig.cjs +16 -0
- package/lib/vite-wrappers/generators/utils/pickConfig.cjs.map +1 -0
- package/lib/vite-wrappers/generators/utils/pickConfig.d.ts +10 -0
- package/lib/vite-wrappers/generators/utils/pickConfig.js +16 -0
- package/lib/vite-wrappers/generators/utils/pickConfig.js.map +1 -0
- package/lib/vite-wrappers/generators/utils/resourceParams.cjs +36 -0
- package/lib/vite-wrappers/generators/utils/resourceParams.cjs.map +1 -0
- package/lib/vite-wrappers/generators/utils/resourceParams.d.ts +11 -0
- package/lib/vite-wrappers/generators/utils/resourceParams.js +36 -0
- package/lib/vite-wrappers/generators/utils/resourceParams.js.map +1 -0
- package/lib/vite-wrappers/icon-switch.cjs +4 -4
- package/lib/vite-wrappers/icon-switch.cjs.map +1 -1
- package/lib/vite-wrappers/icon-switch.d.ts +1 -1
- package/lib/vite-wrappers/icon-switch.js +4 -4
- package/lib/vite-wrappers/icon-switch.js.map +1 -1
- package/lib/vite-wrappers/index.d.ts +3 -0
- package/lib/vite-wrappers/json-wrappers.cjs +103 -14
- package/lib/vite-wrappers/json-wrappers.cjs.map +1 -1
- package/lib/vite-wrappers/json-wrappers.d.ts +33 -0
- package/lib/vite-wrappers/json-wrappers.js +103 -14
- package/lib/vite-wrappers/json-wrappers.js.map +1 -1
- package/lib/vite-wrappers/wrapperComponent.cjs +190 -125
- package/lib/vite-wrappers/wrapperComponent.cjs.map +1 -1
- package/lib/vite-wrappers/wrapperComponent.d.ts +9 -0
- package/lib/vite-wrappers/wrapperComponent.js +190 -125
- package/lib/vite-wrappers/wrapperComponent.js.map +1 -1
- package/package.json +7 -5
- package/lib/vite-wrappers/loaderGenerator.cjs +0 -245
- package/lib/vite-wrappers/loaderGenerator.cjs.map +0 -1
- package/lib/vite-wrappers/loaderGenerator.d.ts +0 -18
- package/lib/vite-wrappers/loaderGenerator.js.map +0 -1
- /package/lib/{vite-wrappers/loaderGenerator.test.d.ts → rollup/modifyLibFiles/handleComponentOrDialog.test.d.ts} +0 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
'use strict';var lodashEs=require('lodash-es'),generateHasPermission=require('./generateHasPermission.cjs'),generateHasConfiguration=require('./generateHasConfiguration.cjs');// Utility to generate a key for the query, converting its format for use in client-side and server-side loaders
|
|
2
|
+
const generateDeferKey = (key) => lodashEs.camelCase(key.replace('Get', '')).replace('Document', 'Query');
|
|
3
|
+
/**
|
|
4
|
+
* Generates the server-side loader function for handling GraphQL queries.
|
|
5
|
+
* It creates the default server loader for fetching data based on provided queries in the options.
|
|
6
|
+
*
|
|
7
|
+
* @param queries - The list of queries to be used for data fetching.
|
|
8
|
+
* @returns The generated server loader function string.
|
|
9
|
+
*/
|
|
10
|
+
const generateServerLoader = ({ queries }) => {
|
|
11
|
+
if (Object.keys(queries ?? {}).length === 0) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
return `
|
|
15
|
+
export const defaultServerLoader = async ({ context, params, _dataContext = {} }) => {
|
|
16
|
+
const { apolloClient: client } = context;
|
|
17
|
+
const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
|
|
18
|
+
const formattedValue = value.includes('queryParamsGenerator_')
|
|
19
|
+
? `queryGeneratorFunc({...params, _dataContext}).${value.split('queryParamsGenerator_')[1]}`
|
|
20
|
+
: value;
|
|
21
|
+
return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
|
|
22
|
+
}, '{')};
|
|
23
|
+
${Object.keys(queries)
|
|
24
|
+
.map((queryDoc) => `
|
|
25
|
+
const ${generateDeferKey(queryDoc)} = client.query({
|
|
26
|
+
query: ${queryDoc},
|
|
27
|
+
variables: queries['${queryDoc}'],
|
|
28
|
+
fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
|
|
29
|
+
});
|
|
30
|
+
`)
|
|
31
|
+
.join('')}
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
data: {
|
|
35
|
+
${Object.keys(queries).map(generateDeferKey)}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
`;
|
|
40
|
+
};
|
|
41
|
+
function generateLoaderReturnLogic(options) {
|
|
42
|
+
if (options.loaderReturnInfo?.keys?.length > 0) {
|
|
43
|
+
// Create deferred objects by directly assigning each key to its corresponding index in loaderData
|
|
44
|
+
const deferredAssignments = options.loaderReturnInfo?.keys
|
|
45
|
+
.map((key, index) => ` returnObject['${key}'] = loaderData[${index}];`)
|
|
46
|
+
.join('\n ');
|
|
47
|
+
return `
|
|
48
|
+
const returnObject = {};
|
|
49
|
+
if (hasPermissions) {
|
|
50
|
+
${deferredAssignments}
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
}
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* if loaderReturnInfo.keys is empty and hasMiddleware is false, return loaderData otherwise
|
|
58
|
+
* if loaderReturnInfo.keys is not empty, return an object with the keys and values from loaderData wrapped with the loaderReturnInfo.returnType.
|
|
59
|
+
* Also if we have the hasMiddleware flag, include the permissions and dataContext in the object. Also if we have the respondOptions flag, include the respondOptions in the object.
|
|
60
|
+
* Also if we have the options.queries object, include the defaultLoaderData in the object.
|
|
61
|
+
* If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
|
|
62
|
+
* if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
|
|
63
|
+
* if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
|
|
64
|
+
*
|
|
65
|
+
* Generates the return statement based on loader, middleware, and options configurations.
|
|
66
|
+
* Handles whether to wrap data with `defer`, `json`, or just return raw data based on options.
|
|
67
|
+
*
|
|
68
|
+
* @param options - Configuration options containing loader info and queries.
|
|
69
|
+
* @param hasMiddleware - A boolean flag indicating if middleware is being applied.
|
|
70
|
+
* @returns The return statement string for the loader function.
|
|
71
|
+
*/
|
|
72
|
+
function generateReturnStatement(options, hasMiddleware) {
|
|
73
|
+
const { loaderReturnInfo, isResourceRoute, queries, hasLoader } = options;
|
|
74
|
+
const hasQueries = Object.keys(queries ?? {}).length > 0;
|
|
75
|
+
let responseKey = '';
|
|
76
|
+
if (isResourceRoute) {
|
|
77
|
+
responseKey = 'json';
|
|
78
|
+
}
|
|
79
|
+
else if (loaderReturnInfo?.keys?.length > 0 || hasQueries) {
|
|
80
|
+
responseKey = 'defer';
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
responseKey = loaderReturnInfo?.returnType || '';
|
|
84
|
+
}
|
|
85
|
+
const defaultLoaderData = hasQueries ? 'defaultLoaderData' : '{}';
|
|
86
|
+
const middlewareData = hasMiddleware ? '{ permissions, dataContext: rest, configurations }' : '{}';
|
|
87
|
+
const respondOptions = loaderReturnInfo?.hasOptions ? 'respondOptions' : '';
|
|
88
|
+
if (loaderReturnInfo?.keys?.length > 0) {
|
|
89
|
+
return `return ${responseKey}({
|
|
90
|
+
...returnObject,
|
|
91
|
+
...${defaultLoaderData},
|
|
92
|
+
...${middlewareData},
|
|
93
|
+
errors: loaderErrors
|
|
94
|
+
}${respondOptions ? `, ${respondOptions}` : ''});`;
|
|
95
|
+
}
|
|
96
|
+
if (hasLoader && !hasMiddleware && !hasQueries) {
|
|
97
|
+
return 'return loaderData;';
|
|
98
|
+
}
|
|
99
|
+
const loaderDataSpread = hasLoader ? '...loaderData, ' : '';
|
|
100
|
+
return `return ${responseKey}({
|
|
101
|
+
${loaderDataSpread}
|
|
102
|
+
...${defaultLoaderData},
|
|
103
|
+
...${middlewareData},
|
|
104
|
+
errors: loaderErrors
|
|
105
|
+
}${respondOptions ? `, ${respondOptions}` : ''});`;
|
|
106
|
+
}
|
|
107
|
+
function generateMiddlewarePushes(options) {
|
|
108
|
+
return (options.middlewares ?? [])
|
|
109
|
+
?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}", func: middleware${index + 1} });`)
|
|
110
|
+
.join('\n');
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Generates the export functions for loaders and actions based on the provided options.
|
|
114
|
+
* Handles middleware and permission checks if present.
|
|
115
|
+
*
|
|
116
|
+
* @param options - The configuration options including middleware, queries, etc.
|
|
117
|
+
* @param hasMiddleware - A flag indicating if middleware exists.
|
|
118
|
+
* @param hasQueries - A flag indicating if GraphQL queries are present.
|
|
119
|
+
* @returns The updated export string.
|
|
120
|
+
*/
|
|
121
|
+
function generateLoaderExports(options, hasMiddleware = false, hasQueries = false) {
|
|
122
|
+
let loaderExport = '';
|
|
123
|
+
// Generate server-side loader if queries are present
|
|
124
|
+
if (hasQueries) {
|
|
125
|
+
loaderExport += generateServerLoader(options);
|
|
126
|
+
}
|
|
127
|
+
const getMiddlewareOptions = () => {
|
|
128
|
+
if (options.requireAuth) {
|
|
129
|
+
const val = typeof options.authStrategy === 'boolean' ? options.authStrategy : `'${options.authStrategy}'`;
|
|
130
|
+
return `{authStrategy: ${val}}`;
|
|
131
|
+
}
|
|
132
|
+
return '{}';
|
|
133
|
+
};
|
|
134
|
+
const { configurations, extraParams } = options;
|
|
135
|
+
loaderExport += `
|
|
136
|
+
export async function loader(params) {
|
|
137
|
+
${hasMiddleware ? 'const middlewareStack = [];' : ''}
|
|
138
|
+
const middlewareOptions = ${getMiddlewareOptions()}
|
|
139
|
+
${options.requireAuth ? 'middlewareStack.push({ name: "auth", func: authMiddleware });' : ''}
|
|
140
|
+
${generateMiddlewarePushes(options)}
|
|
141
|
+
${options.authority?.length > 0 || options.extraPermissions?.length > 0
|
|
142
|
+
? 'middlewareStack.push({ name: "lifecycle", func: lifecycleMiddleware });\n'
|
|
143
|
+
: ''}
|
|
144
|
+
${options.authority?.length > 0 || options.extraPermissions?.length > 0 ? 'middlewareStack.push({ name: "permission", func: permissionMiddleware });\n' : ''}
|
|
145
|
+
${options.configurations.length > 0 ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
|
|
146
|
+
|
|
147
|
+
// Create resourceParams from extraParams if available, with dynamic resolution of path parameters.
|
|
148
|
+
const resourceParams = ${options.configurations?.length > 0
|
|
149
|
+
? `
|
|
150
|
+
resolveResourceParamsPlaceholders(
|
|
151
|
+
${JSON.stringify(options.extraParams?.resourceParams ?? {})},
|
|
152
|
+
params.params || {}
|
|
153
|
+
)`
|
|
154
|
+
: '{}'};
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
const paramsWithResource = {
|
|
158
|
+
...params,
|
|
159
|
+
resourceParams,
|
|
160
|
+
configurations: ${JSON.stringify(configurations ?? [])},
|
|
161
|
+
};
|
|
162
|
+
${hasMiddleware
|
|
163
|
+
? 'let middlewareData = {};\n' +
|
|
164
|
+
' if (middlewareStack.length > 0) {\n' +
|
|
165
|
+
' middlewareData = await loaderWithMiddleware({...paramsWithResource}, middlewareOptions, middlewareStack) || {};\n' +
|
|
166
|
+
' }\n' +
|
|
167
|
+
' let { permissions = null, configurations = null, ...rest } = middlewareData;\n'
|
|
168
|
+
: ''}
|
|
169
|
+
let hasPermissions = true;
|
|
170
|
+
let loaderErrors = [];
|
|
171
|
+
${generateHasPermission.generateHasPermission(options)}
|
|
172
|
+
${generateHasConfiguration.generateConfigurationLogic(options)}
|
|
173
|
+
const paramsWithMiddlewareData = ${hasMiddleware ? `{ ...params, _dataContext: middlewareData }` : '{ ...params }'};
|
|
174
|
+
|
|
175
|
+
const defaultLoaderResult = ${hasQueries
|
|
176
|
+
? `hasPermissions ? await withErrorHandler(defaultServerLoader, paramsWithMiddlewareData) : { data: {}, errors: [] };\n
|
|
177
|
+
loaderErrors = defaultLoaderResult.errors`
|
|
178
|
+
: '{ data: {}, errors: [] }'};
|
|
179
|
+
const defaultLoaderData = defaultLoaderResult.data;
|
|
180
|
+
${options.requireAuth
|
|
181
|
+
? 'if (middlewareData.userId) { params.context = params.context || {}; params.context.userId = middlewareData.userId; }\n'
|
|
182
|
+
: ''}
|
|
183
|
+
${options.hasLoader && options.loaderReturnInfo?.keys?.length > 0
|
|
184
|
+
? `let loaderResult = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
|
|
185
|
+
let loaderData = loaderResult.data || [];\n
|
|
186
|
+
loaderErrors = loaderResult?.errors;\n
|
|
187
|
+
${options.loaderReturnInfo.hasOptions ? 'let respondOptions = loaderResult.options || null;' : ''}`
|
|
188
|
+
: options.hasLoader
|
|
189
|
+
? `let loaderData = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
|
|
190
|
+
loaderErrors = loaderData?.errors;\n`
|
|
191
|
+
: ''}
|
|
192
|
+
|
|
193
|
+
${generateLoaderReturnLogic(options)}
|
|
194
|
+
${generateReturnStatement(options, hasMiddleware)}
|
|
195
|
+
}`;
|
|
196
|
+
return loaderExport;
|
|
197
|
+
}exports.generateLoaderExports=generateLoaderExports;exports.generateReturnStatement=generateReturnStatement;exports.generateServerLoader=generateServerLoader;//# sourceMappingURL=loaderGenerator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loaderGenerator.cjs","sources":["../../../src/vite-wrappers/generators/loaderGenerator.ts"],"sourcesContent":[null],"names":["camelCase","generateHasPermission","generateConfigurationLogic"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IOptions } from '../../interfaces/types';
|
|
2
|
+
/**
|
|
3
|
+
* Internal function to update the options with default loader configurations.
|
|
4
|
+
* Adds a loaderReturnInfo object to the options, which will be used to handle deferred data loading.
|
|
5
|
+
*
|
|
6
|
+
* @param options - The options object which will be modified to include loader-related configurations.
|
|
7
|
+
* @returns The updated options object.
|
|
8
|
+
*/
|
|
9
|
+
export declare function internalOptions(options: IOptions): IOptions;
|
|
10
|
+
/**
|
|
11
|
+
* Generates the server-side loader function for handling GraphQL queries.
|
|
12
|
+
* It creates the default server loader for fetching data based on provided queries in the options.
|
|
13
|
+
*
|
|
14
|
+
* @param queries - The list of queries to be used for data fetching.
|
|
15
|
+
* @returns The generated server loader function string.
|
|
16
|
+
*/
|
|
17
|
+
export declare const generateServerLoader: ({ queries }: Pick<IOptions, "queries">) => string;
|
|
18
|
+
/**
|
|
19
|
+
* if loaderReturnInfo.keys is empty and hasMiddleware is false, return loaderData otherwise
|
|
20
|
+
* if loaderReturnInfo.keys is not empty, return an object with the keys and values from loaderData wrapped with the loaderReturnInfo.returnType.
|
|
21
|
+
* Also if we have the hasMiddleware flag, include the permissions and dataContext in the object. Also if we have the respondOptions flag, include the respondOptions in the object.
|
|
22
|
+
* Also if we have the options.queries object, include the defaultLoaderData in the object.
|
|
23
|
+
* If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
|
|
24
|
+
* if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
|
|
25
|
+
* if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
|
|
26
|
+
*
|
|
27
|
+
* Generates the return statement based on loader, middleware, and options configurations.
|
|
28
|
+
* Handles whether to wrap data with `defer`, `json`, or just return raw data based on options.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Configuration options containing loader info and queries.
|
|
31
|
+
* @param hasMiddleware - A boolean flag indicating if middleware is being applied.
|
|
32
|
+
* @returns The return statement string for the loader function.
|
|
33
|
+
*/
|
|
34
|
+
export declare function generateReturnStatement(options: IOptions, hasMiddleware: boolean): string;
|
|
35
|
+
/**
|
|
36
|
+
* Generates the export functions for loaders and actions based on the provided options.
|
|
37
|
+
* Handles middleware and permission checks if present.
|
|
38
|
+
*
|
|
39
|
+
* @param options - The configuration options including middleware, queries, etc.
|
|
40
|
+
* @param hasMiddleware - A flag indicating if middleware exists.
|
|
41
|
+
* @param hasQueries - A flag indicating if GraphQL queries are present.
|
|
42
|
+
* @returns The updated export string.
|
|
43
|
+
*/
|
|
44
|
+
export declare function generateLoaderExports(options: IOptions, hasMiddleware?: boolean, hasQueries?: boolean): string;
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import {camelCase}from'lodash-es';
|
|
1
|
+
import {camelCase}from'lodash-es';import {generateHasPermission}from'./generateHasPermission.js';import {generateConfigurationLogic}from'./generateHasConfiguration.js';// Utility to generate a key for the query, converting its format for use in client-side and server-side loaders
|
|
2
|
+
const generateDeferKey = (key) => camelCase(key.replace('Get', '')).replace('Document', 'Query');
|
|
3
|
+
/**
|
|
4
|
+
* Generates the server-side loader function for handling GraphQL queries.
|
|
5
|
+
* It creates the default server loader for fetching data based on provided queries in the options.
|
|
6
|
+
*
|
|
7
|
+
* @param queries - The list of queries to be used for data fetching.
|
|
8
|
+
* @returns The generated server loader function string.
|
|
9
|
+
*/
|
|
2
10
|
const generateServerLoader = ({ queries }) => {
|
|
3
11
|
if (Object.keys(queries ?? {}).length === 0) {
|
|
4
12
|
return '';
|
|
5
13
|
}
|
|
6
14
|
return `
|
|
7
|
-
export const defaultServerLoader = async ({ context, params }) => {
|
|
15
|
+
export const defaultServerLoader = async ({ context, params, _dataContext = {} }) => {
|
|
8
16
|
const { apolloClient: client } = context;
|
|
9
17
|
const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
|
|
10
18
|
const formattedValue = value.includes('queryParamsGenerator_')
|
|
11
|
-
? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
|
|
19
|
+
? `queryGeneratorFunc({...params, _dataContext}).${value.split('queryParamsGenerator_')[1]}`
|
|
12
20
|
: value;
|
|
13
21
|
return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
|
|
14
22
|
}, '{')};
|
|
@@ -53,13 +61,27 @@ ${deferredAssignments}
|
|
|
53
61
|
* If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
|
|
54
62
|
* if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
|
|
55
63
|
* if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
|
|
56
|
-
*
|
|
57
|
-
*
|
|
64
|
+
*
|
|
65
|
+
* Generates the return statement based on loader, middleware, and options configurations.
|
|
66
|
+
* Handles whether to wrap data with `defer`, `json`, or just return raw data based on options.
|
|
67
|
+
*
|
|
68
|
+
* @param options - Configuration options containing loader info and queries.
|
|
69
|
+
* @param hasMiddleware - A boolean flag indicating if middleware is being applied.
|
|
70
|
+
* @returns The return statement string for the loader function.
|
|
58
71
|
*/
|
|
59
72
|
function generateReturnStatement(options, hasMiddleware) {
|
|
60
73
|
const { loaderReturnInfo, isResourceRoute, queries, hasLoader } = options;
|
|
61
74
|
const hasQueries = Object.keys(queries ?? {}).length > 0;
|
|
62
|
-
|
|
75
|
+
let responseKey = '';
|
|
76
|
+
if (isResourceRoute) {
|
|
77
|
+
responseKey = 'json';
|
|
78
|
+
}
|
|
79
|
+
else if (loaderReturnInfo?.keys?.length > 0 || hasQueries) {
|
|
80
|
+
responseKey = 'defer';
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
responseKey = loaderReturnInfo?.returnType || '';
|
|
84
|
+
}
|
|
63
85
|
const defaultLoaderData = hasQueries ? 'defaultLoaderData' : '{}';
|
|
64
86
|
const middlewareData = hasMiddleware ? '{ permissions, dataContext: rest, configurations }' : '{}';
|
|
65
87
|
const respondOptions = loaderReturnInfo?.hasOptions ? 'respondOptions' : '';
|
|
@@ -87,33 +109,20 @@ function generateMiddlewarePushes(options) {
|
|
|
87
109
|
?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}", func: middleware${index + 1} });`)
|
|
88
110
|
.join('\n');
|
|
89
111
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
};
|
|
103
|
-
`;
|
|
104
|
-
if (hasLoader) {
|
|
105
|
-
generates += `
|
|
106
|
-
hasPermissions = permissionKeys.some(key => ['Allow'].includes(get(permissions.resolveConfiguration, key)));
|
|
107
|
-
`;
|
|
108
|
-
}
|
|
109
|
-
generates += `}`;
|
|
110
|
-
}
|
|
111
|
-
return generates;
|
|
112
|
-
}
|
|
113
|
-
function generateLoaderExports(sourceExport = '', options, hasMiddleware = false, hasQueries = false) {
|
|
112
|
+
/**
|
|
113
|
+
* Generates the export functions for loaders and actions based on the provided options.
|
|
114
|
+
* Handles middleware and permission checks if present.
|
|
115
|
+
*
|
|
116
|
+
* @param options - The configuration options including middleware, queries, etc.
|
|
117
|
+
* @param hasMiddleware - A flag indicating if middleware exists.
|
|
118
|
+
* @param hasQueries - A flag indicating if GraphQL queries are present.
|
|
119
|
+
* @returns The updated export string.
|
|
120
|
+
*/
|
|
121
|
+
function generateLoaderExports(options, hasMiddleware = false, hasQueries = false) {
|
|
122
|
+
let loaderExport = '';
|
|
123
|
+
// Generate server-side loader if queries are present
|
|
114
124
|
if (hasQueries) {
|
|
115
|
-
|
|
116
|
-
// options = internalOptions(options); // Mutating the options object to add the loaderReturnInfo object
|
|
125
|
+
loaderExport += generateServerLoader(options);
|
|
117
126
|
}
|
|
118
127
|
const getMiddlewareOptions = () => {
|
|
119
128
|
if (options.requireAuth) {
|
|
@@ -122,32 +131,51 @@ function generateLoaderExports(sourceExport = '', options, hasMiddleware = false
|
|
|
122
131
|
}
|
|
123
132
|
return '{}';
|
|
124
133
|
};
|
|
125
|
-
const {
|
|
126
|
-
|
|
134
|
+
const { configurations, extraParams } = options;
|
|
135
|
+
loaderExport += `
|
|
127
136
|
export async function loader(params) {
|
|
128
137
|
${hasMiddleware ? 'const middlewareStack = [];' : ''}
|
|
129
138
|
const middlewareOptions = ${getMiddlewareOptions()}
|
|
130
139
|
${options.requireAuth ? 'middlewareStack.push({ name: "auth", func: authMiddleware });' : ''}
|
|
131
140
|
${generateMiddlewarePushes(options)}
|
|
132
|
-
${
|
|
133
|
-
'middlewareStack.push({ name: "lifecycle", func: lifecycleMiddleware });\n'
|
|
134
|
-
|
|
135
|
-
${options.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
141
|
+
${options.authority?.length > 0 || options.extraPermissions?.length > 0
|
|
142
|
+
? 'middlewareStack.push({ name: "lifecycle", func: lifecycleMiddleware });\n'
|
|
143
|
+
: ''}
|
|
144
|
+
${options.authority?.length > 0 || options.extraPermissions?.length > 0 ? 'middlewareStack.push({ name: "permission", func: permissionMiddleware });\n' : ''}
|
|
145
|
+
${options.configurations.length > 0 ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
|
|
146
|
+
|
|
147
|
+
// Create resourceParams from extraParams if available, with dynamic resolution of path parameters.
|
|
148
|
+
const resourceParams = ${options.configurations?.length > 0
|
|
149
|
+
? `
|
|
150
|
+
resolveResourceParamsPlaceholders(
|
|
151
|
+
${JSON.stringify(options.extraParams?.resourceParams ?? {})},
|
|
152
|
+
params.params || {}
|
|
153
|
+
)`
|
|
154
|
+
: '{}'};
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
const paramsWithResource = {
|
|
158
|
+
...params,
|
|
159
|
+
resourceParams,
|
|
160
|
+
configurations: ${JSON.stringify(configurations ?? [])},
|
|
161
|
+
};
|
|
139
162
|
${hasMiddleware
|
|
140
163
|
? 'let middlewareData = {};\n' +
|
|
141
164
|
' if (middlewareStack.length > 0) {\n' +
|
|
142
|
-
' middlewareData = await loaderWithMiddleware({...
|
|
165
|
+
' middlewareData = await loaderWithMiddleware({...paramsWithResource}, middlewareOptions, middlewareStack) || {};\n' +
|
|
143
166
|
' }\n' +
|
|
144
167
|
' let { permissions = null, configurations = null, ...rest } = middlewareData;\n'
|
|
145
168
|
: ''}
|
|
146
169
|
let hasPermissions = true;
|
|
147
170
|
let loaderErrors = [];
|
|
148
171
|
${generateHasPermission(options)}
|
|
149
|
-
|
|
150
|
-
|
|
172
|
+
${generateConfigurationLogic(options)}
|
|
173
|
+
const paramsWithMiddlewareData = ${hasMiddleware ? `{ ...params, _dataContext: middlewareData }` : '{ ...params }'};
|
|
174
|
+
|
|
175
|
+
const defaultLoaderResult = ${hasQueries
|
|
176
|
+
? `hasPermissions ? await withErrorHandler(defaultServerLoader, paramsWithMiddlewareData) : { data: {}, errors: [] };\n
|
|
177
|
+
loaderErrors = defaultLoaderResult.errors`
|
|
178
|
+
: '{ data: {}, errors: [] }'};
|
|
151
179
|
const defaultLoaderData = defaultLoaderResult.data;
|
|
152
180
|
${options.requireAuth
|
|
153
181
|
? 'if (middlewareData.userId) { params.context = params.context || {}; params.context.userId = middlewareData.userId; }\n'
|
|
@@ -161,85 +189,9 @@ function generateLoaderExports(sourceExport = '', options, hasMiddleware = false
|
|
|
161
189
|
? `let loaderData = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
|
|
162
190
|
loaderErrors = loaderData?.errors;\n`
|
|
163
191
|
: ''}
|
|
164
|
-
|
|
165
192
|
|
|
166
193
|
${generateLoaderReturnLogic(options)}
|
|
167
194
|
${generateReturnStatement(options, hasMiddleware)}
|
|
168
195
|
}`;
|
|
169
|
-
return
|
|
170
|
-
}
|
|
171
|
-
const generateClientLoader = ({ queries }) => {
|
|
172
|
-
if (Object.keys(queries ?? {}).length === 0) {
|
|
173
|
-
return '';
|
|
174
|
-
}
|
|
175
|
-
return `
|
|
176
|
-
const defaultClientLoader = async ({params, serverLoader})=>{
|
|
177
|
-
const client = window.__CLIENT_SERVICE__?.apolloClient;
|
|
178
|
-
const container = window.__CLIENT_SERVICE__?.container
|
|
179
|
-
|
|
180
|
-
try {
|
|
181
|
-
const getKey = (documentName:string)=> camelCase(documentName).replace('Document','')
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
|
|
185
|
-
const formattedValue = value.includes('queryParamsGenerator_')
|
|
186
|
-
? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
|
|
187
|
-
: value;
|
|
188
|
-
return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
|
|
189
|
-
}, '{')};
|
|
190
|
-
|
|
191
|
-
const queryKeys: string[] = [${Object.keys(queries)
|
|
192
|
-
.map((key) => camelCase(key.replace('Get', '')).replace('Document', 'Query'))
|
|
193
|
-
.map((key) => `'${key}'`)}]
|
|
194
|
-
let shouldCallServerLoader = false;
|
|
195
|
-
let response = {};
|
|
196
|
-
let cachedData, cacheKey;
|
|
197
|
-
${Object.keys(queries)
|
|
198
|
-
.map((queryDoc, index) => `
|
|
199
|
-
cachedData = client.cache.readQuery({
|
|
200
|
-
query: ${queryDoc},
|
|
201
|
-
variables: queries['${queryDoc}'],
|
|
202
|
-
});
|
|
203
|
-
cacheKey = getKey('${queryDoc}');
|
|
204
|
-
if(!cachedData){
|
|
205
|
-
shouldCallServerLoader = true;
|
|
206
|
-
}
|
|
207
|
-
if(cachedData && cachedData[cacheKey]){
|
|
208
|
-
response[queryKeys[${index}]] = Promise.resolve(cachedData[cacheKey]);
|
|
209
|
-
}
|
|
210
|
-
`)
|
|
211
|
-
.join('')}
|
|
212
|
-
if(!shouldCallServerLoader) return response;
|
|
213
|
-
const serverData = await serverLoader();
|
|
214
|
-
|
|
215
|
-
if(serverData?.errors?.length){
|
|
216
|
-
const store = container.get(ClientTypes.ReduxStore)
|
|
217
|
-
|
|
218
|
-
serverData?.errors?.map((error)=>{
|
|
219
|
-
store.dispatch(error)
|
|
220
|
-
})
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
let queryKey;
|
|
224
|
-
${Object.keys(queries)
|
|
225
|
-
.map((queryDoc, index) => `
|
|
226
|
-
queryKey = queryKeys[${index}];
|
|
227
|
-
if(!serverData[queryKey].then){
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
serverData[queryKey].then(({ data }) => {
|
|
231
|
-
client.cache.writeQuery({
|
|
232
|
-
query: ${queryDoc},
|
|
233
|
-
variables: queries['${queryDoc}'],
|
|
234
|
-
data,
|
|
235
|
-
})
|
|
236
|
-
})
|
|
237
|
-
`)
|
|
238
|
-
.join('')}
|
|
239
|
-
return serverData;
|
|
240
|
-
|
|
241
|
-
}catch(err){
|
|
242
|
-
console.error('Error in defaultClientLoader',err);
|
|
243
|
-
}
|
|
244
|
-
}`;
|
|
245
|
-
};export{generateClientLoader,generateHasPermission,generateLoaderExports,generateReturnStatement,generateServerLoader};//# sourceMappingURL=loaderGenerator.js.map
|
|
196
|
+
return loaderExport;
|
|
197
|
+
}export{generateLoaderExports,generateReturnStatement,generateServerLoader};//# sourceMappingURL=loaderGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loaderGenerator.js","sources":["../../../src/vite-wrappers/generators/loaderGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';var lodashEs=require('lodash-es');// src/utils/loaderUtils.ts
|
|
2
|
+
/**
|
|
3
|
+
* Picks specific keys from the provided object.
|
|
4
|
+
* Ensures that only the relevant values are returned for further processing.
|
|
5
|
+
* If the `keys` include `'*'`, all values will be returned.
|
|
6
|
+
*
|
|
7
|
+
* @param valuesObject - The object (configurations or permissions) to pick values from.
|
|
8
|
+
* @param keys - The keys to pick from the object.
|
|
9
|
+
* @returns The picked object or all values if `'*'` is included.
|
|
10
|
+
*/
|
|
11
|
+
function pickValues(valuesObject, keys) {
|
|
12
|
+
// Return all values if '*' is present in the keys array
|
|
13
|
+
return keys.includes('*')
|
|
14
|
+
? valuesObject?.resolveConfiguration // Return the entire value set if '*' is present
|
|
15
|
+
: lodashEs.pick(valuesObject?.resolveConfiguration, keys);
|
|
16
|
+
}exports.pickValues=pickValues;//# sourceMappingURL=pickConfig.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickConfig.cjs","sources":["../../../../src/vite-wrappers/generators/utils/pickConfig.ts"],"sourcesContent":[null],"names":["pick"],"mappings":"+CAAA;AAIA;;;;;;;;AAQG;AACa,SAAA,UAAU,CAAC,YAAiB,EAAE,IAAc,EAAA;;AAExD,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrB,UAAE,YAAY,EAAE,oBAAoB;UAClCA,aAAI,CAAC,YAAY,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACzD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Picks specific keys from the provided object.
|
|
3
|
+
* Ensures that only the relevant values are returned for further processing.
|
|
4
|
+
* If the `keys` include `'*'`, all values will be returned.
|
|
5
|
+
*
|
|
6
|
+
* @param valuesObject - The object (configurations or permissions) to pick values from.
|
|
7
|
+
* @param keys - The keys to pick from the object.
|
|
8
|
+
* @returns The picked object or all values if `'*'` is included.
|
|
9
|
+
*/
|
|
10
|
+
export declare function pickValues(valuesObject: any, keys: string[]): any;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {pick}from'lodash-es';// src/utils/loaderUtils.ts
|
|
2
|
+
/**
|
|
3
|
+
* Picks specific keys from the provided object.
|
|
4
|
+
* Ensures that only the relevant values are returned for further processing.
|
|
5
|
+
* If the `keys` include `'*'`, all values will be returned.
|
|
6
|
+
*
|
|
7
|
+
* @param valuesObject - The object (configurations or permissions) to pick values from.
|
|
8
|
+
* @param keys - The keys to pick from the object.
|
|
9
|
+
* @returns The picked object or all values if `'*'` is included.
|
|
10
|
+
*/
|
|
11
|
+
function pickValues(valuesObject, keys) {
|
|
12
|
+
// Return all values if '*' is present in the keys array
|
|
13
|
+
return keys.includes('*')
|
|
14
|
+
? valuesObject?.resolveConfiguration // Return the entire value set if '*' is present
|
|
15
|
+
: pick(valuesObject?.resolveConfiguration, keys);
|
|
16
|
+
}export{pickValues};//# sourceMappingURL=pickConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickConfig.js","sources":["../../../../src/vite-wrappers/generators/utils/pickConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"6BAAA;AAIA;;;;;;;;AAQG;AACa,SAAA,UAAU,CAAC,YAAiB,EAAE,IAAc,EAAA;;AAExD,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrB,UAAE,YAAY,EAAE,oBAAoB;UAClC,IAAI,CAAC,YAAY,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACzD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';/**
|
|
2
|
+
* Recursively process the resourceParams object and replace any placeholder values starting with `$params.`.
|
|
3
|
+
* If the `path` is empty or matches `IConfigCollectionName.Organization`, ensure it provides a default query
|
|
4
|
+
* with `{ name: $params.orgName }`.
|
|
5
|
+
*
|
|
6
|
+
* @param resourceParams - The nested resourceParams object containing placeholders.
|
|
7
|
+
* @param params - The params object from which values are extracted.
|
|
8
|
+
* @param defaultPath - Optional default path to be assigned when `path` is empty or a specific condition is met.
|
|
9
|
+
* @returns The processed resourceParams object with replaced values.
|
|
10
|
+
*/
|
|
11
|
+
function resolveResourceParamsPlaceholders(resourceParams, params, defaultPath = 'IConfigCollectionName.Organization') {
|
|
12
|
+
if (!resourceParams || typeof resourceParams !== 'object')
|
|
13
|
+
return resourceParams;
|
|
14
|
+
const resolvedParams = {};
|
|
15
|
+
Object.entries(resourceParams).forEach(([key, value]) => {
|
|
16
|
+
if (typeof value === 'string' && value.startsWith('$params.')) {
|
|
17
|
+
// Replace placeholder with actual value from params
|
|
18
|
+
const paramKey = value.split('$params.')[1];
|
|
19
|
+
resolvedParams[key] = params[paramKey];
|
|
20
|
+
}
|
|
21
|
+
else if (typeof value === 'object' && value !== null) {
|
|
22
|
+
// Recursively resolve nested objects
|
|
23
|
+
resolvedParams[key] = resolveResourceParamsPlaceholders(value, params, defaultPath);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// Direct assignment for other values
|
|
27
|
+
resolvedParams[key] = value;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
// If the path is missing or matches `IConfigCollectionName.Organization`, ensure query is set
|
|
31
|
+
if (!resolvedParams.path || resolvedParams.path === defaultPath) {
|
|
32
|
+
resolvedParams.path = defaultPath;
|
|
33
|
+
resolvedParams.query = { name: params.orgName }; // Assuming `orgName` exists in params
|
|
34
|
+
}
|
|
35
|
+
return resolvedParams;
|
|
36
|
+
}exports.resolveResourceParamsPlaceholders=resolveResourceParamsPlaceholders;//# sourceMappingURL=resourceParams.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceParams.cjs","sources":["../../../../src/vite-wrappers/generators/utils/resourceParams.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;;;;;;;;AASG;AACG,SAAU,iCAAiC,CAC7C,cAAmC,EACnC,MAA2B,EAC3B,cAAsB,oCAAoC,EAAA;AAE1D,IAAA,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;AAAE,QAAA,OAAO,cAAc,CAAC;IAEjF,MAAM,cAAc,GAAwB,EAAE,CAAC;AAE/C,IAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACpD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;;YAE3D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC1C;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;;AAEpD,YAAA,cAAc,CAAC,GAAG,CAAC,GAAG,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SACvF;aAAM;;AAEH,YAAA,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC/B;AACL,KAAC,CAAC,CAAC;;IAGH,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,EAAE;AAC7D,QAAA,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;AAClC,QAAA,cAAc,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;KACnD;AAED,IAAA,OAAO,cAAc,CAAC;AAC1B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively process the resourceParams object and replace any placeholder values starting with `$params.`.
|
|
3
|
+
* If the `path` is empty or matches `IConfigCollectionName.Organization`, ensure it provides a default query
|
|
4
|
+
* with `{ name: $params.orgName }`.
|
|
5
|
+
*
|
|
6
|
+
* @param resourceParams - The nested resourceParams object containing placeholders.
|
|
7
|
+
* @param params - The params object from which values are extracted.
|
|
8
|
+
* @param defaultPath - Optional default path to be assigned when `path` is empty or a specific condition is met.
|
|
9
|
+
* @returns The processed resourceParams object with replaced values.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveResourceParamsPlaceholders(resourceParams: Record<string, any>, params: Record<string, any>, defaultPath?: string): Record<string, any>;
|