@weclapp/sdk 2.0.0-dev.47 → 2.0.0-dev.49

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.
Files changed (2) hide show
  1. package/dist/cli.js +10 -9
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -256,14 +256,15 @@ const createObjectType = (value, required = []) => ({
256
256
  .filter((v) => v?.type === 'object')
257
257
  .every((v) => v.isFullyOptional()));
258
258
  },
259
- toString: (propagateOptionalProperties = false) => {
259
+ toString: (propertyPropagationOption = 'ignore') => {
260
260
  const properties = Object.entries(value)
261
261
  .filter((v) => v[1])
262
262
  .map((v) => {
263
263
  const name = v[0];
264
264
  const value = v[1];
265
265
  const isRequired = required.includes(name) ||
266
- (value.type === 'object' && !value.isFullyOptional() && propagateOptionalProperties);
266
+ propertyPropagationOption === 'force' ||
267
+ (value.type === 'object' && !value.isFullyOptional() && propertyPropagationOption === 'propagate');
267
268
  return `${name + (isRequired ? '' : '?')}: ${value.toString()};`;
268
269
  });
269
270
  return properties.length ? `{\n${indent(properties.join('\n'))}\n}` : '{}';
@@ -360,7 +361,7 @@ const generateInterfaceProperties = (entries) => {
360
361
  .join('\n');
361
362
  return properties.length ? `{\n${indent(properties)}\n}` : `{}`;
362
363
  };
363
- const generateInterfaceFromObject = (name, obj, propagateOptionalProperties) => `export interface ${name} ${obj.toString(propagateOptionalProperties)}`;
364
+ const generateInterfaceFromObject = (name, obj, propertyPropagationOption) => `export interface ${name} ${obj.toString(propertyPropagationOption)}`;
364
365
  const generateInterface = (name, entries, extend) => {
365
366
  const signature = `${name} ${extend ? `extends ${arrayify(extend).join(', ')}` : ''}`.trim();
366
367
  const body = generateInterfaceProperties(entries);
@@ -637,7 +638,7 @@ const generateCountEndpoint = ({ aliases, path, target, endpoint }) => {
637
638
  const parametersType = createObjectType({
638
639
  params: convertToTypeScriptType(convertParametersToSchema(path.parameters))
639
640
  });
640
- const parametersTypeSource = generateInterfaceFromObject(parametersTypeName, parametersType, true);
641
+ const parametersTypeSource = generateInterfaceFromObject(parametersTypeName, parametersType, 'propagate');
641
642
  const filterTypeName = `${functionTypeName}_Filter`;
642
643
  const filterTypeSource = generateInterfaceType(filterTypeName, [], [`${entity}_${FILTER_PROPS_SUFFIX}`]);
643
644
  const functionTypeSource = generateArrowFunctionType({
@@ -676,7 +677,7 @@ const generateBodyType = (body) => {
676
677
  types.push(convertToTypeScriptType(schema));
677
678
  }
678
679
  }
679
- return types.length ? createTupleType(types) : undefined;
680
+ return types.length ? (types.length === 1 ? types[0] : createTupleType(types)) : undefined;
680
681
  };
681
682
 
682
683
  const generateRequestBodyType = ({ requestBody }) => {
@@ -736,7 +737,7 @@ const generateGenericEndpoint = (suffix) => ({ target, method, path, endpoint })
736
737
  `query${params.isFullyOptional() ? '?' : ''}: ${entityQuery}`,
737
738
  'requestOptions?: RequestOptions'
738
739
  ],
739
- returns: `${resolveResponseType(target)}<${wrapBody(responseBody, target).toString()}>`
740
+ returns: `${resolveResponseType(target)}<${wrapBody(responseBody, target).toString('force')}>`
740
741
  });
741
742
  const functionSource = generateArrowFunction({
742
743
  name: functionName,
@@ -752,7 +753,7 @@ const generateGenericEndpoint = (suffix) => ({ target, method, path, endpoint })
752
753
  interfaces: [
753
754
  {
754
755
  name: entityQuery,
755
- source: generateInterfaceFromObject(entityQuery, params, true)
756
+ source: generateInterfaceFromObject(entityQuery, params, 'propagate')
756
757
  }
757
758
  ]
758
759
  };
@@ -849,7 +850,7 @@ const generateSomeEndpoint = ({ endpoint, target, path, entities, aliases }) =>
849
850
  const parametersType = createObjectType({
850
851
  params: convertToTypeScriptType(convertParametersToSchema(parameters))
851
852
  });
852
- const parametersTypeSource = generateInterfaceFromObject(parametersTypeName, parametersType, true);
853
+ const parametersTypeSource = generateInterfaceFromObject(parametersTypeName, parametersType, 'propagate');
853
854
  const filterTypeName = `${functionTypeName}_Filter`;
854
855
  const filterTypeSource = generateInterfaceType(filterTypeName, [], [`${entity}_${FILTER_PROPS_SUFFIX}`]);
855
856
  const referencesTypeName = `${functionTypeName}_References`;
@@ -904,7 +905,7 @@ const generateUniqueEndpoint = ({ target, path, endpoint }) => {
904
905
  name: functionName,
905
906
  signature: functionTypeName,
906
907
  params: ['id', 'query', 'requestOptions?: RequestOptions'],
907
- returns: `_${functionName}(cfg, \`${insertPathPlaceholder(endpoint.path, { id: '${id}' })}\`, query, requestOptions?: RequestOptions)`
908
+ returns: `_${functionName}(cfg, \`${insertPathPlaceholder(endpoint.path, { id: '${id}' })}\`, query, requestOptions)`
908
909
  });
909
910
  return {
910
911
  entity: pascalCase(endpoint.service),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weclapp/sdk",
3
- "version": "2.0.0-dev.47",
3
+ "version": "2.0.0-dev.49",
4
4
  "description": "weclapp SDK Generator",
5
5
  "author": "weclapp",
6
6
  "sideEffects": false,