[go: nahoru, domu]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert FirebaseError to TypeScript #1521

Merged
merged 16 commits into from
Jul 23, 2019
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/RulesDeploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import fs = require("fs");

import gcp = require("./gcp");
import logger = require("./logger");
import FirebaseError = require("./error");
import { FirebaseError } from "./error";
import utils = require("./utils");

import { prompt } from "./prompt";
Expand Down
2 changes: 1 addition & 1 deletion src/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var _ = require("lodash");
var querystring = require("querystring");
var request = require("request");

var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var logger = require("./logger");
var responseToError = require("./responseToError");
var scopes = require("./scopes");
Expand Down
2 changes: 1 addition & 1 deletion src/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var url = require("url");

var api = require("./api");
var configstore = require("./configstore");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var logger = require("./logger");
var { prompt } = require("./prompt");
var scopes = require("./scopes");
Expand Down
2 changes: 1 addition & 1 deletion src/checkDupHostingKeys.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var _ = require("lodash");
var utils = require("./utils");
var clc = require("cli-color");
var Config = require("./config");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var logger = require("./logger");

module.exports = function(options) {
Expand Down
2 changes: 1 addition & 1 deletion src/checkValidTargetFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

var _ = require("lodash");

var FirebaseError = require("./error");
var { FirebaseError } = require("./error");

module.exports = function(options) {
function numFilters(targetTypes) {
Expand Down
2 changes: 1 addition & 1 deletion src/command.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var _ = require("lodash");
var track = require("./track");
var logger = require("./logger");
var utils = require("./utils");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var clc = require("cli-color");
var RC = require("./rc");
var Config = require("./config");
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-get.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var requirePermissions = require("../requirePermissions");
var request = require("request");
var api = require("../api");
var responseToError = require("../responseToError");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");

var utils = require("../utils");
var querystring = require("querystring");
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-push.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var requirePermissions = require("../requirePermissions");
var request = require("request");
var api = require("../api");
var responseToError = require("../responseToError");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");

var utils = require("../utils");
var clc = require("cli-color");
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-set.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var requirePermissions = require("../requirePermissions");
var request = require("request");
var api = require("../api");
var responseToError = require("../responseToError");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");

var utils = require("../utils");
var clc = require("cli-color");
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-settings-get.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as request from "request";
import * as responseToError from "../responseToError";
import * as Command from "../command";
import * as logger from "../logger";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as requirePermissions from "../requirePermissions";
import * as utils from "../utils";
import * as api from "../api";
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-settings-set.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as request from "request";
import * as responseToError from "../responseToError";
import * as Command from "../command";
import * as logger from "../logger";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as requirePermissions from "../requirePermissions";
import * as utils from "../utils";
import * as api from "../api";
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-update.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var requirePermissions = require("../requirePermissions");
var request = require("request");
var api = require("../api");
var responseToError = require("../responseToError");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");

var utils = require("../utils");
var clc = require("cli-color");
Expand Down
2 changes: 1 addition & 1 deletion src/commands/emulators-exec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import * as clc from "cli-color";

import * as Command from "../command";
import { Emulators } from "../emulator/types";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as utils from "../utils";
import * as logger from "../logger";
import * as controller from "../emulator/controller";
Expand Down
2 changes: 1 addition & 1 deletion src/commands/functions-log.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as opn from "open";
import * as qs from "querystring";

import * as Command from "../command";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as gcp from "../gcp";
import * as getProjectId from "../getProjectId";
import * as logger from "../logger";
Expand Down
2 changes: 1 addition & 1 deletion src/commands/open.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as _ from "lodash";
import * as clc from "cli-color";
import * as open from "open";

import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as api from "../api";
import * as Command from "../command";
import * as logger from "../logger";
Expand Down
2 changes: 1 addition & 1 deletion src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var fs = require("fs-extra");
var path = require("path");

var detectProjectRoot = require("./detectProjectRoot");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var fsutils = require("./fsutils");
var loadCJSON = require("./loadCJSON");
var parseBoltRules = require("./parseBoltRules");
Expand Down
2 changes: 1 addition & 1 deletion src/database/listRemote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as request from "request";
import { Response } from "request";
import * as responseToError from "../responseToError";
import * as utils from "../utils";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as logger from "../logger";
import * as api from "../api";

Expand Down
2 changes: 1 addition & 1 deletion src/database/removeRemote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as request from "request";
import { Response } from "request";
import * as responseToError from "../responseToError";
import * as utils from "../utils";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as logger from "../logger";
import * as api from "../api";

Expand Down
2 changes: 1 addition & 1 deletion src/deploy/database/prepare.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var _ = require("lodash");
var clc = require("cli-color");
var path = require("path");

var FirebaseError = require("../../error");
var { FirebaseError } = require("../../error");
var parseBoltRules = require("../../parseBoltRules");
var rtdb = require("../../rtdb");
var utils = require("../../utils");
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/functions/release.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
var clc = require("cli-color");
var _ = require("lodash");

var FirebaseError = require("../../error");
var { FirebaseError } = require("../../error");
var gcp = require("../../gcp");
var logger = require("../../logger");
var track = require("../../track");
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/functions/validate.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as FirebaseError from "../../error";
import { FirebaseError } from "../../error";
import * as _ from "lodash";
import * as path from "path";
import * as clc from "cli-color";
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/hosting/prepare.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const clc = require("cli-color");
const api = require("../../api");
const convertConfig = require("./convertConfig");
const deploymentTool = require("../../deploymentTool");
const FirebaseError = require("../../error");
const { FirebaseError } = require("../../error");
const fsutils = require("../../fsutils");
const normalizedHostingConfigs = require("../../hosting/normalizedHostingConfigs");
const { resolveProjectPath } = require("../../projectPath");
Expand Down
2 changes: 1 addition & 1 deletion src/deploy/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var clc = require("cli-color");
var _ = require("lodash");
var getProjectId = require("../getProjectId");
var utils = require("../utils");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");
var track = require("../track");
var lifecycleHooks = require("./lifecycleHooks");

Expand Down
2 changes: 1 addition & 1 deletion src/deploy/lifecycleHooks.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const _ = require("lodash");
const utils = require("../utils");
const clc = require("cli-color");
const childProcess = require("child_process");
const FirebaseError = require("../error");
const { FirebaseError } = require("../error");
const getProjectId = require("../getProjectId");
const logger = require("../logger");
const path = require("path");
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { FunctionsEmulator } from "../emulator/functionsEmulator";
import { DatabaseEmulator } from "../emulator/databaseEmulator";
import { FirestoreEmulator, FirestoreEmulatorArgs } from "../emulator/firestoreEmulator";
import { HostingEmulator } from "../emulator/hostingEmulator";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as getProjectId from "../getProjectId";

export const VALID_EMULATOR_STRINGS: string[] = ALL_EMULATORS;
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/download.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as crypto from "crypto";
import * as request from "request";
import * as ProgressBar from "progress";

import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as utils from "../utils";
import { Emulators, JavaEmulatorDetails } from "./types";
import * as javaEmulators from "../serve/javaEmulators";
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/emulatorServer.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { EmulatorInstance } from "./types";
import { EmulatorRegistry } from "./registry";
import * as controller from "./controller";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";

/**
* Wrapper object to expose an EmulatorInstance for "firebase serve" that
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/functionsEmulatorShell.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { FunctionsEmulator } from "./functionsEmulator";
import { EmulatedTriggerDefinition, getFunctionRegion } from "./functionsEmulatorShared";
import * as utils from "../utils";
import * as logger from "../logger";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import { LegacyEvent } from "./events/types";

interface FunctionsShellController {
Expand Down
2 changes: 1 addition & 1 deletion src/emulator/registry.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as clc from "cli-color";

import { ALL_EMULATORS, EmulatorInstance, Emulators } from "./types";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";
import * as utils from "../utils";
import * as controller from "./controller";

Expand Down
2 changes: 1 addition & 1 deletion src/ensureCloudResourceLocation.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as FirebaseError from "./error";
import { FirebaseError } from "./error";

/**
* Simple helper function that returns an error with a helpful
Expand Down
17 changes: 0 additions & 17 deletions src/error.js

This file was deleted.

47 changes: 47 additions & 0 deletions src/error.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
interface FirebaseErrorOptions {
merlinnot marked this conversation as resolved.
Show resolved Hide resolved
children?: unknown[];
context?: unknown;
exit?: number;
original?: Error;
status?: number;
}

const DEFAULT_CHILDREN: NonNullable<FirebaseErrorOptions["children"]> = [];
const DEFAULT_EXIT: NonNullable<FirebaseErrorOptions["exit"]> = 1;
const DEFAULT_STATUS: NonNullable<FirebaseErrorOptions["status"]> = 500;

export class FirebaseError extends Error implements FirebaseErrorOptions {
merlinnot marked this conversation as resolved.
Show resolved Hide resolved
merlinnot marked this conversation as resolved.
Show resolved Hide resolved
merlinnot marked this conversation as resolved.
Show resolved Hide resolved
readonly children: unknown[];

readonly context: unknown | undefined;

readonly exit: number;

readonly message: string;

readonly name = "FirebaseError";

readonly original: Error | undefined;

readonly status: number;
merlinnot marked this conversation as resolved.
Show resolved Hide resolved

constructor(
message: string,
{
children = DEFAULT_CHILDREN,
context,
exit = DEFAULT_EXIT,
original,
status = DEFAULT_STATUS,
}: FirebaseErrorOptions = {}
merlinnot marked this conversation as resolved.
Show resolved Hide resolved
) {
super();

this.children = children;
this.context = context;
this.exit = exit;
this.message = message;
this.original = original;
this.status = status;
}
}
2 changes: 1 addition & 1 deletion src/errorOut.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var logError = require("./logError");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");

module.exports = function(client, error) {
if (error.name !== "FirebaseError") {
Expand Down
2 changes: 1 addition & 1 deletion src/filterTargets.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var _ = require("lodash");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");

module.exports = function(options, validTargets) {
var targets = validTargets.filter(function(t) {
Expand Down
2 changes: 1 addition & 1 deletion src/firestore/delete.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var ProgressBar = require("progress");

var api = require("../api");
var firestore = require("../gcp/firestore");
var FirebaseError = require("../error");
var { FirebaseError } = require("../error");
var logger = require("../logger");
var utils = require("../utils");

Expand Down
2 changes: 1 addition & 1 deletion src/firestore/encodeFirestoreValue.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as _ from "lodash";

import * as FirebaseError from "../error";
import { FirebaseError } from "../error";

function isPlainObject(input: any): boolean {
return (
Expand Down
2 changes: 1 addition & 1 deletion src/firestore/util.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";

interface IndexName {
projectId: string;
Expand Down
2 changes: 1 addition & 1 deletion src/firestore/validator.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as clc from "cli-color";
import * as FirebaseError from "../error";
import { FirebaseError } from "../error";

/**
* Throw an error if 'obj' does not have a value for the property 'prop'.
Expand Down
2 changes: 1 addition & 1 deletion src/functionsConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var _ = require("lodash");

var clc = require("cli-color");
var api = require("./api");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var runtimeconfig = require("./gcp/runtimeconfig");
var getProjectId = require("./getProjectId");
var ensureApiEnabled = require("./ensureApiEnabled").ensure;
Expand Down
2 changes: 1 addition & 1 deletion src/functionsConfigClone.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
var _ = require("lodash");

var clc = require("cli-color");
var FirebaseError = require("./error");
var { FirebaseError } = require("./error");
var functionsConfig = require("./functionsConfig");
var runtimeconfig = require("./gcp/runtimeconfig");

Expand Down
Loading