Skip to content

Commit 6b92372

Browse files
Merge pull request #1252 from opencomponents/reduce-null-assertions
[INTERNAL] reduce usage of null assertions
2 parents 6b156b6 + e28cc70 commit 6b92372

File tree

5 files changed

+25
-7
lines changed

5 files changed

+25
-7
lines changed

src/cli/domain/package-components.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const packageComponents =
6060
compiler: true,
6161
componentPath
6262
});
63-
ocTemplate.compile!(compileOptions, callback);
63+
ocTemplate.compile(compileOptions, callback);
6464
} catch (err) {
6565
return callback(err as any, undefined as any);
6666
}

src/cli/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ function processCommand(
8080
}
8181

8282
if (command.example) {
83-
yargs.example(command.example.cmd, command.example.description!);
83+
yargs.example(
84+
command.example.cmd,
85+
command.example.description || command.description
86+
);
8487
}
8588

8689
return yargs;

src/registry/domain/validators/uploaded-package.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
type ValidationResponse =
22
| {
33
isValid: true;
4+
files:
5+
| Express.Multer.File[]
6+
| {
7+
[fieldname: string]: Express.Multer.File[];
8+
};
49
}
510
| {
611
isValid: false;
@@ -40,5 +45,5 @@ export default function uploadedPackage(
4045
return returnError('not_valid');
4146
}
4247

43-
return { isValid: true };
48+
return { isValid: true, files: input };
4449
}

src/registry/routes/helpers/apply-default-values.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
import { OcParameter } from '../../../types';
22

3+
interface OptionalParameterWithDefault extends OcParameter {
4+
mandatory: false;
5+
default: Exclude<OcParameter['default'], undefined>;
6+
}
7+
38
export default function applyDefaultValues(
49
requestParameters: Dictionary<string | number | boolean> = {},
510
expectedParameters: Dictionary<OcParameter> = {}
611
): Dictionary<string | number | boolean> {
712
const optionalParametersWithDefaults = Object.entries(
813
expectedParameters
9-
).filter(([, p]) => !p.mandatory && typeof p.default !== 'undefined');
14+
).filter(
15+
(params): params is [string, OptionalParameterWithDefault] =>
16+
!params[1].mandatory && typeof params[1].default !== 'undefined'
17+
);
1018

1119
optionalParametersWithDefaults.forEach(
1220
([expectedParameterName, expectedParameter]) => {
1321
const param = requestParameters[expectedParameterName];
1422
if (param === null || param === undefined) {
15-
requestParameters[expectedParameterName] = expectedParameter.default!;
23+
requestParameters[expectedParameterName] = expectedParameter.default;
1624
}
1725
}
1826
);

src/registry/routes/publish.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ export default function publish(repository: Repository) {
1212
return;
1313
}
1414

15-
if (!validator.validatePackage(req.files).isValid) {
15+
const packageValidation = validator.validatePackage(req.files);
16+
if (!packageValidation.isValid) {
1617
res.errorDetails = 'package is not valid';
1718
res.status(409).json({ error: res.errorDetails });
1819
return;
1920
}
21+
const files = packageValidation.files;
2022

2123
const ocCliValidationResult = validator.validateOcCliVersion(
2224
req.headers['user-agent']
@@ -51,7 +53,7 @@ export default function publish(repository: Repository) {
5153
return;
5254
}
5355

54-
extractPackage(req.files!, (err, pkgDetails) => {
56+
extractPackage(files, (err, pkgDetails) => {
5557
if (err) {
5658
res.errorDetails = `Package is not valid: ${err}`;
5759
return res

0 commit comments

Comments
 (0)