@lifeready/core 1.0.2 → 1.0.4
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/README.md +62 -62
- package/bundles/lifeready-core.umd.js +15445 -15445
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/ast.js +40 -40
- package/esm2015/lib/_common/deferred-promise.js +24 -24
- package/esm2015/lib/_common/exceptions.js +157 -157
- package/esm2015/lib/_common/queries.gql.js +190 -190
- package/esm2015/lib/_common/run-outside-angular.js +79 -79
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/_common/utils.js +44 -44
- package/esm2015/lib/api/contact-card.gql.js +79 -79
- package/esm2015/lib/api/contact-card.service.js +154 -154
- package/esm2015/lib/api/contact-card2.gql.js +60 -60
- package/esm2015/lib/api/contact-card2.service.js +103 -103
- package/esm2015/lib/api/file.service.js +74 -74
- package/esm2015/lib/api/item2.gql.js +110 -110
- package/esm2015/lib/api/item2.service.js +311 -311
- package/esm2015/lib/api/key-exchange.gql.js +188 -188
- package/esm2015/lib/api/key-exchange.service.js +442 -442
- package/esm2015/lib/api/key-exchange.types.js +18 -18
- package/esm2015/lib/api/key-exchange2.gql.js +171 -171
- package/esm2015/lib/api/key-exchange2.service.js +479 -479
- package/esm2015/lib/api/lock.gql.js +40 -40
- package/esm2015/lib/api/lock.service.js +64 -64
- package/esm2015/lib/api/lr-apollo.service.js +46 -46
- package/esm2015/lib/api/lr-graphql/index.js +6 -6
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
- package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
- package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
- package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
- package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
- package/esm2015/lib/api/message.service.js +138 -138
- package/esm2015/lib/api/persist.service.js +181 -181
- package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
- package/esm2015/lib/api/query-processor/index.js +3 -3
- package/esm2015/lib/api/query-processor/query-processor.service.js +192 -192
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
- package/esm2015/lib/api/shared-contact-card.service.js +119 -119
- package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
- package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
- package/esm2015/lib/api/time.service.js +146 -146
- package/esm2015/lib/api/types/graphql.types.js +7 -7
- package/esm2015/lib/api/types/index.js +3 -3
- package/esm2015/lib/api/types/lr-graphql.types.js +71 -71
- package/esm2015/lib/auth/auth.config.js +57 -57
- package/esm2015/lib/auth/auth.gql.js +48 -48
- package/esm2015/lib/auth/auth.types.js +27 -27
- package/esm2015/lib/auth/idle.service.js +168 -168
- package/esm2015/lib/auth/idle.types.js +7 -7
- package/esm2015/lib/auth/lbop.service.js +355 -355
- package/esm2015/lib/auth/life-ready-auth.service.js +500 -500
- package/esm2015/lib/auth/password.service.js +320 -320
- package/esm2015/lib/auth/register.service.js +172 -172
- package/esm2015/lib/auth/two-factor.service.js +74 -74
- package/esm2015/lib/category/category-meta.service.js +99 -99
- package/esm2015/lib/category/category.gql.js +406 -406
- package/esm2015/lib/category/category.service.js +390 -390
- package/esm2015/lib/category/category.types.js +29 -29
- package/esm2015/lib/cryptography/cryptography.types.js +11 -11
- package/esm2015/lib/cryptography/encryption.service.js +189 -189
- package/esm2015/lib/cryptography/key-factory.service.js +237 -237
- package/esm2015/lib/cryptography/key-graph.service.js +280 -280
- package/esm2015/lib/cryptography/key-meta.service.js +200 -200
- package/esm2015/lib/cryptography/key.service.js +124 -124
- package/esm2015/lib/cryptography/slip39.service.js +169 -169
- package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
- package/esm2015/lib/life-ready.config.js +84 -84
- package/esm2015/lib/life-ready.module.js +74 -74
- package/esm2015/lib/plan/plan.gql.js +123 -123
- package/esm2015/lib/plan/plan.service.js +149 -149
- package/esm2015/lib/plan/plan.types.js +11 -11
- package/esm2015/lib/record/record-attachment.service.js +101 -101
- package/esm2015/lib/record/record.gql.js +179 -179
- package/esm2015/lib/record/record.service.js +206 -206
- package/esm2015/lib/record/record.types.js +15 -15
- package/esm2015/lib/record-type/record-type.service.js +75 -75
- package/esm2015/lib/record-type/record-type.types.js +28 -28
- package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -105
- package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -1
- package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -300
- package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -52
- package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -97
- package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -1
- package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -150
- package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -229
- package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -1
- package/esm2015/lib/scenario/scenario-setup.service.js +269 -269
- package/esm2015/lib/scenario/scenario.gql.js +368 -368
- package/esm2015/lib/scenario/scenario.service.js +611 -611
- package/esm2015/lib/scenario/scenario.types.js +64 -64
- package/esm2015/lib/search/search.gql.js +62 -62
- package/esm2015/lib/search/search.service.js +156 -156
- package/esm2015/lib/search/search.types.js +6 -6
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -112
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -232
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -299
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
- package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
- package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
- package/esm2015/lib/users/profile-details.service.js +214 -214
- package/esm2015/lib/users/profile.gql.js +97 -97
- package/esm2015/lib/users/profile.service.js +169 -169
- package/esm2015/lib/users/profile.types.js +34 -34
- package/esm2015/lib/users/user.gql.js +60 -60
- package/esm2015/lib/users/user.service.js +79 -79
- package/esm2015/lib/users/user.types.js +5 -5
- package/esm2015/lifeready-core.js +10 -10
- package/esm2015/public-api.js +81 -81
- package/fesm2015/lifeready-core.js +13088 -13088
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/ast.d.ts +11 -11
- package/lib/_common/deferred-promise.d.ts +12 -12
- package/lib/_common/exceptions.d.ts +109 -109
- package/lib/_common/queries.gql.d.ts +10 -10
- package/lib/_common/run-outside-angular.d.ts +14 -14
- package/lib/_common/types.d.ts +10 -10
- package/lib/_common/utils.d.ts +3 -3
- package/lib/api/contact-card.gql.d.ts +7 -7
- package/lib/api/contact-card.service.d.ts +52 -52
- package/lib/api/contact-card2.gql.d.ts +34 -34
- package/lib/api/contact-card2.service.d.ts +49 -49
- package/lib/api/file.service.d.ts +18 -18
- package/lib/api/item2.gql.d.ts +96 -96
- package/lib/api/item2.service.d.ts +177 -177
- package/lib/api/key-exchange.gql.d.ts +9 -9
- package/lib/api/key-exchange.service.d.ts +39 -39
- package/lib/api/key-exchange.types.d.ts +196 -196
- package/lib/api/key-exchange2.gql.d.ts +125 -125
- package/lib/api/key-exchange2.service.d.ts +187 -187
- package/lib/api/lock.gql.d.ts +27 -27
- package/lib/api/lock.service.d.ts +25 -25
- package/lib/api/lr-apollo.service.d.ts +15 -15
- package/lib/api/lr-graphql/index.d.ts +5 -5
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
- package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -27
- package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
- package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
- package/lib/api/lr-graphql/lr.service.d.ts +9 -9
- package/lib/api/message.service.d.ts +58 -58
- package/lib/api/persist.service.d.ts +31 -31
- package/lib/api/query-processor/common-processors.service.d.ts +36 -36
- package/lib/api/query-processor/index.d.ts +2 -2
- package/lib/api/query-processor/query-processor.service.d.ts +18 -18
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
- package/lib/api/shared-contact-card.service.d.ts +33 -33
- package/lib/api/shared-contact-card2.gql.d.ts +36 -36
- package/lib/api/shared-contact-card2.service.d.ts +45 -45
- package/lib/api/time.service.d.ts +16 -16
- package/lib/api/types/graphql.types.d.ts +29 -29
- package/lib/api/types/index.d.ts +2 -2
- package/lib/api/types/lr-graphql.types.d.ts +385 -385
- package/lib/auth/auth.config.d.ts +5 -5
- package/lib/auth/auth.gql.d.ts +15 -15
- package/lib/auth/auth.types.d.ts +66 -66
- package/lib/auth/idle.service.d.ts +40 -40
- package/lib/auth/idle.types.d.ts +10 -10
- package/lib/auth/lbop.service.d.ts +91 -91
- package/lib/auth/life-ready-auth.service.d.ts +59 -59
- package/lib/auth/password.service.d.ts +78 -78
- package/lib/auth/register.service.d.ts +25 -25
- package/lib/auth/two-factor.service.d.ts +15 -15
- package/lib/category/category-meta.service.d.ts +23 -23
- package/lib/category/category.gql.d.ts +45 -45
- package/lib/category/category.service.d.ts +67 -67
- package/lib/category/category.types.d.ts +79 -79
- package/lib/cryptography/cryptography.types.d.ts +83 -83
- package/lib/cryptography/encryption.service.d.ts +41 -41
- package/lib/cryptography/key-factory.service.d.ts +38 -38
- package/lib/cryptography/key-graph.service.d.ts +33 -33
- package/lib/cryptography/key-meta.service.d.ts +44 -44
- package/lib/cryptography/key.service.d.ts +36 -36
- package/lib/cryptography/slip39.service.d.ts +43 -43
- package/lib/cryptography/web-crypto.service.d.ts +5 -5
- package/lib/life-ready.config.d.ts +14 -14
- package/lib/life-ready.module.d.ts +5 -5
- package/lib/plan/plan.gql.d.ts +11 -11
- package/lib/plan/plan.service.d.ts +33 -33
- package/lib/plan/plan.types.d.ts +31 -31
- package/lib/record/record-attachment.service.d.ts +16 -16
- package/lib/record/record.gql.d.ts +14 -14
- package/lib/record/record.service.d.ts +25 -25
- package/lib/record/record.types.d.ts +57 -57
- package/lib/record-type/record-type.service.d.ts +11 -11
- package/lib/record-type/record-type.types.d.ts +50 -50
- package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -7
- package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -63
- package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -32
- package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -5
- package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -17
- package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -18
- package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -8
- package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -30
- package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -54
- package/lib/scenario/scenario-setup.service.d.ts +22 -22
- package/lib/scenario/scenario.gql.d.ts +34 -34
- package/lib/scenario/scenario.service.d.ts +58 -58
- package/lib/scenario/scenario.types.d.ts +217 -217
- package/lib/search/search.gql.d.ts +1 -1
- package/lib/search/search.service.d.ts +25 -25
- package/lib/search/search.types.d.ts +20 -20
- package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
- package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
- package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
- package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -218
- package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -130
- package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
- package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
- package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
- package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
- package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
- package/lib/users/profile-details.service.d.ts +21 -21
- package/lib/users/profile.gql.d.ts +11 -11
- package/lib/users/profile.service.d.ts +35 -35
- package/lib/users/profile.types.d.ts +96 -96
- package/lib/users/user.gql.d.ts +9 -9
- package/lib/users/user.service.d.ts +12 -12
- package/lib/users/user.types.d.ts +23 -23
- package/lifeready-core.d.ts +9 -9
- package/package.json +1 -1
- package/public-api.d.ts +77 -77
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
// Abstract Syntax Tree
|
|
2
|
-
import gql from 'graphql-tag';
|
|
3
|
-
import { LrBadArgumentException, LrBadLogicException } from './exceptions';
|
|
4
|
-
export function getAstOperation(astDocument, operation) {
|
|
5
|
-
const operations = astDocument.definitions.filter((def) => def.kind === 'OperationDefinition');
|
|
6
|
-
if (operations.length > 1) {
|
|
7
|
-
throw new LrBadLogicException(`There can be only one '${operation}' operation, instead there are ${operations.length}`);
|
|
8
|
-
}
|
|
9
|
-
return operations[0];
|
|
10
|
-
}
|
|
11
|
-
export function getQuery(doc) {
|
|
12
|
-
return getAstOperation(doc, 'query');
|
|
13
|
-
}
|
|
14
|
-
export function getMutation(doc) {
|
|
15
|
-
return getAstOperation(doc, 'mutation');
|
|
16
|
-
}
|
|
17
|
-
export function getFragments(doc) {
|
|
18
|
-
return doc.definitions.filter((def) => def.kind === 'FragmentDefinition');
|
|
19
|
-
}
|
|
20
|
-
export function getFragment(astDocument) {
|
|
21
|
-
const fragments = getFragments(astDocument);
|
|
22
|
-
if (fragments.length > 1) {
|
|
23
|
-
throw new LrBadArgumentException('GraphQL document can only contain one fragment.');
|
|
24
|
-
}
|
|
25
|
-
return fragments[0];
|
|
26
|
-
}
|
|
27
|
-
export function name(value) {
|
|
28
|
-
return {
|
|
29
|
-
kind: 'Name',
|
|
30
|
-
value,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export function getAliasOrName(field) {
|
|
34
|
-
var _a;
|
|
35
|
-
return ((_a = field.alias) === null || _a === void 0 ? void 0 : _a.value) || field.name.value;
|
|
36
|
-
}
|
|
37
|
-
export function gqlTyped(literals, ...placeholders) {
|
|
38
|
-
return gql(literals, ...placeholders);
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
// Abstract Syntax Tree
|
|
2
|
+
import gql from 'graphql-tag';
|
|
3
|
+
import { LrBadArgumentException, LrBadLogicException } from './exceptions';
|
|
4
|
+
export function getAstOperation(astDocument, operation) {
|
|
5
|
+
const operations = astDocument.definitions.filter((def) => def.kind === 'OperationDefinition');
|
|
6
|
+
if (operations.length > 1) {
|
|
7
|
+
throw new LrBadLogicException(`There can be only one '${operation}' operation, instead there are ${operations.length}`);
|
|
8
|
+
}
|
|
9
|
+
return operations[0];
|
|
10
|
+
}
|
|
11
|
+
export function getQuery(doc) {
|
|
12
|
+
return getAstOperation(doc, 'query');
|
|
13
|
+
}
|
|
14
|
+
export function getMutation(doc) {
|
|
15
|
+
return getAstOperation(doc, 'mutation');
|
|
16
|
+
}
|
|
17
|
+
export function getFragments(doc) {
|
|
18
|
+
return doc.definitions.filter((def) => def.kind === 'FragmentDefinition');
|
|
19
|
+
}
|
|
20
|
+
export function getFragment(astDocument) {
|
|
21
|
+
const fragments = getFragments(astDocument);
|
|
22
|
+
if (fragments.length > 1) {
|
|
23
|
+
throw new LrBadArgumentException('GraphQL document can only contain one fragment.');
|
|
24
|
+
}
|
|
25
|
+
return fragments[0];
|
|
26
|
+
}
|
|
27
|
+
export function name(value) {
|
|
28
|
+
return {
|
|
29
|
+
kind: 'Name',
|
|
30
|
+
value,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function getAliasOrName(field) {
|
|
34
|
+
var _a;
|
|
35
|
+
return ((_a = field.alias) === null || _a === void 0 ? void 0 : _a.value) || field.name.value;
|
|
36
|
+
}
|
|
37
|
+
export function gqlTyped(literals, ...placeholders) {
|
|
38
|
+
return gql(literals, ...placeholders);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2plY3RzL25ld3JlcG8va2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QjtBQVV2QixPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFDOUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sVUFBVSxlQUFlLENBQzdCLFdBQVcsRUFDWCxTQUE0QjtJQUU1QixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDL0MsQ0FBQyxHQUE0QixFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUNyRSxDQUFDO0lBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksbUJBQW1CLENBQzNCLDBCQUEwQixTQUFTLGtDQUFrQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQ3pGLENBQUM7S0FDSDtJQUVELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQWlCO0lBQ3hDLE9BQU8sZUFBZSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFpQjtJQUMzQyxPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBaUI7SUFDNUMsT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQ2YsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUF5QjtJQUNuRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksc0JBQXNCLENBQzlCLGlEQUFpRCxDQUNsRCxDQUFDO0tBQ0g7SUFDRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUFhO0lBQ2hDLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBZ0I7O0lBQzdDLE9BQU8sT0FBQSxLQUFLLENBQUMsS0FBSywwQ0FBRSxLQUFLLEtBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDaEQsQ0FBQztBQU1ELE1BQU0sVUFBVSxRQUFRLENBQ3RCLFFBQWtELEVBQ2xELEdBQUcsWUFBbUI7SUFFdEIsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsWUFBWSxDQUF5QixDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBYnN0cmFjdCBTeW50YXggVHJlZVxyXG5cclxuaW1wb3J0IHtcclxuICBEb2N1bWVudE5vZGUsXHJcbiAgRmllbGROb2RlLFxyXG4gIEZyYWdtZW50RGVmaW5pdGlvbk5vZGUsXHJcbiAgTmFtZU5vZGUsXHJcbiAgT3BlcmF0aW9uRGVmaW5pdGlvbk5vZGUsXHJcbiAgT3BlcmF0aW9uVHlwZU5vZGUsXHJcbn0gZnJvbSAnZ3JhcGhxbCc7XHJcbmltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5pbXBvcnQgeyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uLCBMckJhZExvZ2ljRXhjZXB0aW9uIH0gZnJvbSAnLi9leGNlcHRpb25zJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBc3RPcGVyYXRpb24oXHJcbiAgYXN0RG9jdW1lbnQsXHJcbiAgb3BlcmF0aW9uOiBPcGVyYXRpb25UeXBlTm9kZVxyXG4pOiBPcGVyYXRpb25EZWZpbml0aW9uTm9kZSB7XHJcbiAgY29uc3Qgb3BlcmF0aW9ucyA9IGFzdERvY3VtZW50LmRlZmluaXRpb25zLmZpbHRlcihcclxuICAgIChkZWY6IE9wZXJhdGlvbkRlZmluaXRpb25Ob2RlKSA9PiBkZWYua2luZCA9PT0gJ09wZXJhdGlvbkRlZmluaXRpb24nXHJcbiAgKTtcclxuXHJcbiAgaWYgKG9wZXJhdGlvbnMubGVuZ3RoID4gMSkge1xyXG4gICAgdGhyb3cgbmV3IExyQmFkTG9naWNFeGNlcHRpb24oXHJcbiAgICAgIGBUaGVyZSBjYW4gYmUgb25seSBvbmUgJyR7b3BlcmF0aW9ufScgb3BlcmF0aW9uLCBpbnN0ZWFkIHRoZXJlIGFyZSAke29wZXJhdGlvbnMubGVuZ3RofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3BlcmF0aW9uc1swXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5KGRvYzogRG9jdW1lbnROb2RlKTogT3BlcmF0aW9uRGVmaW5pdGlvbk5vZGUge1xyXG4gIHJldHVybiBnZXRBc3RPcGVyYXRpb24oZG9jLCAncXVlcnknKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE11dGF0aW9uKGRvYzogRG9jdW1lbnROb2RlKTogT3BlcmF0aW9uRGVmaW5pdGlvbk5vZGUge1xyXG4gIHJldHVybiBnZXRBc3RPcGVyYXRpb24oZG9jLCAnbXV0YXRpb24nKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50cyhkb2M6IERvY3VtZW50Tm9kZSk6IEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXSB7XHJcbiAgcmV0dXJuIGRvYy5kZWZpbml0aW9ucy5maWx0ZXIoXHJcbiAgICAoZGVmKSA9PiBkZWYua2luZCA9PT0gJ0ZyYWdtZW50RGVmaW5pdGlvbidcclxuICApIGFzIEZyYWdtZW50RGVmaW5pdGlvbk5vZGVbXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50KGFzdERvY3VtZW50OiBEb2N1bWVudE5vZGUpOiBGcmFnbWVudERlZmluaXRpb25Ob2RlIHtcclxuICBjb25zdCBmcmFnbWVudHMgPSBnZXRGcmFnbWVudHMoYXN0RG9jdW1lbnQpO1xyXG4gIGlmIChmcmFnbWVudHMubGVuZ3RoID4gMSkge1xyXG4gICAgdGhyb3cgbmV3IExyQmFkQXJndW1lbnRFeGNlcHRpb24oXHJcbiAgICAgICdHcmFwaFFMIGRvY3VtZW50IGNhbiBvbmx5IGNvbnRhaW4gb25lIGZyYWdtZW50LidcclxuICAgICk7XHJcbiAgfVxyXG4gIHJldHVybiBmcmFnbWVudHNbMF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBuYW1lKHZhbHVlOiBzdHJpbmcpOiBOYW1lTm9kZSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGtpbmQ6ICdOYW1lJyxcclxuICAgIHZhbHVlLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlhc09yTmFtZShmaWVsZDogRmllbGROb2RlKSB7XHJcbiAgcmV0dXJuIGZpZWxkLmFsaWFzPy52YWx1ZSB8fCBmaWVsZC5uYW1lLnZhbHVlO1xyXG59XHJcblxyXG4vLyBDb2xsb2NhdGVzIHRoZSB0eXBlIHdpdGggdGhlIGRvY3VtZW50LlxyXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby1lbXB0eS1pbnRlcmZhY2UgKi9cclxuZXhwb3J0IGludGVyZmFjZSBUeXBlZERvY3VtZW50Tm9kZTxUPiBleHRlbmRzIERvY3VtZW50Tm9kZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdxbFR5cGVkPFQgPSBhbnk+KFxyXG4gIGxpdGVyYWxzOiBSZWFkb25seUFycmF5PHN0cmluZz4gfCBSZWFkb25seTxzdHJpbmc+LFxyXG4gIC4uLnBsYWNlaG9sZGVyczogYW55W11cclxuKTogVHlwZWREb2N1bWVudE5vZGU8VD4ge1xyXG4gIHJldHVybiBncWwobGl0ZXJhbHMsIC4uLnBsYWNlaG9sZGVycykgYXMgVHlwZWREb2N1bWVudE5vZGU8VD47XHJcbn1cclxuIl19
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export class DeferredPromise {
|
|
2
|
-
constructor() {
|
|
3
|
-
/* tslint:disable: variable-name */
|
|
4
|
-
this._fulfilled = false;
|
|
5
|
-
this.promise = new Promise((resolve, reject) => {
|
|
6
|
-
this._resolve = resolve;
|
|
7
|
-
this._reject = reject;
|
|
8
|
-
}).finally(() => {
|
|
9
|
-
// finally() simply gets called on both then() and catch(). The promise
|
|
10
|
-
// chain continues on.
|
|
11
|
-
this._fulfilled = true;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
get resolve() {
|
|
15
|
-
return this._resolve;
|
|
16
|
-
}
|
|
17
|
-
get reject() {
|
|
18
|
-
return this._reject;
|
|
19
|
-
}
|
|
20
|
-
get fulfilled() {
|
|
21
|
-
return this._fulfilled;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class DeferredPromise {
|
|
2
|
+
constructor() {
|
|
3
|
+
/* tslint:disable: variable-name */
|
|
4
|
+
this._fulfilled = false;
|
|
5
|
+
this.promise = new Promise((resolve, reject) => {
|
|
6
|
+
this._resolve = resolve;
|
|
7
|
+
this._reject = reject;
|
|
8
|
+
}).finally(() => {
|
|
9
|
+
// finally() simply gets called on both then() and catch(). The promise
|
|
10
|
+
// chain continues on.
|
|
11
|
+
this._fulfilled = true;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
get resolve() {
|
|
15
|
+
return this._resolve;
|
|
16
|
+
}
|
|
17
|
+
get reject() {
|
|
18
|
+
return this._reject;
|
|
19
|
+
}
|
|
20
|
+
get fulfilled() {
|
|
21
|
+
return this._fulfilled;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXJyZWQtcHJvbWlzZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2RlZmVycmVkLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGVBQWU7SUFTMUI7UUFIQSxtQ0FBbUM7UUFDM0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUd6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDZCx1RUFBdUU7WUFDdkUsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVzb2x2ZVByb21pc2U8VD4gPSAodmFsdWU/OiBUIHwgUHJvbWlzZUxpa2U8VD4pID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIFJlamVjdFByb21pc2UgPSAocmVhc29uPzogYW55KSA9PiB2b2lkO1xyXG5cclxuZXhwb3J0IGNsYXNzIERlZmVycmVkUHJvbWlzZTxUPiB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHByb21pc2U6IFByb21pc2U8VD47XHJcbiAgLyogdHNsaW50OmRpc2FibGU6IHZhcmlhYmxlLW5hbWUgKi9cclxuICBwcml2YXRlIF9yZXNvbHZlOiBSZXNvbHZlUHJvbWlzZTxUPjtcclxuICAvKiB0c2xpbnQ6ZGlzYWJsZTogdmFyaWFibGUtbmFtZSAqL1xyXG4gIHByaXZhdGUgX3JlamVjdDogUmVqZWN0UHJvbWlzZTtcclxuICAvKiB0c2xpbnQ6ZGlzYWJsZTogdmFyaWFibGUtbmFtZSAqL1xyXG4gIHByaXZhdGUgX2Z1bGZpbGxlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucHJvbWlzZSA9IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fcmVzb2x2ZSA9IHJlc29sdmU7XHJcbiAgICAgIHRoaXMuX3JlamVjdCA9IHJlamVjdDtcclxuICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAvLyBmaW5hbGx5KCkgc2ltcGx5IGdldHMgY2FsbGVkIG9uIGJvdGggdGhlbigpIGFuZCBjYXRjaCgpLiBUaGUgcHJvbWlzZVxyXG4gICAgICAvLyBjaGFpbiBjb250aW51ZXMgb24uXHJcbiAgICAgIHRoaXMuX2Z1bGZpbGxlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCByZXNvbHZlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc29sdmU7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVqZWN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlamVjdDtcclxuICB9XHJcblxyXG4gIGdldCBmdWxmaWxsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsZmlsbGVkO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,157 +1,157 @@
|
|
|
1
|
-
export function handleApolloError(errors) {
|
|
2
|
-
if (!errors || !errors.length)
|
|
3
|
-
return;
|
|
4
|
-
const lrErrors = errors.map((x) => ({
|
|
5
|
-
code: x.extensions && x.extensions.code,
|
|
6
|
-
source: x.extensions && x.extensions.source,
|
|
7
|
-
message: x.message,
|
|
8
|
-
debug: {
|
|
9
|
-
locations: x.locations,
|
|
10
|
-
path: x.path,
|
|
11
|
-
},
|
|
12
|
-
}));
|
|
13
|
-
throw new LrException(...lrErrors);
|
|
14
|
-
}
|
|
15
|
-
export class LrError {
|
|
16
|
-
}
|
|
17
|
-
export class LrException {
|
|
18
|
-
constructor(...errors) {
|
|
19
|
-
this.errors = errors;
|
|
20
|
-
}
|
|
21
|
-
toString() {
|
|
22
|
-
return this.errors.map((t) => JSON.stringify(t, null, 2));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export var LrApiErrorCode;
|
|
26
|
-
(function (LrApiErrorCode) {
|
|
27
|
-
LrApiErrorCode["ARCHIVED_RESOURCE"] = "ARCHIVED_RESOURCE";
|
|
28
|
-
LrApiErrorCode["BAD_ARGUMENT"] = "BAD_ARGUMENT";
|
|
29
|
-
LrApiErrorCode["BAD_SIGNATURE"] = "BAD_SIGNATURE";
|
|
30
|
-
LrApiErrorCode["BAD_STATE"] = "BAD_STATE";
|
|
31
|
-
LrApiErrorCode["CHANGED_PERMISSIONS"] = "CHANGED_PERMISSIONS";
|
|
32
|
-
LrApiErrorCode["CONCURRENT_ACCESS"] = "CONCURRENT_ACCESS";
|
|
33
|
-
LrApiErrorCode["CONFIG_ERROR"] = "CONFIG_ERROR";
|
|
34
|
-
LrApiErrorCode["CYCLE_DETECTED"] = "CYCLE_DETECTED";
|
|
35
|
-
LrApiErrorCode["EXPIRED"] = "EXPIRED";
|
|
36
|
-
LrApiErrorCode["INVALID_TOKEN"] = "INVALID_TOKEN";
|
|
37
|
-
LrApiErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
38
|
-
LrApiErrorCode["JSON_DECODE_ERROR"] = "JSON_DECODE_ERROR";
|
|
39
|
-
LrApiErrorCode["KEY_MISMATCH"] = "KEY_MISMATCH";
|
|
40
|
-
LrApiErrorCode["LIMIT_REACHED"] = "LIMIT_REACHED";
|
|
41
|
-
LrApiErrorCode["LOCKED"] = "LOCKED";
|
|
42
|
-
LrApiErrorCode["LOGIC_ERROR"] = "LOGIC_ERROR";
|
|
43
|
-
LrApiErrorCode["LR_DEBUG_ONLY"] = "LR_DEBUG_ONLY";
|
|
44
|
-
LrApiErrorCode["MIN_DELAY"] = "MIN_DELAY";
|
|
45
|
-
LrApiErrorCode["MISSING_FIELD"] = "MISSING_FIELD";
|
|
46
|
-
LrApiErrorCode["MISSING_FIELD_VALUE"] = "MISSING_FIELD_VALUE";
|
|
47
|
-
LrApiErrorCode["MISSING_QUERY_PARAM"] = "MISSING_QUERY_PARAM";
|
|
48
|
-
LrApiErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
|
|
49
|
-
LrApiErrorCode["OBJECT_DOES_NOT_EXIST"] = "OBJECT_DOES_NOT_EXIST";
|
|
50
|
-
LrApiErrorCode["OBJECT_EXISTS"] = "OBJECT_EXISTS";
|
|
51
|
-
LrApiErrorCode["RANGE_ERROR"] = "RANGE_ERROR";
|
|
52
|
-
LrApiErrorCode["TRUSTED_PARTY_NOT_FOUND"] = "TRUSTED_PARTY_NOT_FOUND";
|
|
53
|
-
LrApiErrorCode["UNAUTHENTICATED_USER"] = "UNAUTHENTICATED_USER";
|
|
54
|
-
LrApiErrorCode["USER_NOT_FOUND"] = "USER_NOT_FOUND";
|
|
55
|
-
LrApiErrorCode["VERSION_MISMATCH"] = "VERSION_MISMATCH";
|
|
56
|
-
LrApiErrorCode["WRONG_PERMISSIONS"] = "WRONG_PERMISSIONS";
|
|
57
|
-
})(LrApiErrorCode || (LrApiErrorCode = {}));
|
|
58
|
-
export var LrErrorCode;
|
|
59
|
-
(function (LrErrorCode) {
|
|
60
|
-
LrErrorCode["BadTimeSync"] = "LrBadTimeSync";
|
|
61
|
-
LrErrorCode["ReceiveClaimMismatch"] = "LrReceiveClaimMismatch";
|
|
62
|
-
LrErrorCode["BadState"] = "LrBadState";
|
|
63
|
-
LrErrorCode["BadSignature"] = "LrBadSignature";
|
|
64
|
-
LrErrorCode["Auth"] = "LrAuth";
|
|
65
|
-
LrErrorCode["BadArgument"] = "LrBadArgument";
|
|
66
|
-
LrErrorCode["SuspiciousException"] = "LrSuspiciousException";
|
|
67
|
-
LrErrorCode["NotFound"] = "LrNotFound";
|
|
68
|
-
LrErrorCode["BadLogic"] = "LrBadLogicException";
|
|
69
|
-
LrErrorCode["CodeMismatch"] = "LrCodeMismatchException";
|
|
70
|
-
LrErrorCode["ConcurrentAccess"] = "LrConcurrentAccessException";
|
|
71
|
-
LrErrorCode["BadRequest"] = "LrBadRequestException";
|
|
72
|
-
LrErrorCode["Encryption"] = "LrEncryptionGoBad";
|
|
73
|
-
LrErrorCode["Locked"] = "LrLockedException";
|
|
74
|
-
})(LrErrorCode || (LrErrorCode = {}));
|
|
75
|
-
export class LrBadArgumentException extends LrException {
|
|
76
|
-
constructor(message) {
|
|
77
|
-
super({ code: LrErrorCode.BadArgument, message });
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
export class LrSuspiciousException extends LrException {
|
|
81
|
-
constructor(message) {
|
|
82
|
-
super({ code: LrErrorCode.BadArgument, message });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
export class LrNotFoundException extends LrException {
|
|
86
|
-
constructor(message) {
|
|
87
|
-
super({ code: LrErrorCode.NotFound, message });
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
export class LrBadLogicException extends LrException {
|
|
91
|
-
constructor(message) {
|
|
92
|
-
super({ code: LrErrorCode.BadLogic, message });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export class LrCodeMismatchException extends LrException {
|
|
96
|
-
constructor(message) {
|
|
97
|
-
super({ code: LrErrorCode.CodeMismatch, message });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
export class LrConcurrentAccessException extends LrException {
|
|
101
|
-
constructor(message) {
|
|
102
|
-
super({ code: LrErrorCode.ConcurrentAccess, message });
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
export class LrLockedException extends LrException {
|
|
106
|
-
constructor(message) {
|
|
107
|
-
super({ code: LrErrorCode.Locked, message });
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
export class LrBadRequestException extends LrException {
|
|
111
|
-
constructor(message) {
|
|
112
|
-
super({ code: LrErrorCode.BadRequest, message });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
export class LrAuthException extends LrException {
|
|
116
|
-
constructor(message) {
|
|
117
|
-
super({ code: LrErrorCode.Auth, message });
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
export class LrEncryptionException extends LrException {
|
|
121
|
-
constructor(message) {
|
|
122
|
-
super({ code: LrErrorCode.Encryption, message });
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
export class LrUnsupportedException extends LrException {
|
|
126
|
-
constructor(message) {
|
|
127
|
-
super({
|
|
128
|
-
code: 'LrUnsupportedException',
|
|
129
|
-
message,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
export class LrExpiredCodeException extends LrException {
|
|
134
|
-
constructor(message) {
|
|
135
|
-
super({
|
|
136
|
-
code: 'LrExpiredCodeException',
|
|
137
|
-
message,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
export class LrExpiredException extends LrException {
|
|
142
|
-
constructor(message) {
|
|
143
|
-
super({
|
|
144
|
-
code: 'LrExpiredException',
|
|
145
|
-
message,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
export class LrBadStateException extends LrException {
|
|
150
|
-
constructor(message) {
|
|
151
|
-
super({
|
|
152
|
-
code: 'LrBadStateException',
|
|
153
|
-
message,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9leGNlcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFtQztJQUNuRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07UUFBRSxPQUFPO0lBRXRDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1FBQ3ZDLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtRQUMzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87UUFDbEIsS0FBSyxFQUFFO1lBQ0wsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFnQjtZQUM3QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQWdCO1NBQ3pCO0tBQ0YsQ0FBQyxDQUFDLENBQUM7SUFFSixNQUFNLElBQUksV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sT0FBTyxPQUFPO0NBV25CO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBWSxHQUFHLE1BQWlCO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQs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T0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBQ2xELFlBQVksT0FBTztRQUNqQixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUscUJBQXFCO1lBQzNCLE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmFwaFFMRXJyb3IgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IGRlYnVnbG9nIH0gZnJvbSAndXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVBcG9sbG9FcnJvcihlcnJvcnM6IFJlYWRvbmx5QXJyYXk8R3JhcGhRTEVycm9yPikge1xuICBpZiAoIWVycm9ycyB8fCAhZXJyb3JzLmxlbmd0aCkgcmV0dXJuO1xuXG4gIGNvbnN0IGxyRXJyb3JzID0gZXJyb3JzLm1hcCgoeCkgPT4gKHtcbiAgICBjb2RlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLmNvZGUsXG4gICAgc291cmNlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLnNvdXJjZSxcbiAgICBtZXNzYWdlOiB4Lm1lc3NhZ2UsXG4gICAgZGVidWc6IHtcbiAgICAgIGxvY2F0aW9uczogeC5sb2NhdGlvbnMgYXMgYW55LFxuICAgICAgcGF0aDogeC5wYXRoIGFzIHN0cmluZ1tdLFxuICAgIH0sXG4gIH0pKTtcblxuICB0aHJvdyBuZXcgTHJFeGNlcHRpb24oLi4ubHJFcnJvcnMpO1xufVxuXG5leHBvcnQgY2xhc3MgTHJFcnJvciB7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZWJ1Zz86IHtcbiAgICBsb2NhdGlvbnM6IHtcbiAgICAgIGxpbmU6IG51bWJlcjtcbiAgICAgIGNvbHVtbjogbnVtYmVyO1xuICAgIH1bXTtcbiAgICBwYXRoOiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIExyRXhjZXB0aW9uIHtcbiAgcHVibGljIGVycm9yczogTHJFcnJvcltdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmVycm9yczogTHJFcnJvcltdKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLm1hcCgodCkgPT4gSlNPTi5zdHJpbmdpZnkodCwgbnVsbCwgMikpO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIExyQXBpRXJyb3JDb2RlIHtcbiAgQVJDSElWRURfUkVTT1VSQ0UgPSAnQVJDSElWRURfUkVTT1VSQ0UnLFxuICBCQURfQVJHVU1FTlQgPSAnQkFEX0FSR1VNRU5UJyxcbiAgQkFEX1NJR05BVFVSRSA9ICdCQURfU0lHTkFUVVJFJyxcbiAgQkFEX1NUQVRFID0gJ0JBRF9TVEFURScsXG4gIENIQU5HRURfUEVSTUlTU0lPTlMgPSAnQ0hBTkdFRF9QRVJNSVNTSU9OUycsXG4gIENPTkNVUlJFTlRfQUNDRVNTID0gJ0NPTkNVUlJFTlRfQUNDRVNTJyxcbiAgQ09ORklHX0VSUk9SID0gJ0NPTkZJR19FUlJPUicsXG4gIENZQ0xFX0RFVEVDVEVEID0gJ0NZQ0xFX0RFVEVDVEVEJyxcbiAgRVhQSVJFRCA9ICdFWFBJUkVEJyxcbiAgSU5WQUxJRF9UT0tFTiA9ICdJTlZBTElEX1RPS0VOJyxcbiAgSU5URVJOQUxfRVJST1IgPSAnSU5URVJOQUxfRVJST1InLFxuICBKU09OX0RFQ09ERV9FUlJPUiA9ICdKU09OX0RFQ09ERV9FUlJPUicsXG4gIEtFWV9NSVNNQVRDSCA9ICdLRVlfTUlTTUFUQ0gnLFxuICBMSU1JVF9SRUFDSEVEID0gJ0xJTUlUX1JFQUNIRUQnLFxuICBMT0NLRUQgPSAnTE9DS0VEJyxcbiAgTE9HSUNfRVJST1IgPSAnTE9HSUNfRVJST1InLFxuICBMUl9ERUJVR19PTkxZID0gJ0xSX0RFQlVHX09OTFknLFxuICBNSU5fREVMQVkgPSAnTUlOX0RFTEFZJyxcbiAgTUlTU0lOR19GSUVMRCA9ICdNSVNTSU5HX0ZJRUxEJyxcbiAgTUlTU0lOR19GSUVMRF9WQUxVRSA9ICdNSVNTSU5HX0ZJRUxEX1ZBTFVFJyxcbiAgTUlTU0lOR19RVUVSWV9QQVJBTSA9ICdNSVNTSU5HX1FVRVJZX1BBUkFNJyxcbiAgTk9UX0lNUExFTUVOVEVEID0gJ05PVF9JTVBMRU1FTlRFRCcsXG4gIE9CSkVDVF9ET0VTX05PVF9FWElTVCA9ICdPQkpFQ1RfRE9FU19OT1RfRVhJU1QnLFxuICBPQkpFQ1RfRVhJU1RTID0gJ09CSkVDVF9FWElTVFMnLFxuICBSQU5HRV9FUlJPUiA9ICdSQU5HRV9FUlJPUicsXG4gIFRSVVNURURfUEFSVFlfTk9UX0ZPVU5EID0gJ1RSVVNURURfUEFSVFlfTk9UX0ZPVU5EJyxcbiAgVU5BVVRIRU5USUNBVEVEX1VTRVIgPSAnVU5BVVRIRU5USUNBVEVEX1VTRVInLFxuICBVU0VSX05PVF9GT1VORCA9ICdVU0VSX05PVF9GT1VORCcsXG4gIFZFUlNJT05fTUlTTUFUQ0ggPSAnVkVSU0lPTl9NSVNNQVRDSCcsXG4gIFdST05HX1BFUk1JU1NJT05TID0gJ1dST05HX1BFUk1JU1NJT05TJyxcbn1cblxuZXhwb3J0IGVudW0gTHJFcnJvckNvZGUge1xuICBCYWRUaW1lU3luYyA9ICdMckJhZFRpbWVTeW5jJyxcbiAgUmVjZWl2ZUNsYWltTWlzbWF0Y2ggPSAnTHJSZWNlaXZlQ2xhaW1NaXNtYXRjaCcsXG4gIEJhZFN0YXRlID0gJ0xyQmFkU3RhdGUnLFxuICBCYWRTaWduYXR1cmUgPSAnTHJCYWRTaWduYXR1cmUnLFxuICBBdXRoID0gJ0xyQXV0aCcsXG4gIEJhZEFyZ3VtZW50ID0gJ0xyQmFkQXJndW1lbnQnLFxuICBTdXNwaWNpb3VzRXhjZXB0aW9uID0gJ0xyU3VzcGljaW91c0V4Y2VwdGlvbicsXG4gIE5vdEZvdW5kID0gJ0xyTm90Rm91bmQnLFxuICBCYWRMb2dpYyA9ICdMckJhZExvZ2ljRXhjZXB0aW9uJyxcbiAgQ29kZU1pc21hdGNoID0gJ0xyQ29kZU1pc21hdGNoRXhjZXB0aW9uJyxcbiAgQ29uY3VycmVudEFjY2VzcyA9ICdMckNvbmN1cnJlbnRBY2Nlc3NFeGNlcHRpb24nLFxuICBCYWRSZXF1ZXN0ID0gJ0xyQmFkUmVxdWVzdEV4Y2VwdGlvbicsXG4gIEVuY3J5cHRpb24gPSAnTHJFbmNyeXB0aW9uR29CYWQnLFxuICBMb2NrZWQgPSAnTHJMb2NrZWRFeGNlcHRpb24nLFxufVxuXG5leHBvcnQgY2xhc3MgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQmFkQXJndW1lbnQsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyU3VzcGljaW91c0V4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQmFkQXJndW1lbnQsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyTm90Rm91bmRFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLk5vdEZvdW5kLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckJhZExvZ2ljRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5CYWRMb2dpYywgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJDb2RlTWlzbWF0Y2hFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkNvZGVNaXNtYXRjaCwgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5Db25jdXJyZW50QWNjZXNzLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckxvY2tlZEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuTG9ja2VkLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMckJhZFJlcXVlc3RFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkJhZFJlcXVlc3QsIG1lc3NhZ2UgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyQXV0aEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQXV0aCwgbWVzc2FnZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJFbmNyeXB0aW9uRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5FbmNyeXB0aW9uLCBtZXNzYWdlIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMclVuc3VwcG9ydGVkRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XG4gICAgc3VwZXIoe1xuICAgICAgY29kZTogJ0xyVW5zdXBwb3J0ZWRFeGNlcHRpb24nLFxuICAgICAgbWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJFeHBpcmVkQ29kZUV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckV4cGlyZWRDb2RlRXhjZXB0aW9uJyxcbiAgICAgIG1lc3NhZ2UsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExyRXhwaXJlZEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckV4cGlyZWRFeGNlcHRpb24nLFxuICAgICAgbWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTHJCYWRTdGF0ZUV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvZGU6ICdMckJhZFN0YXRlRXhjZXB0aW9uJyxcbiAgICAgIG1lc3NhZ2UsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
export function handleApolloError(errors) {
|
|
2
|
+
if (!errors || !errors.length)
|
|
3
|
+
return;
|
|
4
|
+
const lrErrors = errors.map((x) => ({
|
|
5
|
+
code: x.extensions && x.extensions.code,
|
|
6
|
+
source: x.extensions && x.extensions.source,
|
|
7
|
+
message: x.message,
|
|
8
|
+
debug: {
|
|
9
|
+
locations: x.locations,
|
|
10
|
+
path: x.path,
|
|
11
|
+
},
|
|
12
|
+
}));
|
|
13
|
+
throw new LrException(...lrErrors);
|
|
14
|
+
}
|
|
15
|
+
export class LrError {
|
|
16
|
+
}
|
|
17
|
+
export class LrException {
|
|
18
|
+
constructor(...errors) {
|
|
19
|
+
this.errors = errors;
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return this.errors.map((t) => JSON.stringify(t, null, 2));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export var LrApiErrorCode;
|
|
26
|
+
(function (LrApiErrorCode) {
|
|
27
|
+
LrApiErrorCode["ARCHIVED_RESOURCE"] = "ARCHIVED_RESOURCE";
|
|
28
|
+
LrApiErrorCode["BAD_ARGUMENT"] = "BAD_ARGUMENT";
|
|
29
|
+
LrApiErrorCode["BAD_SIGNATURE"] = "BAD_SIGNATURE";
|
|
30
|
+
LrApiErrorCode["BAD_STATE"] = "BAD_STATE";
|
|
31
|
+
LrApiErrorCode["CHANGED_PERMISSIONS"] = "CHANGED_PERMISSIONS";
|
|
32
|
+
LrApiErrorCode["CONCURRENT_ACCESS"] = "CONCURRENT_ACCESS";
|
|
33
|
+
LrApiErrorCode["CONFIG_ERROR"] = "CONFIG_ERROR";
|
|
34
|
+
LrApiErrorCode["CYCLE_DETECTED"] = "CYCLE_DETECTED";
|
|
35
|
+
LrApiErrorCode["EXPIRED"] = "EXPIRED";
|
|
36
|
+
LrApiErrorCode["INVALID_TOKEN"] = "INVALID_TOKEN";
|
|
37
|
+
LrApiErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
38
|
+
LrApiErrorCode["JSON_DECODE_ERROR"] = "JSON_DECODE_ERROR";
|
|
39
|
+
LrApiErrorCode["KEY_MISMATCH"] = "KEY_MISMATCH";
|
|
40
|
+
LrApiErrorCode["LIMIT_REACHED"] = "LIMIT_REACHED";
|
|
41
|
+
LrApiErrorCode["LOCKED"] = "LOCKED";
|
|
42
|
+
LrApiErrorCode["LOGIC_ERROR"] = "LOGIC_ERROR";
|
|
43
|
+
LrApiErrorCode["LR_DEBUG_ONLY"] = "LR_DEBUG_ONLY";
|
|
44
|
+
LrApiErrorCode["MIN_DELAY"] = "MIN_DELAY";
|
|
45
|
+
LrApiErrorCode["MISSING_FIELD"] = "MISSING_FIELD";
|
|
46
|
+
LrApiErrorCode["MISSING_FIELD_VALUE"] = "MISSING_FIELD_VALUE";
|
|
47
|
+
LrApiErrorCode["MISSING_QUERY_PARAM"] = "MISSING_QUERY_PARAM";
|
|
48
|
+
LrApiErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
|
|
49
|
+
LrApiErrorCode["OBJECT_DOES_NOT_EXIST"] = "OBJECT_DOES_NOT_EXIST";
|
|
50
|
+
LrApiErrorCode["OBJECT_EXISTS"] = "OBJECT_EXISTS";
|
|
51
|
+
LrApiErrorCode["RANGE_ERROR"] = "RANGE_ERROR";
|
|
52
|
+
LrApiErrorCode["TRUSTED_PARTY_NOT_FOUND"] = "TRUSTED_PARTY_NOT_FOUND";
|
|
53
|
+
LrApiErrorCode["UNAUTHENTICATED_USER"] = "UNAUTHENTICATED_USER";
|
|
54
|
+
LrApiErrorCode["USER_NOT_FOUND"] = "USER_NOT_FOUND";
|
|
55
|
+
LrApiErrorCode["VERSION_MISMATCH"] = "VERSION_MISMATCH";
|
|
56
|
+
LrApiErrorCode["WRONG_PERMISSIONS"] = "WRONG_PERMISSIONS";
|
|
57
|
+
})(LrApiErrorCode || (LrApiErrorCode = {}));
|
|
58
|
+
export var LrErrorCode;
|
|
59
|
+
(function (LrErrorCode) {
|
|
60
|
+
LrErrorCode["BadTimeSync"] = "LrBadTimeSync";
|
|
61
|
+
LrErrorCode["ReceiveClaimMismatch"] = "LrReceiveClaimMismatch";
|
|
62
|
+
LrErrorCode["BadState"] = "LrBadState";
|
|
63
|
+
LrErrorCode["BadSignature"] = "LrBadSignature";
|
|
64
|
+
LrErrorCode["Auth"] = "LrAuth";
|
|
65
|
+
LrErrorCode["BadArgument"] = "LrBadArgument";
|
|
66
|
+
LrErrorCode["SuspiciousException"] = "LrSuspiciousException";
|
|
67
|
+
LrErrorCode["NotFound"] = "LrNotFound";
|
|
68
|
+
LrErrorCode["BadLogic"] = "LrBadLogicException";
|
|
69
|
+
LrErrorCode["CodeMismatch"] = "LrCodeMismatchException";
|
|
70
|
+
LrErrorCode["ConcurrentAccess"] = "LrConcurrentAccessException";
|
|
71
|
+
LrErrorCode["BadRequest"] = "LrBadRequestException";
|
|
72
|
+
LrErrorCode["Encryption"] = "LrEncryptionGoBad";
|
|
73
|
+
LrErrorCode["Locked"] = "LrLockedException";
|
|
74
|
+
})(LrErrorCode || (LrErrorCode = {}));
|
|
75
|
+
export class LrBadArgumentException extends LrException {
|
|
76
|
+
constructor(message) {
|
|
77
|
+
super({ code: LrErrorCode.BadArgument, message });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class LrSuspiciousException extends LrException {
|
|
81
|
+
constructor(message) {
|
|
82
|
+
super({ code: LrErrorCode.BadArgument, message });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class LrNotFoundException extends LrException {
|
|
86
|
+
constructor(message) {
|
|
87
|
+
super({ code: LrErrorCode.NotFound, message });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export class LrBadLogicException extends LrException {
|
|
91
|
+
constructor(message) {
|
|
92
|
+
super({ code: LrErrorCode.BadLogic, message });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class LrCodeMismatchException extends LrException {
|
|
96
|
+
constructor(message) {
|
|
97
|
+
super({ code: LrErrorCode.CodeMismatch, message });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export class LrConcurrentAccessException extends LrException {
|
|
101
|
+
constructor(message) {
|
|
102
|
+
super({ code: LrErrorCode.ConcurrentAccess, message });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export class LrLockedException extends LrException {
|
|
106
|
+
constructor(message) {
|
|
107
|
+
super({ code: LrErrorCode.Locked, message });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export class LrBadRequestException extends LrException {
|
|
111
|
+
constructor(message) {
|
|
112
|
+
super({ code: LrErrorCode.BadRequest, message });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export class LrAuthException extends LrException {
|
|
116
|
+
constructor(message) {
|
|
117
|
+
super({ code: LrErrorCode.Auth, message });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export class LrEncryptionException extends LrException {
|
|
121
|
+
constructor(message) {
|
|
122
|
+
super({ code: LrErrorCode.Encryption, message });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export class LrUnsupportedException extends LrException {
|
|
126
|
+
constructor(message) {
|
|
127
|
+
super({
|
|
128
|
+
code: 'LrUnsupportedException',
|
|
129
|
+
message,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export class LrExpiredCodeException extends LrException {
|
|
134
|
+
constructor(message) {
|
|
135
|
+
super({
|
|
136
|
+
code: 'LrExpiredCodeException',
|
|
137
|
+
message,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export class LrExpiredException extends LrException {
|
|
142
|
+
constructor(message) {
|
|
143
|
+
super({
|
|
144
|
+
code: 'LrExpiredException',
|
|
145
|
+
message,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export class LrBadStateException extends LrException {
|
|
150
|
+
constructor(message) {
|
|
151
|
+
super({
|
|
152
|
+
code: 'LrBadStateException',
|
|
153
|
+
message,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2V4Y2VwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQW1DO0lBQ25FLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUFFLE9BQU87SUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDdkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1FBQzNDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztRQUNsQixLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQWdCO1lBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBZ0I7U0FDekI7S0FDRixDQUFDLENBQUMsQ0FBQztJQUVKLE1BQU0sSUFBSSxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87Q0FXbkI7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFZLEdBQUcsTUFBaUI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NB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QUFvQixTQUFRLFdBQVc7SUFDbEQsWUFBWSxPQUFPO1FBQ2pCLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxFcnJvciB9IGZyb20gJ2dyYXBocWwnO1xyXG5pbXBvcnQgeyBkZWJ1Z2xvZyB9IGZyb20gJ3V0aWwnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUFwb2xsb0Vycm9yKGVycm9yczogUmVhZG9ubHlBcnJheTxHcmFwaFFMRXJyb3I+KSB7XHJcbiAgaWYgKCFlcnJvcnMgfHwgIWVycm9ycy5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgY29uc3QgbHJFcnJvcnMgPSBlcnJvcnMubWFwKCh4KSA9PiAoe1xyXG4gICAgY29kZTogeC5leHRlbnNpb25zICYmIHguZXh0ZW5zaW9ucy5jb2RlLFxyXG4gICAgc291cmNlOiB4LmV4dGVuc2lvbnMgJiYgeC5leHRlbnNpb25zLnNvdXJjZSxcclxuICAgIG1lc3NhZ2U6IHgubWVzc2FnZSxcclxuICAgIGRlYnVnOiB7XHJcbiAgICAgIGxvY2F0aW9uczogeC5sb2NhdGlvbnMgYXMgYW55LFxyXG4gICAgICBwYXRoOiB4LnBhdGggYXMgc3RyaW5nW10sXHJcbiAgICB9LFxyXG4gIH0pKTtcclxuXHJcbiAgdGhyb3cgbmV3IExyRXhjZXB0aW9uKC4uLmxyRXJyb3JzKTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyRXJyb3Ige1xyXG4gIGNvZGU/OiBzdHJpbmc7XHJcbiAgc291cmNlPzogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBkZWJ1Zz86IHtcclxuICAgIGxvY2F0aW9uczoge1xyXG4gICAgICBsaW5lOiBudW1iZXI7XHJcbiAgICAgIGNvbHVtbjogbnVtYmVyO1xyXG4gICAgfVtdO1xyXG4gICAgcGF0aDogc3RyaW5nW107XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyRXhjZXB0aW9uIHtcclxuICBwdWJsaWMgZXJyb3JzOiBMckVycm9yW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKC4uLmVycm9yczogTHJFcnJvcltdKSB7XHJcbiAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b1N0cmluZygpIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9ycy5tYXAoKHQpID0+IEpTT04uc3RyaW5naWZ5KHQsIG51bGwsIDIpKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIExyQXBpRXJyb3JDb2RlIHtcclxuICBBUkNISVZFRF9SRVNPVVJDRSA9ICdBUkNISVZFRF9SRVNPVVJDRScsXHJcbiAgQkFEX0FSR1VNRU5UID0gJ0JBRF9BUkdVTUVOVCcsXHJcbiAgQkFEX1NJR05BVFVSRSA9ICdCQURfU0lHTkFUVVJFJyxcclxuICBCQURfU1RBVEUgPSAnQkFEX1NUQVRFJyxcclxuICBDSEFOR0VEX1BFUk1JU1NJT05TID0gJ0NIQU5HRURfUEVSTUlTU0lPTlMnLFxyXG4gIENPTkNVUlJFTlRfQUNDRVNTID0gJ0NPTkNVUlJFTlRfQUNDRVNTJyxcclxuICBDT05GSUdfRVJST1IgPSAnQ09ORklHX0VSUk9SJyxcclxuICBDWUNMRV9ERVRFQ1RFRCA9ICdDWUNMRV9ERVRFQ1RFRCcsXHJcbiAgRVhQSVJFRCA9ICdFWFBJUkVEJyxcclxuICBJTlZBTElEX1RPS0VOID0gJ0lOVkFMSURfVE9LRU4nLFxyXG4gIElOVEVSTkFMX0VSUk9SID0gJ0lOVEVSTkFMX0VSUk9SJyxcclxuICBKU09OX0RFQ09ERV9FUlJPUiA9ICdKU09OX0RFQ09ERV9FUlJPUicsXHJcbiAgS0VZX01JU01BVENIID0gJ0tFWV9NSVNNQVRDSCcsXHJcbiAgTElNSVRfUkVBQ0hFRCA9ICdMSU1JVF9SRUFDSEVEJyxcclxuICBMT0NLRUQgPSAnTE9DS0VEJyxcclxuICBMT0dJQ19FUlJPUiA9ICdMT0dJQ19FUlJPUicsXHJcbiAgTFJfREVCVUdfT05MWSA9ICdMUl9ERUJVR19PTkxZJyxcclxuICBNSU5fREVMQVkgPSAnTUlOX0RFTEFZJyxcclxuICBNSVNTSU5HX0ZJRUxEID0gJ01JU1NJTkdfRklFTEQnLFxyXG4gIE1JU1NJTkdfRklFTERfVkFMVUUgPSAnTUlTU0lOR19GSUVMRF9WQUxVRScsXHJcbiAgTUlTU0lOR19RVUVSWV9QQVJBTSA9ICdNSVNTSU5HX1FVRVJZX1BBUkFNJyxcclxuICBOT1RfSU1QTEVNRU5URUQgPSAnTk9UX0lNUExFTUVOVEVEJyxcclxuICBPQkpFQ1RfRE9FU19OT1RfRVhJU1QgPSAnT0JKRUNUX0RPRVNfTk9UX0VYSVNUJyxcclxuICBPQkpFQ1RfRVhJU1RTID0gJ09CSkVDVF9FWElTVFMnLFxyXG4gIFJBTkdFX0VSUk9SID0gJ1JBTkdFX0VSUk9SJyxcclxuICBUUlVTVEVEX1BBUlRZX05PVF9GT1VORCA9ICdUUlVTVEVEX1BBUlRZX05PVF9GT1VORCcsXHJcbiAgVU5BVVRIRU5USUNBVEVEX1VTRVIgPSAnVU5BVVRIRU5USUNBVEVEX1VTRVInLFxyXG4gIFVTRVJfTk9UX0ZPVU5EID0gJ1VTRVJfTk9UX0ZPVU5EJyxcclxuICBWRVJTSU9OX01JU01BVENIID0gJ1ZFUlNJT05fTUlTTUFUQ0gnLFxyXG4gIFdST05HX1BFUk1JU1NJT05TID0gJ1dST05HX1BFUk1JU1NJT05TJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTHJFcnJvckNvZGUge1xyXG4gIEJhZFRpbWVTeW5jID0gJ0xyQmFkVGltZVN5bmMnLFxyXG4gIFJlY2VpdmVDbGFpbU1pc21hdGNoID0gJ0xyUmVjZWl2ZUNsYWltTWlzbWF0Y2gnLFxyXG4gIEJhZFN0YXRlID0gJ0xyQmFkU3RhdGUnLFxyXG4gIEJhZFNpZ25hdHVyZSA9ICdMckJhZFNpZ25hdHVyZScsXHJcbiAgQXV0aCA9ICdMckF1dGgnLFxyXG4gIEJhZEFyZ3VtZW50ID0gJ0xyQmFkQXJndW1lbnQnLFxyXG4gIFN1c3BpY2lvdXNFeGNlcHRpb24gPSAnTHJTdXNwaWNpb3VzRXhjZXB0aW9uJyxcclxuICBOb3RGb3VuZCA9ICdMck5vdEZvdW5kJyxcclxuICBCYWRMb2dpYyA9ICdMckJhZExvZ2ljRXhjZXB0aW9uJyxcclxuICBDb2RlTWlzbWF0Y2ggPSAnTHJDb2RlTWlzbWF0Y2hFeGNlcHRpb24nLFxyXG4gIENvbmN1cnJlbnRBY2Nlc3MgPSAnTHJDb25jdXJyZW50QWNjZXNzRXhjZXB0aW9uJyxcclxuICBCYWRSZXF1ZXN0ID0gJ0xyQmFkUmVxdWVzdEV4Y2VwdGlvbicsXHJcbiAgRW5jcnlwdGlvbiA9ICdMckVuY3J5cHRpb25Hb0JhZCcsXHJcbiAgTG9ja2VkID0gJ0xyTG9ja2VkRXhjZXB0aW9uJyxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyQmFkQXJndW1lbnRFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5CYWRBcmd1bWVudCwgbWVzc2FnZSB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMclN1c3BpY2lvdXNFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5CYWRBcmd1bWVudCwgbWVzc2FnZSB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMck5vdEZvdW5kRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcclxuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuTm90Rm91bmQsIG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTHJCYWRMb2dpY0V4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XHJcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkJhZExvZ2ljLCBtZXNzYWdlIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyQ29kZU1pc21hdGNoRXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcclxuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQ29kZU1pc21hdGNoLCBtZXNzYWdlIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyQ29uY3VycmVudEFjY2Vzc0V4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XHJcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkNvbmN1cnJlbnRBY2Nlc3MsIG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTHJMb2NrZWRFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5Mb2NrZWQsIG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTHJCYWRSZXF1ZXN0RXhjZXB0aW9uIGV4dGVuZHMgTHJFeGNlcHRpb24ge1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcclxuICAgIHN1cGVyKHsgY29kZTogTHJFcnJvckNvZGUuQmFkUmVxdWVzdCwgbWVzc2FnZSB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMckF1dGhFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoeyBjb2RlOiBMckVycm9yQ29kZS5BdXRoLCBtZXNzYWdlIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyRW5jcnlwdGlvbkV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XHJcbiAgICBzdXBlcih7IGNvZGU6IExyRXJyb3JDb2RlLkVuY3J5cHRpb24sIG1lc3NhZ2UgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTHJVbnN1cHBvcnRlZEV4Y2VwdGlvbiBleHRlbmRzIExyRXhjZXB0aW9uIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlKSB7XHJcbiAgICBzdXBlcih7XHJcbiAgICAgIGNvZGU6ICdMclVuc3VwcG9ydGVkRXhjZXB0aW9uJyxcclxuICAgICAgbWVzc2FnZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyRXhwaXJlZENvZGVFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoe1xyXG4gICAgICBjb2RlOiAnTHJFeHBpcmVkQ29kZUV4Y2VwdGlvbicsXHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMckV4cGlyZWRFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoe1xyXG4gICAgICBjb2RlOiAnTHJFeHBpcmVkRXhjZXB0aW9uJyxcclxuICAgICAgbWVzc2FnZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExyQmFkU3RhdGVFeGNlcHRpb24gZXh0ZW5kcyBMckV4Y2VwdGlvbiB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xyXG4gICAgc3VwZXIoe1xyXG4gICAgICBjb2RlOiAnTHJCYWRTdGF0ZUV4Y2VwdGlvbicsXHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|