Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const enum ErrorCode {
- NONE,
- PORT_BUSY,
- NAME_EXISTS
- }
- type ErrorMessage = {
- readonly code: ErrorCode;
- readonly message: string;
- };
- interface ENone extends ErrorMessage {
- code: ErrorCode.NONE;
- }
- interface EPortBusy extends ErrorMessage {
- code: ErrorCode.PORT_BUSY;
- }
- interface ENameExists extends ErrorMessage {
- code: ErrorCode.NAME_EXISTS;
- }
- const createContainer = (): [number | null, EPortBusy | ENameExists | ENone] => {
- if (Date.now() === 3) {
- return [3, { code: ErrorCode.NAME_EXISTS, message: 'name already exists' }];
- }
- return [null, { code: ErrorCode.PORT_BUSY, message: 'port is busy' }];
- };
- const pipeline = (): number => {
- const [res, err] = createContainer();
- if (res) {
- return 3;
- }
- switch (err.code) {
- case ErrorCode.PORT_BUSY: {
- return 0;
- }
- case ErrorCode.NAME_EXISTS: {
- return 2;
- }
- case ErrorCode.NONE: {
- return 3;
- }
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement