@takeshape/schema 8.31.0 → 8.35.2
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/es/index.js +3 -3
- package/es/migration/index.js +82 -0
- package/es/migration/to/v3.0.0.js +245 -0
- package/es/migration/to/v3.1.0.js +218 -0
- package/es/migration/to/v3.10.0.js +56 -0
- package/es/migration/to/v3.11.0.js +99 -0
- package/es/migration/to/v3.2.0.js +10 -0
- package/es/migration/to/v3.3.0.js +16 -0
- package/es/migration/to/v3.4.0.js +10 -0
- package/es/migration/to/v3.5.0.js +10 -0
- package/es/migration/to/v3.5.1.js +10 -0
- package/es/migration/to/v3.6.0.js +10 -0
- package/es/migration/to/v3.7.0.js +10 -0
- package/es/migration/to/v3.8.0.js +10 -0
- package/es/migration/to/v3.9.0.js +83 -0
- package/es/migration/types.js +1 -0
- package/es/migration/utils.js +23 -0
- package/es/mocks.js +1 -0
- package/es/project-schema/index.js +1 -0
- package/es/project-schema/v3.11.0.js +1 -0
- package/es/schema-util.js +15 -10
- package/es/schemas/index.js +4 -3
- package/es/schemas/index.ts +4 -2
- package/es/schemas/project-schema/v3.11.0.json +2135 -0
- package/es/services.js +57 -255
- package/es/types/types.js +9 -0
- package/es/types/utils.js +19 -12
- package/examples/latest/blog-schema.json +2 -1
- package/examples/latest/brewery-schema.json +2 -1
- package/examples/latest/complex-project-schema.json +2 -1
- package/examples/latest/fabric-ecommerce.json +2 -2
- package/examples/latest/frank-and-fred-schema.json +2 -1
- package/examples/latest/massive-schema.json +2 -1
- package/examples/latest/mill-components-schema.json +2 -1
- package/examples/latest/pet-oneof-array.json +2 -1
- package/examples/latest/post-schema.json +2 -1
- package/examples/latest/pruned-shopify-product-schema.json +2 -2
- package/examples/latest/real-world-schema.json +2 -1
- package/examples/latest/recursive-repeater-schema.json +2 -1
- package/examples/latest/recursive-schema.json +2 -1
- package/examples/latest/rick-and-morty-ast.json +1 -1
- package/examples/latest/rick-and-morty-graphql.json +1 -1
- package/examples/latest/rick-and-morty-rest.json +1 -1
- package/examples/latest/schema-with-repeater-draftjs.json +2 -1
- package/examples/latest/shape-books-v3_2_0.json +2 -1
- package/examples/latest/shape-books.json +2 -1
- package/examples/latest/shopify-lookbook.json +1 -1
- package/examples/latest/shopify-store-with-widget.json +2 -2
- package/examples/latest/stripe-starter-resolved.json +2 -2
- package/examples/latest/user-schema-no-required.json +2 -1
- package/examples/latest/user-schema-with-defaults.json +2 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +13 -36
- package/lib/migration/index.d.ts +7 -0
- package/lib/migration/index.d.ts.map +1 -0
- package/lib/migration/index.js +128 -0
- package/lib/migration/to/v3.0.0.d.ts +4 -0
- package/lib/migration/to/v3.0.0.d.ts.map +1 -0
- package/lib/migration/to/v3.0.0.js +260 -0
- package/lib/migration/to/v3.1.0.d.ts +5 -0
- package/lib/migration/to/v3.1.0.d.ts.map +1 -0
- package/lib/migration/to/v3.1.0.js +233 -0
- package/lib/migration/to/v3.10.0.d.ts +4 -0
- package/lib/migration/to/v3.10.0.d.ts.map +1 -0
- package/lib/migration/to/v3.10.0.js +66 -0
- package/lib/migration/to/v3.11.0.d.ts +5 -0
- package/lib/migration/to/v3.11.0.d.ts.map +1 -0
- package/lib/migration/to/v3.11.0.js +109 -0
- package/lib/migration/to/v3.2.0.d.ts +4 -0
- package/lib/migration/to/v3.2.0.d.ts.map +1 -0
- package/lib/migration/to/v3.2.0.js +18 -0
- package/lib/migration/to/v3.3.0.d.ts +5 -0
- package/lib/migration/to/v3.3.0.d.ts.map +1 -0
- package/lib/migration/to/v3.3.0.js +24 -0
- package/lib/migration/to/v3.4.0.d.ts +4 -0
- package/lib/migration/to/v3.4.0.d.ts.map +1 -0
- package/lib/migration/to/v3.4.0.js +18 -0
- package/lib/migration/to/v3.5.0.d.ts +4 -0
- package/lib/migration/to/v3.5.0.d.ts.map +1 -0
- package/lib/migration/to/v3.5.0.js +18 -0
- package/lib/migration/to/v3.5.1.d.ts +4 -0
- package/lib/migration/to/v3.5.1.d.ts.map +1 -0
- package/lib/migration/to/v3.5.1.js +18 -0
- package/lib/migration/to/v3.6.0.d.ts +4 -0
- package/lib/migration/to/v3.6.0.d.ts.map +1 -0
- package/lib/migration/to/v3.6.0.js +18 -0
- package/lib/migration/to/v3.7.0.d.ts +4 -0
- package/lib/migration/to/v3.7.0.d.ts.map +1 -0
- package/lib/migration/to/v3.7.0.js +18 -0
- package/lib/migration/to/v3.8.0.d.ts +4 -0
- package/lib/migration/to/v3.8.0.d.ts.map +1 -0
- package/lib/migration/to/v3.8.0.js +18 -0
- package/lib/migration/to/v3.9.0.d.ts +4 -0
- package/lib/migration/to/v3.9.0.d.ts.map +1 -0
- package/lib/migration/to/v3.9.0.js +91 -0
- package/lib/migration/types.d.ts +14 -0
- package/lib/migration/types.d.ts.map +1 -0
- package/lib/migration/types.js +5 -0
- package/lib/migration/utils.d.ts +5 -0
- package/lib/migration/utils.d.ts.map +1 -0
- package/lib/migration/utils.js +34 -0
- package/lib/mocks.d.ts.map +1 -1
- package/lib/mocks.js +1 -0
- package/lib/project-schema/index.d.ts +3 -1
- package/lib/project-schema/index.d.ts.map +1 -1
- package/lib/project-schema/index.js +26 -13
- package/lib/project-schema/latest.d.ts +26 -17
- package/lib/project-schema/latest.d.ts.map +1 -1
- package/lib/project-schema/v3.11.0.d.ts +1211 -0
- package/lib/project-schema/v3.11.0.d.ts.map +1 -0
- package/lib/project-schema/v3.11.0.js +5 -0
- package/lib/schema-util.d.ts.map +1 -1
- package/lib/schema-util.js +16 -10
- package/lib/schemas/index.d.ts +2051 -2
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +17 -15
- package/lib/schemas/index.ts +4 -2
- package/lib/schemas/project-schema/v3.11.0.json +2135 -0
- package/lib/services.d.ts +11 -27
- package/lib/services.d.ts.map +1 -1
- package/lib/services.js +54 -261
- package/lib/types/types.d.ts +16 -5
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js +9 -0
- package/lib/types/utils.d.ts +8 -5
- package/lib/types/utils.d.ts.map +1 -1
- package/lib/types/utils.js +25 -13
- package/lib/validate.d.ts +1 -1
- package/lib/validate.d.ts.map +1 -1
- package/package.json +6 -5
- package/es/migration.js +0 -576
- package/lib/migration.d.ts +0 -59
- package/lib/migration.d.ts.map +0 -1
- package/lib/migration.js +0 -634
package/lib/services.d.ts
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
import type { ServiceMap, ServiceKey,
|
|
2
|
-
import type { ProjectSchema, StoredServiceMap, StoredServiceConfig, ServiceConfig, EncryptedGenericServiceConfigV3_0_0,
|
|
3
|
-
import type { Maybe } from '@takeshape/util';
|
|
4
|
-
import { Overwrite } from '@takeshape/util';
|
|
1
|
+
import type { ServiceMap, ServiceKey, ServiceInfo, PatternGenerator, ProjectSchemaV3X, ServiceConfigUpdate } from './types/types';
|
|
2
|
+
import type { ProjectSchema, StoredServiceMap, StoredServiceConfig, ServiceConfig, EncryptedGenericServiceConfigV3_0_0, Shape } from './project-schema';
|
|
3
|
+
import type { Maybe, Overwrite } from '@takeshape/util';
|
|
5
4
|
import { SERVICE_OBJECT_PATTERN_NAME } from './schema-util';
|
|
6
|
-
import { Shape } from './project-schema';
|
|
7
5
|
/**
|
|
8
6
|
* Decrypt an encrypted authentication JSON string
|
|
9
7
|
* Throws an error if decryption fails
|
|
10
8
|
*/
|
|
11
|
-
export declare type DecryptFn = (authentication: string) =>
|
|
9
|
+
export declare type DecryptFn = (authentication: string) => object;
|
|
12
10
|
/**
|
|
13
11
|
* Decrypt an encrypted authentication JSON string
|
|
14
12
|
* Returns undefined if decryption fails
|
|
15
13
|
*/
|
|
16
|
-
export declare type SafeDecryptFn = (authentication: string) =>
|
|
17
|
-
export declare type EncryptFn = (authentication:
|
|
18
|
-
/**
|
|
19
|
-
* `graphql:my-key` `my-key`
|
|
20
|
-
*/
|
|
21
|
-
export declare function parseV3ServiceStr(service: string): {
|
|
22
|
-
provider?: string;
|
|
23
|
-
id: string;
|
|
24
|
-
};
|
|
14
|
+
export declare type SafeDecryptFn = (authentication: string) => object | undefined;
|
|
15
|
+
export declare type EncryptFn = (authentication: object) => string;
|
|
25
16
|
/**
|
|
26
17
|
* Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
|
|
27
18
|
* authentication object decrypted.
|
|
@@ -32,26 +23,19 @@ export declare function decryptServiceConfig(decryptFn: DecryptFn, storedService
|
|
|
32
23
|
* authentication objects decrypted.
|
|
33
24
|
*/
|
|
34
25
|
export declare function decryptServiceMap(decryptFn: DecryptFn, storedServiceMap: StoredServiceMap): Promise<ServiceMap>;
|
|
26
|
+
/**
|
|
27
|
+
* Validates a `ServiceConfig` validator based on the JSON-schema.
|
|
28
|
+
*/
|
|
29
|
+
export declare function validateServiceConfig(maybeServiceConfig: unknown): ServiceConfig;
|
|
35
30
|
/**
|
|
36
31
|
* Prepare a `ServiceConfig` object update, validating the overall structure
|
|
37
32
|
* and encrypting the `ServiceAuthentication` object.
|
|
38
33
|
*/
|
|
39
|
-
export declare function prepareServiceUpdate(encryptFn: EncryptFn, decryptFn: DecryptFn, projectSchema: ProjectSchema,
|
|
34
|
+
export declare function prepareServiceUpdate(encryptFn: EncryptFn, decryptFn: DecryptFn, projectSchema: ProjectSchema, serviceConfigUpdate: ServiceConfigUpdate, serviceKey: string): StoredServiceConfig;
|
|
40
35
|
/**
|
|
41
36
|
* Get a service config from a project schema.
|
|
42
37
|
*/
|
|
43
38
|
export declare function getStoredServiceConfig(projectSchema: ProjectSchema, serviceKey: ServiceKey): Maybe<StoredServiceConfig>;
|
|
44
|
-
/**
|
|
45
|
-
* Migration-related Functions
|
|
46
|
-
*
|
|
47
|
-
* All the following code is used in the migration process. At some point
|
|
48
|
-
* migraton code should live outside the standard runtime code.
|
|
49
|
-
*/
|
|
50
|
-
/**
|
|
51
|
-
* Ensures a consistent service config, inluding updating the service
|
|
52
|
-
* authentication object.
|
|
53
|
-
*/
|
|
54
|
-
export declare function updateServiceConfigV3ToV3_1(serviceConfig: Record<string, unknown>, serviceKey: ServiceKey): StoredServiceConfigV3_1_0 | ServiceConfigV3_1_0;
|
|
55
39
|
export declare function getServiceNamespace(serviceConfig: StoredServiceConfig | EncryptedGenericServiceConfigV3_0_0): string | undefined;
|
|
56
40
|
/**
|
|
57
41
|
* Get a `Map` keyed with all the service namespaces.
|
package/lib/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,mCAAmC,EAEnC,KAAK,EACN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAMtD,OAAO,EAAiB,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAI1E;;;GAGG;AAEH,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;AAC3D;;;GAGG;AAEH,oBAAY,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3E,oBAAY,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,CAclH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAIrH;AAcD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,GAAG,aAAa,CAMhF;AAED;;;GAGG;AAEH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,MAAM,GACjB,mBAAmB,CAqCrB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,GACrB,KAAK,CAAC,mBAAmB,CAAC,CAE5B;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,mBAAmB,GAAG,mCAAmC,GACvE,MAAM,GAAG,SAAS,CAYpB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrG;AAED,oBAAY,4BAA4B,GAAG,SAAS,CAClD,WAAW,EACX;IAAC,UAAU,EAAE;QAAC,CAAC,2BAA2B,CAAC,EAAE,gBAAgB,CAAA;KAAC,CAAA;CAAC,CAChE,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,4BAA4B,EAAE,CAIhC"}
|
package/lib/services.js
CHANGED
|
@@ -9,51 +9,40 @@ exports.getServiceNamespace = getServiceNamespace;
|
|
|
9
9
|
exports.getServiceNamespaces = getServiceNamespaces;
|
|
10
10
|
exports.getServiceObjectFields = getServiceObjectFields;
|
|
11
11
|
exports.getStoredServiceConfig = getStoredServiceConfig;
|
|
12
|
-
exports.parseV3ServiceStr = parseV3ServiceStr;
|
|
13
12
|
exports.prepareServiceUpdate = prepareServiceUpdate;
|
|
14
|
-
exports.
|
|
15
|
-
|
|
16
|
-
var _utils = require("./types/utils");
|
|
13
|
+
exports.validateServiceConfig = validateServiceConfig;
|
|
17
14
|
|
|
18
15
|
var _util = require("@takeshape/util");
|
|
19
16
|
|
|
20
|
-
var _v = _interopRequireDefault(require("./schemas/project-schema/v3.1.0.json"));
|
|
21
|
-
|
|
22
17
|
var _jsonSchema = require("@takeshape/json-schema");
|
|
23
18
|
|
|
24
|
-
var
|
|
19
|
+
var _errors = require("@takeshape/errors");
|
|
25
20
|
|
|
26
21
|
var _isNull = _interopRequireDefault(require("lodash/isNull"));
|
|
27
22
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
23
|
+
var _utils = require("./types/utils");
|
|
31
24
|
|
|
32
25
|
var _schemaUtil = require("./schema-util");
|
|
33
26
|
|
|
27
|
+
var _schemas = require("./schemas");
|
|
28
|
+
|
|
29
|
+
var _validate = require("./validate");
|
|
30
|
+
|
|
34
31
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
32
|
|
|
36
|
-
/**
|
|
37
|
-
* `graphql:my-key` `my-key`
|
|
38
|
-
*/
|
|
39
|
-
function parseV3ServiceStr(service) {
|
|
40
|
-
const parts = service.split(':');
|
|
41
|
-
return {
|
|
42
|
-
provider: parts.length > 1 ? parts[0] : undefined,
|
|
43
|
-
id: parts.length > 1 ? parts[1] : parts[0]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
33
|
/**
|
|
47
34
|
* Given a `StoredServiceConfig` returns a usable `ServiceConfig` with the
|
|
48
35
|
* authentication object decrypted.
|
|
49
36
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
37
|
function decryptServiceConfig(decryptFn, storedServiceConfig) {
|
|
53
38
|
let authentication;
|
|
54
39
|
|
|
55
40
|
if ((0, _utils.isEncryptedServiceConfig)(storedServiceConfig)) {
|
|
56
|
-
|
|
41
|
+
const decrypted = decryptFn(storedServiceConfig.authentication);
|
|
42
|
+
|
|
43
|
+
if ((0, _utils.isServiceAuthentication)(decrypted)) {
|
|
44
|
+
authentication = decrypted;
|
|
45
|
+
}
|
|
57
46
|
}
|
|
58
47
|
|
|
59
48
|
return { ...storedServiceConfig,
|
|
@@ -71,96 +60,71 @@ async function decryptServiceMap(decryptFn, storedServiceMap) {
|
|
|
71
60
|
return result.set(serviceKey, decryptServiceConfig(decryptFn, serviceConfig));
|
|
72
61
|
}, new Map());
|
|
73
62
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Provides a `ServiceConfig` validator based on the JSON-schema.
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
63
|
|
|
79
64
|
function createServiceConfigValidator() {
|
|
65
|
+
const validator = (0, _jsonSchema.createAjv)();
|
|
80
66
|
const {
|
|
81
|
-
serviceConfig
|
|
67
|
+
serviceConfig,
|
|
82
68
|
...definitions
|
|
83
|
-
} =
|
|
84
|
-
|
|
85
|
-
$id: '
|
|
69
|
+
} = _schemas.latestSchemaJson.definitions;
|
|
70
|
+
return validator.compile({
|
|
71
|
+
$id: 'ServiceConfig',
|
|
86
72
|
definitions,
|
|
87
|
-
...
|
|
88
|
-
};
|
|
89
|
-
return (0, _jsonSchema.createSchemaValidator)(validationSchema);
|
|
73
|
+
...serviceConfig
|
|
74
|
+
});
|
|
90
75
|
}
|
|
76
|
+
|
|
77
|
+
const serviceConfigValidator = createServiceConfigValidator();
|
|
91
78
|
/**
|
|
92
|
-
*
|
|
93
|
-
* the `removeAdditional` setting, where valid properties are being stripped,
|
|
94
|
-
* this is validated separate from the overall config. May have something to do with
|
|
95
|
-
* JSON Schema's lack of handling for discriminated unions?
|
|
79
|
+
* Validates a `ServiceConfig` validator based on the JSON-schema.
|
|
96
80
|
*/
|
|
97
81
|
|
|
82
|
+
function validateServiceConfig(maybeServiceConfig) {
|
|
83
|
+
var _serviceConfigValidat;
|
|
98
84
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
...definitions
|
|
103
|
-
} = _v.default.definitions;
|
|
104
|
-
const validationSchema = {
|
|
105
|
-
$id: '#serviceAuthentication',
|
|
106
|
-
definitions,
|
|
107
|
-
...schema
|
|
108
|
-
};
|
|
109
|
-
return (0, _jsonSchema.createSchemaValidator)(validationSchema, [], {
|
|
110
|
-
removeAdditional: false
|
|
111
|
-
});
|
|
112
|
-
}
|
|
85
|
+
if (serviceConfigValidator(maybeServiceConfig)) {
|
|
86
|
+
return maybeServiceConfig;
|
|
87
|
+
}
|
|
113
88
|
|
|
114
|
-
|
|
115
|
-
|
|
89
|
+
throw new _errors.SchemaValidationError('ServiceConfig was invalid', (_serviceConfigValidat = serviceConfigValidator.errors) === null || _serviceConfigValidat === void 0 ? void 0 : _serviceConfigValidat.map(_validate.formatError));
|
|
90
|
+
}
|
|
116
91
|
/**
|
|
117
92
|
* Prepare a `ServiceConfig` object update, validating the overall structure
|
|
118
93
|
* and encrypting the `ServiceAuthentication` object.
|
|
119
94
|
*/
|
|
120
95
|
// eslint-disable-next-line max-params
|
|
121
96
|
|
|
122
|
-
function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, partialServiceConfig, serviceKey) {
|
|
123
|
-
var _projectSchema$servic;
|
|
124
97
|
|
|
125
|
-
|
|
126
|
-
|
|
98
|
+
function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, serviceConfigUpdate, serviceKey) {
|
|
99
|
+
const storedServiceConfig = getStoredServiceConfig(projectSchema, serviceKey);
|
|
100
|
+
let newServiceConfig = serviceConfigUpdate;
|
|
127
101
|
|
|
128
102
|
if (storedServiceConfig) {
|
|
129
103
|
const existingServiceConfig = decryptServiceConfig(decryptFn, storedServiceConfig);
|
|
130
|
-
newServiceConfig = (0, _util.mergeWithArrayMerge)(existingServiceConfig,
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if ((0, _isNull.default)(newServiceConfig.authentication)) {
|
|
134
|
-
delete newServiceConfig.authentication;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
let authentication;
|
|
138
|
-
|
|
139
|
-
if (newServiceConfig.authentication) {
|
|
140
|
-
// Copy authentication, to ensure validation doesn't remove any properties
|
|
141
|
-
authentication = (0, _util.deepClone)(newServiceConfig.authentication);
|
|
142
|
-
const {
|
|
143
|
-
errorsText: authenticationErrors
|
|
144
|
-
} = serviceAuthenticationValidator(authentication);
|
|
145
|
-
|
|
146
|
-
if (authenticationErrors) {
|
|
147
|
-
throw new Error(authenticationErrors);
|
|
148
|
-
}
|
|
104
|
+
newServiceConfig = (0, _util.mergeWithArrayMerge)(existingServiceConfig, serviceConfigUpdate);
|
|
149
105
|
}
|
|
150
106
|
|
|
151
107
|
const {
|
|
152
|
-
|
|
153
|
-
|
|
108
|
+
authentication,
|
|
109
|
+
authenticationType
|
|
110
|
+
} = newServiceConfig;
|
|
154
111
|
|
|
155
|
-
if (
|
|
156
|
-
|
|
112
|
+
if (authenticationType === 'none' || (0, _isNull.default)(authentication)) {
|
|
113
|
+
delete newServiceConfig.authentication;
|
|
114
|
+
} else if (authentication !== undefined) {
|
|
115
|
+
// Add the discriminator to the authentication object, set authenticationType
|
|
116
|
+
// to ensure the update is correct for the auth type.
|
|
117
|
+
newServiceConfig.authentication = { ...authentication,
|
|
118
|
+
type: authenticationType
|
|
119
|
+
};
|
|
157
120
|
}
|
|
158
121
|
|
|
122
|
+
validateServiceConfig(newServiceConfig);
|
|
159
123
|
let serviceConfig;
|
|
160
124
|
|
|
161
|
-
if (authentication) {
|
|
125
|
+
if (newServiceConfig.authentication) {
|
|
162
126
|
serviceConfig = { ...newServiceConfig,
|
|
163
|
-
authentication: encryptFn(authentication)
|
|
127
|
+
authentication: encryptFn(newServiceConfig.authentication)
|
|
164
128
|
};
|
|
165
129
|
} else {
|
|
166
130
|
serviceConfig = newServiceConfig;
|
|
@@ -174,185 +138,9 @@ function prepareServiceUpdate(encryptFn, decryptFn, projectSchema, partialServic
|
|
|
174
138
|
|
|
175
139
|
|
|
176
140
|
function getStoredServiceConfig(projectSchema, serviceKey) {
|
|
177
|
-
var _projectSchema$
|
|
178
|
-
|
|
179
|
-
return (_projectSchema$servic2 = projectSchema.services) === null || _projectSchema$servic2 === void 0 ? void 0 : _projectSchema$servic2[serviceKey];
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Migration-related Functions
|
|
183
|
-
*
|
|
184
|
-
* All the following code is used in the migration process. At some point
|
|
185
|
-
* migraton code should live outside the standard runtime code.
|
|
186
|
-
*/
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Ensures a consistent service config, inluding updating the service
|
|
190
|
-
* authentication object.
|
|
191
|
-
*/
|
|
192
|
-
// eslint-disable-next-line complexity
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
function updateServiceConfigV3ToV3_1(serviceConfig, serviceKey) {
|
|
196
|
-
if ((0, _utils.isAnyServiceConfig)(serviceConfig)) {
|
|
197
|
-
if ((0, _isString.default)(serviceConfig.authentication) || (0, _isUndefined.default)(serviceConfig.authentication)) {
|
|
198
|
-
return serviceConfig;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
return serviceConfig;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const {
|
|
205
|
-
auth
|
|
206
|
-
} = serviceConfig;
|
|
207
|
-
const serviceParams = serviceConfig.params || {};
|
|
208
|
-
let {
|
|
209
|
-
provider: serviceKeyProvider,
|
|
210
|
-
id: serviceKeyId
|
|
211
|
-
} = parseV3ServiceStr(serviceKey);
|
|
212
|
-
const authType = serviceParams.authType || undefined;
|
|
213
|
-
const title = serviceParams.name || serviceKeyId;
|
|
214
|
-
|
|
215
|
-
if (serviceKeyId === 'vercel') {
|
|
216
|
-
serviceKeyProvider = 'vercel';
|
|
217
|
-
} else if (serviceKeyId === 'netlify') {
|
|
218
|
-
serviceKeyProvider = 'netlify';
|
|
219
|
-
} // Example schemas had this in params, which are untyped, so adding here just in case
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
if (serviceParams.type === 'rest') {
|
|
223
|
-
serviceKeyProvider = 'rest';
|
|
224
|
-
} else if (serviceParams.type === 'graphql' && serviceKeyProvider !== 'shopify') {
|
|
225
|
-
serviceKeyProvider = 'graphql';
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
let provider;
|
|
229
|
-
let authenticationType;
|
|
230
|
-
let serviceType;
|
|
231
|
-
let namespace;
|
|
232
|
-
|
|
233
|
-
if (serviceKeyProvider === 'shopify') {
|
|
234
|
-
provider = 'shopify';
|
|
235
|
-
authenticationType = 'oauth2Bearer';
|
|
236
|
-
serviceType = 'graphql';
|
|
237
|
-
namespace = serviceParams.namespace ?? 'Shopify';
|
|
238
|
-
} else if (serviceKeyProvider === 'takeshape') {
|
|
239
|
-
provider = 'takeshape';
|
|
240
|
-
authenticationType = 'none';
|
|
241
|
-
serviceType = 'takeshape';
|
|
242
|
-
namespace = serviceParams.namespace ?? 'TakeShape';
|
|
243
|
-
} else if (serviceKeyProvider === 'bigcommerce') {
|
|
244
|
-
provider = 'bigcommerce';
|
|
245
|
-
authenticationType = 'bearer';
|
|
246
|
-
serviceType = 'graphql';
|
|
247
|
-
namespace = serviceParams.namespace ?? 'BigCommerce';
|
|
248
|
-
} else if (serviceKeyProvider === 'rest') {
|
|
249
|
-
provider = 'generic';
|
|
250
|
-
authenticationType = mapAuthType(authType, auth);
|
|
251
|
-
serviceType = 'rest';
|
|
252
|
-
namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
|
|
253
|
-
} else if (serviceKeyProvider === 'graphql') {
|
|
254
|
-
provider = 'generic';
|
|
255
|
-
authenticationType = mapAuthType(authType, auth);
|
|
256
|
-
serviceType = 'graphql';
|
|
257
|
-
namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
|
|
258
|
-
} else if (serviceKeyProvider === 'vercel') {
|
|
259
|
-
provider = 'vercel';
|
|
260
|
-
authenticationType = 'oauth2Bearer';
|
|
261
|
-
serviceType = 'deployment';
|
|
262
|
-
} else if (serviceKeyProvider === 'netlify') {
|
|
263
|
-
provider = 'netlify';
|
|
264
|
-
authenticationType = 'oauth2Bearer';
|
|
265
|
-
serviceType = 'deployment';
|
|
266
|
-
} else {
|
|
267
|
-
provider = 'generic';
|
|
268
|
-
authenticationType = mapAuthType(authType, auth);
|
|
269
|
-
serviceType = 'unknown';
|
|
270
|
-
namespace = serviceParams.namespace ?? (0, _util.pascalCase)(title);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
const updatedServiceConfig = {
|
|
274
|
-
title,
|
|
275
|
-
id: serviceKey,
|
|
276
|
-
provider,
|
|
277
|
-
namespace,
|
|
278
|
-
serviceType,
|
|
279
|
-
authenticationType,
|
|
280
|
-
options: { ...serviceParams
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
if (serviceConfig.auth && (0, _isObject.default)(serviceConfig.auth)) {
|
|
285
|
-
const authentication = updateServiceAuthentication(updatedServiceConfig.authenticationType, serviceConfig.auth, serviceParams);
|
|
286
|
-
return { ...updatedServiceConfig,
|
|
287
|
-
authentication
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
return updatedServiceConfig;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* V1/V3 unencrypted `auth` -> V3.1 `authentication
|
|
295
|
-
*/
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
function updateServiceAuthentication(authenticationType, legacyAuth, legacyParams) {
|
|
299
|
-
if (authenticationType === 'oauth2Bearer') {
|
|
300
|
-
return {
|
|
301
|
-
token: legacyAuth.accessToken,
|
|
302
|
-
scope: legacyAuth.scope,
|
|
303
|
-
header: legacyParams.authHeader
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
if (authenticationType === 'searchParams' && legacyParams.authProp) {
|
|
308
|
-
return [{
|
|
309
|
-
name: legacyParams.authProp,
|
|
310
|
-
value: legacyAuth.accessToken
|
|
311
|
-
}];
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
if (authenticationType === 'basic') {
|
|
315
|
-
const [username, password] = Buffer.from(legacyAuth.accessToken, 'base64').toString('utf-8').split(':');
|
|
316
|
-
return {
|
|
317
|
-
username,
|
|
318
|
-
password
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
if (authenticationType === 'bearer') {
|
|
323
|
-
return {
|
|
324
|
-
token: legacyAuth.accessToken,
|
|
325
|
-
header: legacyParams.authHeader
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
function mapAuthType(authType, auth) {
|
|
331
|
-
if (authType === 'none') {
|
|
332
|
-
return 'none';
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
if (authType === 'searchParams') {
|
|
336
|
-
return 'searchParams';
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
if (authType === 'bearer') {
|
|
340
|
-
return 'bearer';
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
if (authType === 'bearer') {
|
|
344
|
-
return 'basic';
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
if (!auth) {
|
|
348
|
-
return 'none';
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
if (auth) {
|
|
352
|
-
return 'bearer';
|
|
353
|
-
}
|
|
141
|
+
var _projectSchema$servic;
|
|
354
142
|
|
|
355
|
-
return
|
|
143
|
+
return (_projectSchema$servic = projectSchema.services) === null || _projectSchema$servic === void 0 ? void 0 : _projectSchema$servic[serviceKey];
|
|
356
144
|
}
|
|
357
145
|
|
|
358
146
|
function getServiceNamespace(serviceConfig) {
|
|
@@ -361,6 +149,11 @@ function getServiceNamespace(serviceConfig) {
|
|
|
361
149
|
if ('namespace' in serviceConfig && serviceConfig.namespace) {
|
|
362
150
|
return serviceConfig.namespace;
|
|
363
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* TODO This is only necessary if this fn gets called on a schema before migration.
|
|
154
|
+
* Figure that out and remove if possible.
|
|
155
|
+
**/
|
|
156
|
+
|
|
364
157
|
|
|
365
158
|
if ('params' in serviceConfig && (_serviceConfig$params = serviceConfig.params) !== null && _serviceConfig$params !== void 0 && _serviceConfig$params.namespace) {
|
|
366
159
|
return serviceConfig.params.namespace;
|
package/lib/types/types.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { Merge } from 'type-fest';
|
|
2
|
-
import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication } from '../project-schema';
|
|
3
|
-
import { Overwrite } from '@takeshape/util';
|
|
1
|
+
import type { SetRequired, Merge, PartialDeep } from 'type-fest';
|
|
2
|
+
import type { ProjectSchema, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, Query, PropertySchema, StoredServiceMap, ServiceConfig, OAuth2Authentication, CustomAuthentication, ServiceAuthentication } from '../project-schema';
|
|
3
|
+
import type { Overwrite } from '@takeshape/util';
|
|
4
4
|
import { SERVICE_OBJECT_PATTERN_NAME } from '../schema-util';
|
|
5
5
|
/**
|
|
6
6
|
* An alias for the latest version of the project schema. This should be the
|
|
7
7
|
* only type used in most runtime code. Updating this to a new version should
|
|
8
8
|
* trigger type errors that clue you in to code that needs review.
|
|
9
9
|
*/
|
|
10
|
-
export declare type ProjectSchemaV3X = ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
|
|
10
|
+
export declare type ProjectSchemaV3X = ProjectSchemaV3_11_0 | ProjectSchemaV3_10_0 | ProjectSchemaV3_9_0 | ProjectSchemaV3_8_0 | ProjectSchemaV3_7_0 | ProjectSchemaV3_6_0 | ProjectSchemaV3_5_1 | ProjectSchemaV3_5_0 | ProjectSchemaV3_4_0 | ProjectSchemaV3_3_0 | ProjectSchemaV3_2_0 | ProjectSchemaV3_1_0 | ProjectSchemaV3_0_0;
|
|
11
11
|
export interface Content {
|
|
12
12
|
[name: string]: any;
|
|
13
13
|
_id: string;
|
|
@@ -68,7 +68,7 @@ export declare type GraphQLServiceConfig = Overwrite<ServiceConfig, {
|
|
|
68
68
|
timeout?: number;
|
|
69
69
|
};
|
|
70
70
|
}>;
|
|
71
|
-
export declare type OpenAPIServiceConfig =
|
|
71
|
+
export declare type OpenAPIServiceConfig = Merge<ServiceConfig, {
|
|
72
72
|
serviceType: 'openapi';
|
|
73
73
|
options: {
|
|
74
74
|
endpoint: string;
|
|
@@ -88,6 +88,17 @@ export declare type ServiceConfigWithOAuth2Authentication = Merge<ServiceConfig,
|
|
|
88
88
|
export declare type ServiceConfigWithCustomAuthentication = Merge<ServiceConfig, {
|
|
89
89
|
authentication: CustomAuthentication;
|
|
90
90
|
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Support null sentinels for authentication
|
|
93
|
+
*/
|
|
94
|
+
export declare type ServiceConfigWithNullSentinelAuthentication = Overwrite<ServiceConfig, {
|
|
95
|
+
authentication?: ServiceAuthentication | null;
|
|
96
|
+
}>;
|
|
97
|
+
/**
|
|
98
|
+
* A type suitable for service object updates, mostly concerns authentication
|
|
99
|
+
* requirements.
|
|
100
|
+
*/
|
|
101
|
+
export declare type ServiceConfigUpdate = SetRequired<PartialDeep<ServiceConfigWithNullSentinelAuthentication>, 'authenticationType'>;
|
|
91
102
|
export interface LatestProjectSchemaWithServices extends ProjectSchema {
|
|
92
103
|
dataKey: string;
|
|
93
104
|
services: StoredServiceMap;
|
package/lib/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types/types.js
CHANGED
|
@@ -20,6 +20,15 @@ exports.RefType = exports.ArgsType = void 0;
|
|
|
20
20
|
* @deprecated
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Support null sentinels for authentication
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A type suitable for service object updates, mostly concerns authentication
|
|
29
|
+
* requirements.
|
|
30
|
+
*/
|
|
31
|
+
|
|
23
32
|
/**
|
|
24
33
|
* Types of refs
|
|
25
34
|
*/
|
package/lib/types/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyProjectSchema, ProjectSchema, ProjectSchemaV1_0_0, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, DirectiveMappingArray, DirectiveMappingMap, DirectiveConfig, ParameterSerializeOptions, ParameterSerializeContentOptions, ParameterSerializeStyleOptions, BasicResolver, ComposeResolver, GraphqlResolver, TakeshapeResolver, RestResolver, AwsLambdaResolver, UtilResolver, ObjectSchema, ReturnShapeArraySchema, ShapeSchemaEnum, RefSchema, RefSchemaLegacy, PropertySchema, AnyServiceConfig, ServiceAuthentication, BearerAuthentication, BasicAuthentication, OAuth2Authentication, SearchParamsAuthentication, ParameterOp, ParameterOpNested, ParameterOpMapping, ParameterOpValue, ParameterOpOp, ParameterSerializeStyleOptionsForSearchParams, ParameterSerializeStyleOptionsForPathParams, OneOfSchema, AllOfSchema } from '../project-schema';
|
|
1
|
+
import type { AnyProjectSchema, ProjectSchema, ProjectSchemaV1_0_0, ProjectSchemaV3_0_0, ProjectSchemaV3_1_0, ProjectSchemaV3_2_0, ProjectSchemaV3_3_0, ProjectSchemaV3_4_0, ProjectSchemaV3_5_0, ProjectSchemaV3_5_1, ProjectSchemaV3_6_0, ProjectSchemaV3_7_0, ProjectSchemaV3_8_0, ProjectSchemaV3_9_0, ProjectSchemaV3_10_0, ProjectSchemaV3_11_0, DirectiveMappingArray, DirectiveMappingMap, DirectiveConfig, ParameterSerializeOptions, ParameterSerializeContentOptions, ParameterSerializeStyleOptions, BasicResolver, ComposeResolver, GraphqlResolver, TakeshapeResolver, RestResolver, AwsLambdaResolver, UtilResolver, ObjectSchema, ReturnShapeArraySchema, ShapeSchemaEnum, RefSchema, RefSchemaLegacy, PropertySchema, AnyServiceConfig, ServiceAuthentication, BearerAuthentication, BasicAuthentication, OAuth2Authentication, OAuth2BearerAuthentication, SearchParamsAuthentication, CustomAuthentication, ParameterOp, ParameterOpNested, ParameterOpMapping, ParameterOpValue, ParameterOpOp, ParameterSerializeStyleOptionsForSearchParams, ParameterSerializeStyleOptionsForPathParams, OneOfSchema, AllOfSchema } from '../project-schema';
|
|
2
2
|
import type { Maybe } from '@takeshape/util';
|
|
3
3
|
import type { ShopifyServiceConfig, RESTServiceConfig, GraphQLServiceConfig, OpenAPIServiceConfig, EncryptedServiceConfig, SchemaWithArgs, SchemaWithRef, ServiceConfigWithOAuth2Authentication, ServiceConfigWithCustomAuthentication, LatestProjectSchemaWithServices, ProjectSchemaV3X } from './types';
|
|
4
4
|
import { ArgsType, RefType } from './types';
|
|
@@ -27,6 +27,7 @@ export declare const isProjectSchemaV3_7: (projectSchema: AnyProjectSchema) => p
|
|
|
27
27
|
export declare const isProjectSchemaV3_8: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_8_0;
|
|
28
28
|
export declare const isProjectSchemaV3_9: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_9_0;
|
|
29
29
|
export declare const isProjectSchemaV3_10: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_10_0;
|
|
30
|
+
export declare const isProjectSchemaV3_11: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchemaV3_11_0;
|
|
30
31
|
export declare const isLatestProjectSchema: (projectSchema: AnyProjectSchema) => projectSchema is ProjectSchema;
|
|
31
32
|
export declare function isV3XSchema(maybeSchema: unknown): maybeSchema is ProjectSchemaV3X;
|
|
32
33
|
/**
|
|
@@ -100,10 +101,12 @@ export declare function isServiceConfigWithOAuth2Authentication(maybeServiceConf
|
|
|
100
101
|
export declare function isServiceConfigWithCustomAuthentication(maybeServiceConfig: any): maybeServiceConfig is ServiceConfigWithCustomAuthentication;
|
|
101
102
|
/** Authentication Utils **/
|
|
102
103
|
export declare function isServiceAuthentication(maybeAuthentication: any): maybeAuthentication is ServiceAuthentication;
|
|
103
|
-
export declare function isBearerAuthentication(
|
|
104
|
-
export declare function isBasicAuthentication(
|
|
105
|
-
export declare function isSearchParamsAuthentication(
|
|
106
|
-
export declare function isOAuth2Authentication(
|
|
104
|
+
export declare function isBearerAuthentication(authentication: ServiceAuthentication): authentication is BearerAuthentication;
|
|
105
|
+
export declare function isBasicAuthentication(authentication: ServiceAuthentication): authentication is BasicAuthentication;
|
|
106
|
+
export declare function isSearchParamsAuthentication(authentication: ServiceAuthentication): authentication is SearchParamsAuthentication;
|
|
107
|
+
export declare function isOAuth2Authentication(authentication: ServiceAuthentication): authentication is OAuth2Authentication;
|
|
108
|
+
export declare function isOAuth2BearerAuthentication(authentication: ServiceAuthentication): authentication is OAuth2BearerAuthentication;
|
|
109
|
+
export declare function isCustomAuthentication(authentication: ServiceAuthentication): authentication is CustomAuthentication;
|
|
107
110
|
/** Miscellaneous Utils **/
|
|
108
111
|
/**
|
|
109
112
|
* A utility to return the type of args present on a schema.
|
package/lib/types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,EAC9B,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,6CAA6C,EAC7C,2CAA2C,EAC3C,WAAW,EACX,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,qCAAqC,EACrC,qCAAqC,EACrC,+BAA+B,EAC/B,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAU1C,2BAA2B;AAE3B;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,aAAa,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,eAAe,CAMhF;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,iBAAiB,CAE1F;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,eAAe,CAEtF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,YAAY,CAEhF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,iBAAiB,CAE1F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,IAAI,YAAY,CAEhF;AAYD,oCAAoC;AAEpC,eAAO,MAAM,iBAAiB,kBARL,gBAAgB,yCAQwC,CAAC;AAClF,eAAO,MAAM,iBAAiB,kBATL,gBAAgB,yCASwC,CAAC;AAClF,eAAO,MAAM,mBAAmB,kBAVP,gBAAgB,yCAU8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAXP,gBAAgB,yCAW8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAZP,gBAAgB,yCAY8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAbP,gBAAgB,yCAa8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAdP,gBAAgB,yCAc8C,CAAC;AACxF,eAAO,MAAM,qBAAqB,kBAfT,gBAAgB,yCAegD,CAAC;AAC1F,eAAO,MAAM,mBAAmB,kBAhBP,gBAAgB,yCAgB8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAjBP,gBAAgB,yCAiB8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAlBP,gBAAgB,yCAkB8C,CAAC;AACxF,eAAO,MAAM,mBAAmB,kBAnBP,gBAAgB,yCAmB8C,CAAC;AACxF,eAAO,MAAM,oBAAoB,kBApBR,gBAAgB,0CAoBiD,CAAC;AAC3F,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"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"}
|