diff --git a/packages/driver/genErrors.mjs b/packages/driver/genErrors.mjs index 7a29acb29..0d15b0e56 100644 --- a/packages/driver/genErrors.mjs +++ b/packages/driver/genErrors.mjs @@ -70,7 +70,7 @@ const __filename = new URL("", import.meta.url).pathname; mappingBuf.nl(); mappingBuf.code(copy); mappingBuf.nl(); - mappingBuf.code('import {ErrorType} from "./base";'); + mappingBuf.code('import type { ErrorType } from "./base";'); mappingBuf.code('import * as errors from "./index";'); mappingBuf.nl(); mappingBuf.nl(); @@ -96,9 +96,13 @@ const __filename = new URL("", import.meta.url).pathname; let line = `export class ${err} extends ${base} `; line += `{\n`; if (tag_items.length > 0) { - line += ` protected static tags = {${tag_items.join(", ")}}\n`; + line += ` override protected static tags = {${tag_items.join(", ")}}\n`; + } + if (base !== "EdgeDBError") { + line += ` override get code(): number {\n return ${code};\n }\n`; + } else { + line += ` get code(): number {\n return ${code};\n }\n`; } - line += ` get code(): number {\n return ${code};\n }\n`; line += `}`; errorsBuf.code(line); @@ -112,6 +116,6 @@ const __filename = new URL("", import.meta.url).pathname; const errors_ts = prettier.format(errorsBuf.render(), prettierOptions); const mapping_ts = prettier.format(mappingBuf.render(), prettierOptions); - fs.writeFileSync(path.join(__dirname, "./src/errors/index.ts"), errors_ts); - fs.writeFileSync(path.join(__dirname, "./src/errors/map.ts"), mapping_ts); + fs.writeFileSync(path.join(__dirname, "./src/errors/index.ts"), await errors_ts); + fs.writeFileSync(path.join(__dirname, "./src/errors/map.ts"), await mapping_ts); })(); diff --git a/packages/driver/src/errors/index.ts b/packages/driver/src/errors/index.ts index 77782dd60..6f73f848c 100644 --- a/packages/driver/src/errors/index.ts +++ b/packages/driver/src/errors/index.ts @@ -18,6 +18,8 @@ * limitations under the License. */ +/* tslint:disable */ + import { EdgeDBError } from "./base"; import * as tags from "./tags"; export { EdgeDBError } from "./base"; @@ -42,68 +44,68 @@ export class ProtocolError extends EdgeDBError { } export class BinaryProtocolError extends ProtocolError { - get code(): number { + override get code(): number { return 0x03_01_00_00; } } export class UnsupportedProtocolVersionError extends BinaryProtocolError { - get code(): number { + override get code(): number { return 0x03_01_00_01; } } export class TypeSpecNotFoundError extends BinaryProtocolError { - get code(): number { + override get code(): number { return 0x03_01_00_02; } } export class UnexpectedMessageError extends BinaryProtocolError { - get code(): number { + override get code(): number { return 0x03_01_00_03; } } export class InputDataError extends ProtocolError { - get code(): number { + override get code(): number { return 0x03_02_00_00; } } export class ParameterTypeMismatchError extends InputDataError { - get code(): number { + override get code(): number { return 0x03_02_01_00; } } export class StateMismatchError extends InputDataError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x03_02_02_00; } } export class ResultCardinalityMismatchError extends ProtocolError { - get code(): number { + override get code(): number { return 0x03_03_00_00; } } export class CapabilityError extends ProtocolError { - get code(): number { + override get code(): number { return 0x03_04_00_00; } } export class UnsupportedCapabilityError extends CapabilityError { - get code(): number { + override get code(): number { return 0x03_04_01_00; } } export class DisabledCapabilityError extends CapabilityError { - get code(): number { + override get code(): number { return 0x03_04_02_00; } } @@ -115,272 +117,278 @@ export class QueryError extends EdgeDBError { } export class InvalidSyntaxError extends QueryError { - get code(): number { + override get code(): number { return 0x04_01_00_00; } } export class EdgeQLSyntaxError extends InvalidSyntaxError { - get code(): number { + override get code(): number { return 0x04_01_01_00; } } export class SchemaSyntaxError extends InvalidSyntaxError { - get code(): number { + override get code(): number { return 0x04_01_02_00; } } export class GraphQLSyntaxError extends InvalidSyntaxError { - get code(): number { + override get code(): number { return 0x04_01_03_00; } } export class InvalidTypeError extends QueryError { - get code(): number { + override get code(): number { return 0x04_02_00_00; } } export class InvalidTargetError extends InvalidTypeError { - get code(): number { + override get code(): number { return 0x04_02_01_00; } } export class InvalidLinkTargetError extends InvalidTargetError { - get code(): number { + override get code(): number { return 0x04_02_01_01; } } export class InvalidPropertyTargetError extends InvalidTargetError { - get code(): number { + override get code(): number { return 0x04_02_01_02; } } export class InvalidReferenceError extends QueryError { - get code(): number { + override get code(): number { return 0x04_03_00_00; } } export class UnknownModuleError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_01; } } export class UnknownLinkError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_02; } } export class UnknownPropertyError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_03; } } export class UnknownUserError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_04; } } export class UnknownDatabaseError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_05; } } export class UnknownParameterError extends InvalidReferenceError { - get code(): number { + override get code(): number { return 0x04_03_00_06; } } +export class DeprecatedScopingError extends InvalidReferenceError { + override get code(): number { + return 0x04_03_00_07; + } +} + export class SchemaError extends QueryError { - get code(): number { + override get code(): number { return 0x04_04_00_00; } } export class SchemaDefinitionError extends QueryError { - get code(): number { + override get code(): number { return 0x04_05_00_00; } } export class InvalidDefinitionError extends SchemaDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_00; } } export class InvalidModuleDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_01; } } export class InvalidLinkDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_02; } } export class InvalidPropertyDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_03; } } export class InvalidUserDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_04; } } export class InvalidDatabaseDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_05; } } export class InvalidOperatorDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_06; } } export class InvalidAliasDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_07; } } export class InvalidFunctionDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_08; } } export class InvalidConstraintDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_09; } } export class InvalidCastDefinitionError extends InvalidDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_01_0a; } } export class DuplicateDefinitionError extends SchemaDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_00; } } export class DuplicateModuleDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_01; } } export class DuplicateLinkDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_02; } } export class DuplicatePropertyDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_03; } } export class DuplicateUserDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_04; } } export class DuplicateDatabaseDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_05; } } export class DuplicateOperatorDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_06; } } export class DuplicateViewDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_07; } } export class DuplicateFunctionDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_08; } } export class DuplicateConstraintDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_09; } } export class DuplicateCastDefinitionError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_0a; } } export class DuplicateMigrationError extends DuplicateDefinitionError { - get code(): number { + override get code(): number { return 0x04_05_02_0b; } } export class SessionTimeoutError extends QueryError { - get code(): number { + override get code(): number { return 0x04_06_00_00; } } export class IdleSessionTimeoutError extends SessionTimeoutError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x04_06_01_00; } } export class QueryTimeoutError extends SessionTimeoutError { - get code(): number { + override get code(): number { return 0x04_06_02_00; } } export class TransactionTimeoutError extends SessionTimeoutError { - get code(): number { + override get code(): number { return 0x04_06_0a_00; } } export class IdleTransactionTimeoutError extends TransactionTimeoutError { - get code(): number { + override get code(): number { return 0x04_06_0a_01; } } @@ -392,88 +400,88 @@ export class ExecutionError extends EdgeDBError { } export class InvalidValueError extends ExecutionError { - get code(): number { + override get code(): number { return 0x05_01_00_00; } } export class DivisionByZeroError extends InvalidValueError { - get code(): number { + override get code(): number { return 0x05_01_00_01; } } export class NumericOutOfRangeError extends InvalidValueError { - get code(): number { + override get code(): number { return 0x05_01_00_02; } } export class AccessPolicyError extends InvalidValueError { - get code(): number { + override get code(): number { return 0x05_01_00_03; } } export class QueryAssertionError extends InvalidValueError { - get code(): number { + override get code(): number { return 0x05_01_00_04; } } export class IntegrityError extends ExecutionError { - get code(): number { + override get code(): number { return 0x05_02_00_00; } } export class ConstraintViolationError extends IntegrityError { - get code(): number { + override get code(): number { return 0x05_02_00_01; } } export class CardinalityViolationError extends IntegrityError { - get code(): number { + override get code(): number { return 0x05_02_00_02; } } export class MissingRequiredError extends IntegrityError { - get code(): number { + override get code(): number { return 0x05_02_00_03; } } export class TransactionError extends ExecutionError { - get code(): number { + override get code(): number { return 0x05_03_00_00; } } export class TransactionConflictError extends TransactionError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x05_03_01_00; } } export class TransactionSerializationError extends TransactionConflictError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x05_03_01_01; } } export class TransactionDeadlockError extends TransactionConflictError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x05_03_01_02; } } export class WatchError extends ExecutionError { - get code(): number { + override get code(): number { return 0x05_04_00_00; } } @@ -491,7 +499,7 @@ export class AccessError extends EdgeDBError { } export class AuthenticationError extends AccessError { - get code(): number { + override get code(): number { return 0x07_01_00_00; } } @@ -503,34 +511,34 @@ export class AvailabilityError extends EdgeDBError { } export class BackendUnavailableError extends AvailabilityError { - protected static tags = { [tags.SHOULD_RETRY]: true }; - get code(): number { + protected static override tags = { [tags.SHOULD_RETRY]: true }; + override get code(): number { return 0x08_00_00_01; } } export class ServerOfflineError extends AvailabilityError { - protected static tags = { + protected static override tags = { [tags.SHOULD_RECONNECT]: true, [tags.SHOULD_RETRY]: true, }; - get code(): number { + override get code(): number { return 0x08_00_00_02; } } export class UnknownTenantError extends AvailabilityError { - protected static tags = { + protected static override tags = { [tags.SHOULD_RECONNECT]: true, [tags.SHOULD_RETRY]: true, }; - get code(): number { + override get code(): number { return 0x08_00_00_03; } } export class ServerBlockedError extends AvailabilityError { - get code(): number { + override get code(): number { return 0x08_00_00_04; } } @@ -542,7 +550,7 @@ export class BackendError extends EdgeDBError { } export class UnsupportedBackendFeatureError extends BackendError { - get code(): number { + override get code(): number { return 0x09_00_01_00; } } @@ -554,7 +562,7 @@ export class LogMessage extends EdgeDBError { } export class WarningMessage extends LogMessage { - get code(): number { + override get code(): number { return 0xf0_01_00_00; } } @@ -566,85 +574,85 @@ export class ClientError extends EdgeDBError { } export class ClientConnectionError extends ClientError { - get code(): number { + override get code(): number { return 0xff_01_00_00; } } export class ClientConnectionFailedError extends ClientConnectionError { - get code(): number { + override get code(): number { return 0xff_01_01_00; } } export class ClientConnectionFailedTemporarilyError extends ClientConnectionFailedError { - protected static tags = { + protected static override tags = { [tags.SHOULD_RECONNECT]: true, [tags.SHOULD_RETRY]: true, }; - get code(): number { + override get code(): number { return 0xff_01_01_01; } } export class ClientConnectionTimeoutError extends ClientConnectionError { - protected static tags = { + protected static override tags = { [tags.SHOULD_RECONNECT]: true, [tags.SHOULD_RETRY]: true, }; - get code(): number { + override get code(): number { return 0xff_01_02_00; } } export class ClientConnectionClosedError extends ClientConnectionError { - protected static tags = { + protected static override tags = { [tags.SHOULD_RECONNECT]: true, [tags.SHOULD_RETRY]: true, }; - get code(): number { + override get code(): number { return 0xff_01_03_00; } } export class InterfaceError extends ClientError { - get code(): number { + override get code(): number { return 0xff_02_00_00; } } export class QueryArgumentError extends InterfaceError { - get code(): number { + override get code(): number { return 0xff_02_01_00; } } export class MissingArgumentError extends QueryArgumentError { - get code(): number { + override get code(): number { return 0xff_02_01_01; } } export class UnknownArgumentError extends QueryArgumentError { - get code(): number { + override get code(): number { return 0xff_02_01_02; } } export class InvalidArgumentError extends QueryArgumentError { - get code(): number { + override get code(): number { return 0xff_02_01_03; } } export class NoDataError extends ClientError { - get code(): number { + override get code(): number { return 0xff_03_00_00; } } export class InternalClientError extends ClientError { - get code(): number { + override get code(): number { return 0xff_04_00_00; } } diff --git a/packages/driver/src/errors/map.ts b/packages/driver/src/errors/map.ts index 69a67eddc..7f9cf1fef 100644 --- a/packages/driver/src/errors/map.ts +++ b/packages/driver/src/errors/map.ts @@ -53,6 +53,7 @@ errorMapping.set(0x04_03_00_03, errors.UnknownPropertyError); errorMapping.set(0x04_03_00_04, errors.UnknownUserError); errorMapping.set(0x04_03_00_05, errors.UnknownDatabaseError); errorMapping.set(0x04_03_00_06, errors.UnknownParameterError); +errorMapping.set(0x04_03_00_07, errors.DeprecatedScopingError); errorMapping.set(0x04_04_00_00, errors.SchemaError); errorMapping.set(0x04_05_00_00, errors.SchemaDefinitionError); errorMapping.set(0x04_05_01_00, errors.InvalidDefinitionError);