@axinom/mosaic-user-auth 0.30.0-rc.8 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js
CHANGED
|
@@ -2161,10 +2161,16 @@ const InitiateEndUserPasswordResetDocument = { "kind": "Document", "definitions"
|
|
|
2161
2161
|
const CheckPasswordResetOtpDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "CheckPasswordResetOtp" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "CheckEndUserPasswordResetOtpInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "checkEndUserPasswordResetOtp" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "isOtpValid" } }] } }] } }] };
|
|
2162
2162
|
const CompleteEndUserPasswordResetDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "CompleteEndUserPasswordReset" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "CompleteEndUserPasswordResetInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "completeEndUserPasswordReset" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "idpUserId" } }] } }] } }] };
|
|
2163
2163
|
|
|
2164
|
-
async function invokeUserAuthMethod(method, userAuthConfig, isRootLevel = false) {
|
|
2164
|
+
async function invokeUserAuthMethod(method, userAuthConfig, isRootLevel = false, searchParams) {
|
|
2165
2165
|
const endpointUrl = new URL(`${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/${method}`, userAuthConfig.userAuthBaseUrl);
|
|
2166
2166
|
const rootEndpointUrl = new URL(`${method}`, userAuthConfig.userAuthBaseUrl);
|
|
2167
|
-
|
|
2167
|
+
const url = isRootLevel ? rootEndpointUrl : endpointUrl;
|
|
2168
|
+
if (searchParams) {
|
|
2169
|
+
for (const [key, value] of Object.entries(searchParams)) {
|
|
2170
|
+
url.searchParams.set(key, value);
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
return (await fetch(url.href, {
|
|
2168
2174
|
cache: 'no-cache',
|
|
2169
2175
|
credentials: isRootLevel ? 'omit' : 'include',
|
|
2170
2176
|
redirect: 'follow',
|
|
@@ -2484,8 +2490,14 @@ const fetchUserToken = async (userAuthConfig) => {
|
|
|
2484
2490
|
}
|
|
2485
2491
|
};
|
|
2486
2492
|
const logoutUser = async (userAuthConfig) => {
|
|
2487
|
-
const logoutResponse = await invokeUserAuthMethod('sign-out', userAuthConfig);
|
|
2488
|
-
|
|
2493
|
+
const logoutResponse = await invokeUserAuthMethod('sign-out', userAuthConfig, false, { post_logout_redirect_uri: window.location.origin });
|
|
2494
|
+
if (logoutResponse.code === SignOutResponseCode.SUCCESS) {
|
|
2495
|
+
if (logoutResponse.idpLogoutUrl) {
|
|
2496
|
+
window.location.assign(logoutResponse.idpLogoutUrl);
|
|
2497
|
+
}
|
|
2498
|
+
return true;
|
|
2499
|
+
}
|
|
2500
|
+
return false;
|
|
2489
2501
|
};
|
|
2490
2502
|
/**
|
|
2491
2503
|
* Decrypts an encrypted User Token Cookie
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../lib-user-auth-utils/dist/esm/common/enums.js","../../../lib-user-auth-utils/dist/esm/common/constants.js","../../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../../node_modules/graphql/language/ast.mjs","../../../../../node_modules/graphql/language/visitor.mjs","../../../../../node_modules/graphql/language/blockString.mjs","../../../../../node_modules/graphql/language/printer.mjs"],"sourcesContent":["/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nexport var UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nexport var TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nexport var SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nexport var IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nexport var SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nexport var ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nexport var UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nexport var CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nexport var CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (CheckOtpResponseCode = {}));\n/**\n * Response code for the Device Authorization request (the device starts the flow).\n */\nexport var DeviceAuthorizationResponseCode;\n(function (DeviceAuthorizationResponseCode) {\n DeviceAuthorizationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceAuthorizationResponseCode[\"DEVICE_FLOW_NOT_ENABLED\"] = \"DEVICE_FLOW_NOT_ENABLED\";\n DeviceAuthorizationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n DeviceAuthorizationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceAuthorizationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceAuthorizationResponseCode || (DeviceAuthorizationResponseCode = {}));\n/**\n * Response code for the Device poll (the device polls until the user approves; on approval it\n * receives its refresh token).\n */\nexport var DevicePollResponseCode;\n(function (DevicePollResponseCode) {\n DevicePollResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DevicePollResponseCode[\"AUTHORIZATION_PENDING\"] = \"AUTHORIZATION_PENDING\";\n DevicePollResponseCode[\"SLOW_DOWN\"] = \"SLOW_DOWN\";\n DevicePollResponseCode[\"ACCESS_DENIED\"] = \"ACCESS_DENIED\";\n DevicePollResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DevicePollResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DevicePollResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DevicePollResponseCode || (DevicePollResponseCode = {}));\n/**\n * Response code for the Device Verification lookup (the activation page reads what a user code authorizes).\n */\nexport var DeviceVerificationResponseCode;\n(function (DeviceVerificationResponseCode) {\n DeviceVerificationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceVerificationResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceVerificationResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceVerificationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceVerificationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceVerificationResponseCode || (DeviceVerificationResponseCode = {}));\n/**\n * Response code for Device Approval / Denial (the signed-in user approves or denies a device).\n */\nexport var DeviceApprovalResponseCode;\n(function (DeviceApprovalResponseCode) {\n DeviceApprovalResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceApprovalResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceApprovalResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceApprovalResponseCode[\"ALREADY_USED\"] = \"ALREADY_USED\";\n DeviceApprovalResponseCode[\"ACCESS_TOKEN_EXPIRED\"] = \"ACCESS_TOKEN_EXPIRED\";\n DeviceApprovalResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n DeviceApprovalResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceApprovalResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceApprovalResponseCode || (DeviceApprovalResponseCode = {}));\n/**\n * Lifecycle status of a device authorization record.\n */\nexport var DeviceAuthorizationStatus;\n(function (DeviceAuthorizationStatus) {\n DeviceAuthorizationStatus[\"PENDING\"] = \"PENDING\";\n DeviceAuthorizationStatus[\"APPROVED\"] = \"APPROVED\";\n DeviceAuthorizationStatus[\"DENIED\"] = \"DENIED\";\n DeviceAuthorizationStatus[\"EXPIRED\"] = \"EXPIRED\";\n DeviceAuthorizationStatus[\"REDEEMED\"] = \"REDEEMED\";\n})(DeviceAuthorizationStatus || (DeviceAuthorizationStatus = {}));\n/**\n * IDP Protocol categories\n */\nexport var IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nexport var DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nexport var AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","import { IdpProtocol } from './enums.js';\nexport const managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n"],"names":["DeviceAuthorizationResponseCode","DevicePollResponseCode","DeviceVerificationResponseCode","DeviceApprovalResponseCode","DeviceAuthorizationStatus","IdpProtocol","nodejsCustomInspectSymbol"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../lib-user-auth-utils/dist/esm/common/enums.js","../../../lib-user-auth-utils/dist/esm/common/constants.js","../../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../../node_modules/graphql/language/ast.mjs","../../../../../node_modules/graphql/language/visitor.mjs","../../../../../node_modules/graphql/language/blockString.mjs","../../../../../node_modules/graphql/language/printer.mjs"],"sourcesContent":["/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nexport var UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nexport var TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nexport var SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nexport var IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nexport var SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nexport var ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nexport var UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nexport var CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nexport var CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (CheckOtpResponseCode = {}));\n/**\n * Response code for the Device Authorization request (the device starts the flow).\n */\nexport var DeviceAuthorizationResponseCode;\n(function (DeviceAuthorizationResponseCode) {\n DeviceAuthorizationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceAuthorizationResponseCode[\"DEVICE_FLOW_NOT_ENABLED\"] = \"DEVICE_FLOW_NOT_ENABLED\";\n DeviceAuthorizationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n DeviceAuthorizationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceAuthorizationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceAuthorizationResponseCode || (DeviceAuthorizationResponseCode = {}));\n/**\n * Response code for the Device poll (the device polls until the user approves; on approval it\n * receives its refresh token).\n */\nexport var DevicePollResponseCode;\n(function (DevicePollResponseCode) {\n DevicePollResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DevicePollResponseCode[\"AUTHORIZATION_PENDING\"] = \"AUTHORIZATION_PENDING\";\n DevicePollResponseCode[\"SLOW_DOWN\"] = \"SLOW_DOWN\";\n DevicePollResponseCode[\"ACCESS_DENIED\"] = \"ACCESS_DENIED\";\n DevicePollResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DevicePollResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DevicePollResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DevicePollResponseCode || (DevicePollResponseCode = {}));\n/**\n * Response code for the Device Verification lookup (the activation page reads what a user code authorizes).\n */\nexport var DeviceVerificationResponseCode;\n(function (DeviceVerificationResponseCode) {\n DeviceVerificationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceVerificationResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceVerificationResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceVerificationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceVerificationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceVerificationResponseCode || (DeviceVerificationResponseCode = {}));\n/**\n * Response code for Device Approval / Denial (the signed-in user approves or denies a device).\n */\nexport var DeviceApprovalResponseCode;\n(function (DeviceApprovalResponseCode) {\n DeviceApprovalResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceApprovalResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceApprovalResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceApprovalResponseCode[\"ALREADY_USED\"] = \"ALREADY_USED\";\n DeviceApprovalResponseCode[\"ACCESS_TOKEN_EXPIRED\"] = \"ACCESS_TOKEN_EXPIRED\";\n DeviceApprovalResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n DeviceApprovalResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceApprovalResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceApprovalResponseCode || (DeviceApprovalResponseCode = {}));\n/**\n * Lifecycle status of a device authorization record.\n */\nexport var DeviceAuthorizationStatus;\n(function (DeviceAuthorizationStatus) {\n DeviceAuthorizationStatus[\"PENDING\"] = \"PENDING\";\n DeviceAuthorizationStatus[\"APPROVED\"] = \"APPROVED\";\n DeviceAuthorizationStatus[\"DENIED\"] = \"DENIED\";\n DeviceAuthorizationStatus[\"EXPIRED\"] = \"EXPIRED\";\n DeviceAuthorizationStatus[\"REDEEMED\"] = \"REDEEMED\";\n})(DeviceAuthorizationStatus || (DeviceAuthorizationStatus = {}));\n/**\n * IDP Protocol categories\n */\nexport var IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nexport var DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nexport var AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","import { IdpProtocol } from './enums.js';\nexport const managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n"],"names":["DeviceAuthorizationResponseCode","DevicePollResponseCode","DeviceVerificationResponseCode","DeviceApprovalResponseCode","DeviceAuthorizationStatus","IdpProtocol","nodejsCustomInspectSymbol"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userAuth.d.ts","sourceRoot":"","sources":["../../../src/util/userAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAE/B,KAAK,2BAA2B,EAEhC,KAAK,gBAAgB,EAGrB,KAAK,6BAA6B,EAElC,KAAK,cAAc,EAKnB,KAAK,kBAAkB,EAEvB,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,iCAAiC,EAEtC,KAAK,0BAA0B,EAK/B,KAAK,iCAAiC,EAGtC,KAAK,0BAA0B,EAK/B,KAAK,0BAA0B,EAEhC,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"userAuth.d.ts","sourceRoot":"","sources":["../../../src/util/userAuth.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2138,10 +2138,16 @@ const InitiateEndUserPasswordResetDocument = { "kind": "Document", "definitions"
|
|
|
2138
2138
|
const CheckPasswordResetOtpDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "CheckPasswordResetOtp" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "CheckEndUserPasswordResetOtpInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "checkEndUserPasswordResetOtp" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "isOtpValid" } }] } }] } }] };
|
|
2139
2139
|
const CompleteEndUserPasswordResetDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "CompleteEndUserPasswordReset" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "CompleteEndUserPasswordResetInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "completeEndUserPasswordReset" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "idpUserId" } }] } }] } }] };
|
|
2140
2140
|
|
|
2141
|
-
async function invokeUserAuthMethod(method, userAuthConfig, isRootLevel = false) {
|
|
2141
|
+
async function invokeUserAuthMethod(method, userAuthConfig, isRootLevel = false, searchParams) {
|
|
2142
2142
|
const endpointUrl = new URL(`${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/${method}`, userAuthConfig.userAuthBaseUrl);
|
|
2143
2143
|
const rootEndpointUrl = new URL(`${method}`, userAuthConfig.userAuthBaseUrl);
|
|
2144
|
-
|
|
2144
|
+
const url = isRootLevel ? rootEndpointUrl : endpointUrl;
|
|
2145
|
+
if (searchParams) {
|
|
2146
|
+
for (const [key, value] of Object.entries(searchParams)) {
|
|
2147
|
+
url.searchParams.set(key, value);
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
return (await fetch(url.href, {
|
|
2145
2151
|
cache: 'no-cache',
|
|
2146
2152
|
credentials: isRootLevel ? 'omit' : 'include',
|
|
2147
2153
|
redirect: 'follow',
|
|
@@ -2461,8 +2467,14 @@ const fetchUserToken = async (userAuthConfig) => {
|
|
|
2461
2467
|
}
|
|
2462
2468
|
};
|
|
2463
2469
|
const logoutUser = async (userAuthConfig) => {
|
|
2464
|
-
const logoutResponse = await invokeUserAuthMethod('sign-out', userAuthConfig);
|
|
2465
|
-
|
|
2470
|
+
const logoutResponse = await invokeUserAuthMethod('sign-out', userAuthConfig, false, { post_logout_redirect_uri: window.location.origin });
|
|
2471
|
+
if (logoutResponse.code === SignOutResponseCode.SUCCESS) {
|
|
2472
|
+
if (logoutResponse.idpLogoutUrl) {
|
|
2473
|
+
window.location.assign(logoutResponse.idpLogoutUrl);
|
|
2474
|
+
}
|
|
2475
|
+
return true;
|
|
2476
|
+
}
|
|
2477
|
+
return false;
|
|
2466
2478
|
};
|
|
2467
2479
|
/**
|
|
2468
2480
|
* Decrypts an encrypted User Token Cookie
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../lib-user-auth-utils/dist/esm/common/enums.js","../../../lib-user-auth-utils/dist/esm/common/constants.js","../../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../../node_modules/graphql/language/ast.mjs","../../../../../node_modules/graphql/language/visitor.mjs","../../../../../node_modules/graphql/language/blockString.mjs","../../../../../node_modules/graphql/language/printer.mjs"],"sourcesContent":["/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nexport var UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nexport var TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nexport var SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nexport var IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nexport var SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nexport var ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nexport var UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nexport var CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nexport var CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (CheckOtpResponseCode = {}));\n/**\n * Response code for the Device Authorization request (the device starts the flow).\n */\nexport var DeviceAuthorizationResponseCode;\n(function (DeviceAuthorizationResponseCode) {\n DeviceAuthorizationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceAuthorizationResponseCode[\"DEVICE_FLOW_NOT_ENABLED\"] = \"DEVICE_FLOW_NOT_ENABLED\";\n DeviceAuthorizationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n DeviceAuthorizationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceAuthorizationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceAuthorizationResponseCode || (DeviceAuthorizationResponseCode = {}));\n/**\n * Response code for the Device poll (the device polls until the user approves; on approval it\n * receives its refresh token).\n */\nexport var DevicePollResponseCode;\n(function (DevicePollResponseCode) {\n DevicePollResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DevicePollResponseCode[\"AUTHORIZATION_PENDING\"] = \"AUTHORIZATION_PENDING\";\n DevicePollResponseCode[\"SLOW_DOWN\"] = \"SLOW_DOWN\";\n DevicePollResponseCode[\"ACCESS_DENIED\"] = \"ACCESS_DENIED\";\n DevicePollResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DevicePollResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DevicePollResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DevicePollResponseCode || (DevicePollResponseCode = {}));\n/**\n * Response code for the Device Verification lookup (the activation page reads what a user code authorizes).\n */\nexport var DeviceVerificationResponseCode;\n(function (DeviceVerificationResponseCode) {\n DeviceVerificationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceVerificationResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceVerificationResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceVerificationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceVerificationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceVerificationResponseCode || (DeviceVerificationResponseCode = {}));\n/**\n * Response code for Device Approval / Denial (the signed-in user approves or denies a device).\n */\nexport var DeviceApprovalResponseCode;\n(function (DeviceApprovalResponseCode) {\n DeviceApprovalResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceApprovalResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceApprovalResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceApprovalResponseCode[\"ALREADY_USED\"] = \"ALREADY_USED\";\n DeviceApprovalResponseCode[\"ACCESS_TOKEN_EXPIRED\"] = \"ACCESS_TOKEN_EXPIRED\";\n DeviceApprovalResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n DeviceApprovalResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceApprovalResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceApprovalResponseCode || (DeviceApprovalResponseCode = {}));\n/**\n * Lifecycle status of a device authorization record.\n */\nexport var DeviceAuthorizationStatus;\n(function (DeviceAuthorizationStatus) {\n DeviceAuthorizationStatus[\"PENDING\"] = \"PENDING\";\n DeviceAuthorizationStatus[\"APPROVED\"] = \"APPROVED\";\n DeviceAuthorizationStatus[\"DENIED\"] = \"DENIED\";\n DeviceAuthorizationStatus[\"EXPIRED\"] = \"EXPIRED\";\n DeviceAuthorizationStatus[\"REDEEMED\"] = \"REDEEMED\";\n})(DeviceAuthorizationStatus || (DeviceAuthorizationStatus = {}));\n/**\n * IDP Protocol categories\n */\nexport var IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nexport var DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nexport var AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","import { IdpProtocol } from './enums.js';\nexport const managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n"],"names":["IdpProtocol","nodejsCustomInspectSymbol"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../lib-user-auth-utils/dist/esm/common/enums.js","../../../lib-user-auth-utils/dist/esm/common/constants.js","../../../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../../../../../node_modules/graphql/jsutils/inspect.mjs","../../../../../node_modules/graphql/jsutils/invariant.mjs","../../../../../node_modules/graphql/jsutils/defineInspect.mjs","../../../../../node_modules/graphql/language/ast.mjs","../../../../../node_modules/graphql/language/visitor.mjs","../../../../../node_modules/graphql/language/blockString.mjs","../../../../../node_modules/graphql/language/printer.mjs"],"sourcesContent":["/**\n * This is the Error Type that the REST middleware will respond when there's an error\n * from the User Service that does not belong to Token/SignOut or IDPConfiguration responses.\n */\nexport var UserAuthErrorCode;\n(function (UserAuthErrorCode) {\n UserAuthErrorCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n UserAuthErrorCode[\"IDP_CONFIGURATION_ERROR\"] = \"IDP_CONFIGURATION_ERROR\";\n UserAuthErrorCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n UserAuthErrorCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_USER\"] = \"INVALID_USER\";\n UserAuthErrorCode[\"INVALID_APPLICATION\"] = \"INVALID_APPLICATION\";\n UserAuthErrorCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n UserAuthErrorCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n UserAuthErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(UserAuthErrorCode || (UserAuthErrorCode = {}));\n/**\n * Token response code from User Service Auth API\n */\nexport var TokenResponseCode;\n(function (TokenResponseCode) {\n TokenResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n TokenResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n TokenResponseCode[\"USER_NOT_FOUND\"] = \"USER_NOT_FOUND\";\n TokenResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n TokenResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n TokenResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n TokenResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(TokenResponseCode || (TokenResponseCode = {}));\n/**\n * Sign out response code from User Service Auth API\n */\nexport var SignOutResponseCode;\n(function (SignOutResponseCode) {\n SignOutResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignOutResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n SignOutResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(SignOutResponseCode || (SignOutResponseCode = {}));\n/**\n * IDP Configuration response code from User Service Auth API\n */\nexport var IdpConfigurationResponseCode;\n(function (IdpConfigurationResponseCode) {\n IdpConfigurationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n IdpConfigurationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"NO_ACTIVE_IDPS\"] = \"NO_ACTIVE_IDPS\";\n IdpConfigurationResponseCode[\"ACCOUNT_NOT_ACTIVE\"] = \"ACCOUNT_NOT_ACTIVE\";\n IdpConfigurationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n IdpConfigurationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(IdpConfigurationResponseCode || (IdpConfigurationResponseCode = {}));\n/**\n * Sign In With Credentials Response Code from User Service Auth API\n */\nexport var SignInResponseCode;\n(function (SignInResponseCode) {\n SignInResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n SignInResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n SignInResponseCode[\"AUTH_FLOW_ERROR\"] = \"AUTH_FLOW_ERROR\";\n SignInResponseCode[\"INVALID_CREDENTIALS\"] = \"INVALID_CREDENTIALS\";\n SignInResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n SignInResponseCode[\"INVALID_IDP_CONNECTION\"] = \"INVALID_IDP_CONNECTION\";\n SignInResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n})(SignInResponseCode || (SignInResponseCode = {}));\n/**\n * Sign In With Credentials Password Reset/Complete Password Reset Code from User Service Auth API\n */\nexport var ResetPasswordResponseCode;\n(function (ResetPasswordResponseCode) {\n ResetPasswordResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n ResetPasswordResponseCode[\"ERROR\"] = \"ERROR\";\n ResetPasswordResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(ResetPasswordResponseCode || (ResetPasswordResponseCode = {}));\n/**\n * Sign Up With Credential Response Code from User Service Auth API\n */\nexport var UserSignUpResponseCode;\n(function (UserSignUpResponseCode) {\n UserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n UserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n UserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(UserSignUpResponseCode || (UserSignUpResponseCode = {}));\n/**\n * Verify Sign Up With Credential Response Code from User Service Auth API\n */\nexport var CompleteUserSignUpResponseCode;\n(function (CompleteUserSignUpResponseCode) {\n CompleteUserSignUpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CompleteUserSignUpResponseCode[\"ERROR\"] = \"ERROR\";\n CompleteUserSignUpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CompleteUserSignUpResponseCode || (CompleteUserSignUpResponseCode = {}));\n/**\n * OTP Check Response Code from User Service Auth API\n * This response type is used for both Sign Up OTP check and Reset Password OTP check.\n */\nexport var CheckOtpResponseCode;\n(function (CheckOtpResponseCode) {\n CheckOtpResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n CheckOtpResponseCode[\"ERROR\"] = \"ERROR\";\n CheckOtpResponseCode[\"SERVICE_CONFIGURATION_ERROR\"] = \"SERVICE_CONFIGURATION_ERROR\";\n})(CheckOtpResponseCode || (CheckOtpResponseCode = {}));\n/**\n * Response code for the Device Authorization request (the device starts the flow).\n */\nexport var DeviceAuthorizationResponseCode;\n(function (DeviceAuthorizationResponseCode) {\n DeviceAuthorizationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceAuthorizationResponseCode[\"DEVICE_FLOW_NOT_ENABLED\"] = \"DEVICE_FLOW_NOT_ENABLED\";\n DeviceAuthorizationResponseCode[\"APPLICATION_NOT_ACTIVE\"] = \"APPLICATION_NOT_ACTIVE\";\n DeviceAuthorizationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceAuthorizationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceAuthorizationResponseCode || (DeviceAuthorizationResponseCode = {}));\n/**\n * Response code for the Device poll (the device polls until the user approves; on approval it\n * receives its refresh token).\n */\nexport var DevicePollResponseCode;\n(function (DevicePollResponseCode) {\n DevicePollResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DevicePollResponseCode[\"AUTHORIZATION_PENDING\"] = \"AUTHORIZATION_PENDING\";\n DevicePollResponseCode[\"SLOW_DOWN\"] = \"SLOW_DOWN\";\n DevicePollResponseCode[\"ACCESS_DENIED\"] = \"ACCESS_DENIED\";\n DevicePollResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DevicePollResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DevicePollResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DevicePollResponseCode || (DevicePollResponseCode = {}));\n/**\n * Response code for the Device Verification lookup (the activation page reads what a user code authorizes).\n */\nexport var DeviceVerificationResponseCode;\n(function (DeviceVerificationResponseCode) {\n DeviceVerificationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceVerificationResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceVerificationResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceVerificationResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceVerificationResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceVerificationResponseCode || (DeviceVerificationResponseCode = {}));\n/**\n * Response code for Device Approval / Denial (the signed-in user approves or denies a device).\n */\nexport var DeviceApprovalResponseCode;\n(function (DeviceApprovalResponseCode) {\n DeviceApprovalResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DeviceApprovalResponseCode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n DeviceApprovalResponseCode[\"EXPIRED\"] = \"EXPIRED\";\n DeviceApprovalResponseCode[\"ALREADY_USED\"] = \"ALREADY_USED\";\n DeviceApprovalResponseCode[\"ACCESS_TOKEN_EXPIRED\"] = \"ACCESS_TOKEN_EXPIRED\";\n DeviceApprovalResponseCode[\"NEEDS_LOGIN\"] = \"NEEDS_LOGIN\";\n DeviceApprovalResponseCode[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n DeviceApprovalResponseCode[\"INTERNAL_SERVER_ERROR\"] = \"INTERNAL_SERVER_ERROR\";\n})(DeviceApprovalResponseCode || (DeviceApprovalResponseCode = {}));\n/**\n * Lifecycle status of a device authorization record.\n */\nexport var DeviceAuthorizationStatus;\n(function (DeviceAuthorizationStatus) {\n DeviceAuthorizationStatus[\"PENDING\"] = \"PENDING\";\n DeviceAuthorizationStatus[\"APPROVED\"] = \"APPROVED\";\n DeviceAuthorizationStatus[\"DENIED\"] = \"DENIED\";\n DeviceAuthorizationStatus[\"EXPIRED\"] = \"EXPIRED\";\n DeviceAuthorizationStatus[\"REDEEMED\"] = \"REDEEMED\";\n})(DeviceAuthorizationStatus || (DeviceAuthorizationStatus = {}));\n/**\n * IDP Protocol categories\n */\nexport var IdpProtocol;\n(function (IdpProtocol) {\n IdpProtocol[\"OIDC\"] = \"OIDC\";\n IdpProtocol[\"OAUTH2\"] = \"OAUTH2\";\n IdpProtocol[\"DELEGATED\"] = \"DELEGATED\";\n})(IdpProtocol || (IdpProtocol = {}));\n/**\n * Response codes specific to Native Cookie Decryption.\n */\nexport var DecryptNativeCookieResponseCode;\n(function (DecryptNativeCookieResponseCode) {\n DecryptNativeCookieResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n DecryptNativeCookieResponseCode[\"COOKIE_DECRYPTION_FAILED\"] = \"COOKIE_DECRYPTION_FAILED\";\n})(DecryptNativeCookieResponseCode || (DecryptNativeCookieResponseCode = {}));\n/**\n * Response codes specific to End User Application Token Generation\n */\nexport var AuthenticateEndUserApplicationResponseCode;\n(function (AuthenticateEndUserApplicationResponseCode) {\n AuthenticateEndUserApplicationResponseCode[\"SUCCESS\"] = \"SUCCESS\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_FOUND\"] = \"APPLICATION_NOT_FOUND\";\n AuthenticateEndUserApplicationResponseCode[\"APPLICATION_NOT_ENABLED\"] = \"APPLICATION_NOT_ENABLED\";\n AuthenticateEndUserApplicationResponseCode[\"END_USER_APP_TOKEN_GENERATION_ERROR\"] = \"END_USER_APP_TOKEN_GENERATION_ERROR\";\n})(AuthenticateEndUserApplicationResponseCode || (AuthenticateEndUserApplicationResponseCode = {}));\n//# sourceMappingURL=enums.js.map","import { IdpProtocol } from './enums.js';\nexport const managedIdProviderDefaults = {\n AX_GOOGLE: {\n discoveryDocumentUrl: 'https://accounts.google.com/.well-known/openid-configuration',\n providerIconUrl: 'https://developers.google.com/identity/images/g-logo.png',\n additionalParams: {\n access_type: 'offline',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_FACEBOOK: {\n authorizationEndpointUrl: 'https://www.facebook.com/dialog/oauth',\n tokenEndpointUrl: 'https://graph.facebook.com/oauth/access_token',\n userInfoEndpointUrl: 'https://graph.facebook.com/me',\n scopes: [{ name: 'email', default: true }],\n protocol: IdpProtocol.OAUTH2,\n },\n AX_APPLE: {\n discoveryDocumentUrl: 'https://appleid.apple.com/.well-known/openid-configuration',\n additionalParams: {\n response_mode: 'form_post',\n },\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'name', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n AX_AUTH: {\n scopes: [\n { name: 'openid', default: true },\n { name: 'email', default: true },\n { name: 'profile', default: true },\n { name: 'offline_access', default: true },\n ],\n protocol: IdpProtocol.OIDC,\n },\n};\n//# sourceMappingURL=constants.js.map","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n"],"names":["IdpProtocol","nodejsCustomInspectSymbol"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userAuth.d.ts","sourceRoot":"","sources":["../../../src/util/userAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAE/B,KAAK,2BAA2B,EAEhC,KAAK,gBAAgB,EAGrB,KAAK,6BAA6B,EAElC,KAAK,cAAc,EAKnB,KAAK,kBAAkB,EAEvB,KAAK,yBAAyB,EAC/B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,iCAAiC,EAEtC,KAAK,0BAA0B,EAK/B,KAAK,iCAAiC,EAGtC,KAAK,0BAA0B,EAK/B,KAAK,0BAA0B,EAEhC,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"userAuth.d.ts","sourceRoot":"","sources":["../../../src/util/userAuth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-user-auth",
|
|
3
|
-
"version": "0.30.0
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Integration utilities from user-service for application frontends",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"test:ci": "vitest run --coverage"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@axinom/mosaic-user-auth-utils": "^0.10.0
|
|
40
|
+
"@axinom/mosaic-user-auth-utils": "^0.10.0",
|
|
41
41
|
"@graphql-typed-document-node/core": "^3.1.1",
|
|
42
42
|
"graphql": "^15.4.0",
|
|
43
43
|
"graphql-tag": "^2.11.0"
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"publishConfig": {
|
|
75
75
|
"access": "public"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "c423aeda79f59de31422cd52d9821d1b8214c3df"
|
|
78
78
|
}
|
package/src/util/userAuth.ts
CHANGED
|
@@ -61,6 +61,7 @@ async function invokeUserAuthMethod<T>(
|
|
|
61
61
|
method: 'get-user-auth-idp-config' | 'token' | 'sign-out' | '.well-known',
|
|
62
62
|
userAuthConfig: UserAuthConfig,
|
|
63
63
|
isRootLevel = false,
|
|
64
|
+
searchParams?: Record<string, string>,
|
|
64
65
|
): Promise<T> {
|
|
65
66
|
const endpointUrl = new URL(
|
|
66
67
|
`${userAuthConfig.tenantId}/${userAuthConfig.environmentId}/${userAuthConfig.applicationId}/${method}`,
|
|
@@ -69,8 +70,15 @@ async function invokeUserAuthMethod<T>(
|
|
|
69
70
|
|
|
70
71
|
const rootEndpointUrl = new URL(`${method}`, userAuthConfig.userAuthBaseUrl);
|
|
71
72
|
|
|
73
|
+
const url = isRootLevel ? rootEndpointUrl : endpointUrl;
|
|
74
|
+
if (searchParams) {
|
|
75
|
+
for (const [key, value] of Object.entries(searchParams)) {
|
|
76
|
+
url.searchParams.set(key, value);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
72
80
|
return (
|
|
73
|
-
await fetch(
|
|
81
|
+
await fetch(url.href, {
|
|
74
82
|
cache: 'no-cache',
|
|
75
83
|
credentials: isRootLevel ? 'omit' : 'include',
|
|
76
84
|
redirect: 'follow',
|
|
@@ -525,10 +533,20 @@ export const logoutUser = async (
|
|
|
525
533
|
const logoutResponse = await invokeUserAuthMethod<SignOutResponse>(
|
|
526
534
|
'sign-out',
|
|
527
535
|
userAuthConfig,
|
|
536
|
+
false,
|
|
537
|
+
{ post_logout_redirect_uri: window.location.origin },
|
|
528
538
|
);
|
|
539
|
+
|
|
529
540
|
currentUserToken = null;
|
|
530
541
|
|
|
531
|
-
|
|
542
|
+
if (logoutResponse.code === SignOutResponseCode.SUCCESS) {
|
|
543
|
+
if (logoutResponse.idpLogoutUrl) {
|
|
544
|
+
window.location.assign(logoutResponse.idpLogoutUrl);
|
|
545
|
+
}
|
|
546
|
+
return true;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
return false;
|
|
532
550
|
};
|
|
533
551
|
|
|
534
552
|
/**
|