@edgedb/auth-core
Advanced tools
Comparing version 0.2.0-canary.20240306T150856 to 0.2.0-canary.20240306T154113
@@ -35,2 +35,3 @@ "use strict"; | ||
const utils_1 = require("./utils"); | ||
const errors = __importStar(require("./errors")); | ||
class Auth { | ||
@@ -215,3 +216,3 @@ client; | ||
if (err instanceof edgedb.InvalidReferenceError) { | ||
throw new Error("auth extension is not enabled"); | ||
throw new errors.ConfigurationError("auth extension is not enabled"); | ||
} | ||
@@ -218,0 +219,0 @@ throw err; |
@@ -5,1 +5,2 @@ export * from "./core"; | ||
export * from "./types"; | ||
export * from "./errors"; |
@@ -21,1 +21,2 @@ "use strict"; | ||
__exportStar(require("./types"), exports); | ||
__exportStar(require("./errors"), exports); |
@@ -0,2 +1,5 @@ | ||
import * as errors from "./errors"; | ||
export declare function requestGET<ResponseT>(href: string, searchParams?: Record<string, string>, onFailure?: (errorMessage: string) => Promise<ResponseT>): Promise<ResponseT>; | ||
export declare function requestPOST<ResponseT>(href: string, body?: object, onFailure?: (errorMessage: string) => Promise<ResponseT>): Promise<ResponseT>; | ||
export declare const errorMapping: Map<string, errors.EdgeDBAuthError>; | ||
export declare function decodeError(errorBody: string): errors.EdgeDBAuthError; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.requestPOST = exports.requestGET = void 0; | ||
exports.decodeError = exports.errorMapping = exports.requestPOST = exports.requestGET = void 0; | ||
const errors = __importStar(require("./errors")); | ||
async function requestGET(href, searchParams, onFailure) { | ||
@@ -23,3 +47,3 @@ const url = new URL(href); | ||
} | ||
throw new Error(`Failed to fetch ${href}: ${bodyText}`); | ||
throw decodeError(bodyText); | ||
} | ||
@@ -58,3 +82,3 @@ if (response.headers.get("content-type")?.includes("application/json")) { | ||
} | ||
throw new Error(`Failed to fetch ${href}: ${bodyText}`); | ||
throw decodeError(bodyText); | ||
} | ||
@@ -74,1 +98,29 @@ if (response.headers.get("content-type")?.includes("application/json")) { | ||
exports.requestPOST = requestPOST; | ||
exports.errorMapping = new Map(Object.values(errors) | ||
.map((errClass) => "type" in errClass.prototype ? [errClass.prototype.type, errClass] : null) | ||
.filter((entry) => entry != null)); | ||
function decodeError(errorBody) { | ||
try { | ||
const errorJson = JSON.parse(errorBody); | ||
if (typeof errorJson !== "object" || | ||
!errorJson["error"] || | ||
typeof errorJson["error"] !== "object") { | ||
return new errors.UnknownError(`Error returned by server does not contain 'error' object`); | ||
} | ||
const error = errorJson["error"]; | ||
if (!("type" in error && "message" in error) || | ||
typeof error["type"] !== "string" || | ||
typeof error["message"] !== "string") { | ||
return new errors.UnknownError(`Error object returned by server does not contain 'type' or 'message'`); | ||
} | ||
const errorClass = exports.errorMapping.get(error.type); | ||
if (!errorClass) { | ||
return new errors.UnknownError(`Unknown error type: '${error.type}'`); | ||
} | ||
return new errorClass(error["message"]); | ||
} | ||
catch { | ||
return new errors.UnknownError(`Failed to decode error json: ${errorBody}`); | ||
} | ||
} | ||
exports.decodeError = decodeError; |
{ | ||
"name": "@edgedb/auth-core", | ||
"description": "Core helper library for the EdgeDB Auth extension", | ||
"version": "0.2.0-canary.20240306T150856", | ||
"version": "0.2.0-canary.20240306T154113", | ||
"author": "EdgeDB <info@edgedb.com>", | ||
@@ -6,0 +6,0 @@ "repository": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40907
20
1013