parse-server 6.0.0-alpha.2 → 6.0.0-alpha.21
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 +45 -17
- package/lib/AccountLockout.js +11 -26
- package/lib/Adapters/AdapterLoader.js +8 -14
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -8
- package/lib/Adapters/Auth/AuthAdapter.js +7 -16
- package/lib/Adapters/Auth/OAuth1Client.js +32 -57
- package/lib/Adapters/Auth/apple.js +6 -22
- package/lib/Adapters/Auth/facebook.js +7 -37
- package/lib/Adapters/Auth/gcenter.js +8 -37
- package/lib/Adapters/Auth/github.js +7 -10
- package/lib/Adapters/Auth/google.js +11 -34
- package/lib/Adapters/Auth/gpgames.js +5 -8
- package/lib/Adapters/Auth/httpsRequest.js +1 -7
- package/lib/Adapters/Auth/index.js +20 -65
- package/lib/Adapters/Auth/instagram.js +5 -9
- package/lib/Adapters/Auth/janraincapture.js +8 -12
- package/lib/Adapters/Auth/janrainengage.js +7 -11
- package/lib/Adapters/Auth/keycloak.js +5 -19
- package/lib/Adapters/Auth/ldap.js +1 -15
- package/lib/Adapters/Auth/line.js +7 -10
- package/lib/Adapters/Auth/linkedin.js +7 -12
- package/lib/Adapters/Auth/meetup.js +7 -10
- package/lib/Adapters/Auth/microsoft.js +7 -10
- package/lib/Adapters/Auth/oauth2.js +6 -18
- package/lib/Adapters/Auth/phantauth.js +8 -10
- package/lib/Adapters/Auth/qq.js +7 -13
- package/lib/Adapters/Auth/spotify.js +7 -14
- package/lib/Adapters/Auth/twitter.js +5 -15
- package/lib/Adapters/Auth/vkontakte.js +9 -15
- package/lib/Adapters/Auth/wechat.js +7 -10
- package/lib/Adapters/Auth/weibo.js +7 -11
- package/lib/Adapters/Cache/CacheAdapter.js +4 -12
- package/lib/Adapters/Cache/InMemoryCache.js +5 -19
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +1 -11
- package/lib/Adapters/Cache/LRUCache.js +1 -11
- package/lib/Adapters/Cache/NullCacheAdapter.js +1 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +46 -87
- package/lib/Adapters/Cache/SchemaCache.js +1 -6
- package/lib/Adapters/Email/MailAdapter.js +2 -7
- package/lib/Adapters/Files/FilesAdapter.js +7 -21
- package/lib/Adapters/Files/GridFSBucketAdapter.js +6 -44
- package/lib/Adapters/Files/GridStoreAdapter.js +1 -1
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -11
- package/lib/Adapters/Logger/WinstonLogger.js +3 -30
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +5 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +3 -20
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +1 -16
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -9
- package/lib/Adapters/PubSub/RedisPubSub.js +13 -10
- package/lib/Adapters/Push/PushAdapter.js +2 -8
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +12 -37
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +26 -79
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +78 -209
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +82 -371
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +1 -13
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +1 -20
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +119 -446
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -7
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +3 -12
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +7 -12
- package/lib/Auth.js +54 -121
- package/lib/ClientSDK.js +3 -11
- package/lib/Config.js +69 -113
- package/lib/Controllers/AdaptableController.js +6 -18
- package/lib/Controllers/AnalyticsController.js +1 -9
- package/lib/Controllers/CacheController.js +3 -23
- package/lib/Controllers/DatabaseController.js +147 -345
- package/lib/Controllers/FilesController.js +5 -34
- package/lib/Controllers/HooksController.js +1 -51
- package/lib/Controllers/LiveQueryController.js +4 -23
- package/lib/Controllers/LoggerController.js +15 -54
- package/lib/Controllers/ParseGraphQLController.js +49 -104
- package/lib/Controllers/PushController.js +20 -59
- package/lib/Controllers/SchemaController.js +154 -344
- package/lib/Controllers/UserController.js +11 -72
- package/lib/Controllers/index.js +19 -68
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +1 -8
- package/lib/Deprecator/Deprecator.js +9 -18
- package/lib/GraphQL/ParseGraphQLSchema.js +16 -100
- package/lib/GraphQL/ParseGraphQLServer.js +2 -29
- package/lib/GraphQL/helpers/objectsMutations.js +2 -12
- package/lib/GraphQL/helpers/objectsQueries.js +18 -76
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +1 -9
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +1 -8
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +9 -115
- package/lib/GraphQL/loaders/defaultRelaySchema.js +6 -18
- package/lib/GraphQL/loaders/filesMutations.js +2 -19
- package/lib/GraphQL/loaders/functionsMutations.js +6 -17
- package/lib/GraphQL/loaders/parseClassMutations.js +6 -44
- package/lib/GraphQL/loaders/parseClassQueries.js +1 -26
- package/lib/GraphQL/loaders/parseClassTypes.js +10 -64
- package/lib/GraphQL/loaders/schemaDirectives.js +1 -17
- package/lib/GraphQL/loaders/schemaMutations.js +1 -20
- package/lib/GraphQL/loaders/schemaQueries.js +1 -14
- package/lib/GraphQL/loaders/schemaTypes.js +2 -6
- package/lib/GraphQL/loaders/usersMutations.js +6 -28
- package/lib/GraphQL/loaders/usersQueries.js +4 -26
- package/lib/GraphQL/parseGraphQLUtils.js +6 -19
- package/lib/GraphQL/transformers/className.js +1 -4
- package/lib/GraphQL/transformers/constraintType.js +1 -20
- package/lib/GraphQL/transformers/inputType.js +1 -20
- package/lib/GraphQL/transformers/mutation.js +6 -51
- package/lib/GraphQL/transformers/outputType.js +1 -20
- package/lib/GraphQL/transformers/query.js +6 -42
- package/lib/GraphQL/transformers/schemaFields.js +7 -34
- package/lib/KeyPromiseQueue.js +1 -12
- package/lib/LiveQuery/Client.js +1 -25
- package/lib/LiveQuery/Id.js +1 -7
- package/lib/LiveQuery/ParseCloudCodePublisher.js +13 -19
- package/lib/LiveQuery/ParseLiveQueryServer.js +92 -306
- package/lib/LiveQuery/ParsePubSub.js +1 -12
- package/lib/LiveQuery/ParseWebSocketServer.js +4 -26
- package/lib/LiveQuery/QueryTools.js +14 -116
- package/lib/LiveQuery/RequestSchema.js +1 -1
- package/lib/LiveQuery/SessionTokenCache.js +1 -17
- package/lib/LiveQuery/Subscription.js +4 -18
- package/lib/LiveQuery/equalObjects.js +2 -14
- package/lib/Options/Definitions.js +79 -10
- package/lib/Options/docs.js +23 -3
- package/lib/Options/index.js +4 -12
- package/lib/Options/parsers.js +1 -18
- package/lib/Page.js +1 -9
- package/lib/ParseMessageQueue.js +1 -10
- package/lib/ParseServer.js +144 -182
- package/lib/ParseServerRESTController.js +6 -33
- package/lib/PromiseRouter.js +16 -50
- package/lib/Push/PushQueue.js +3 -15
- package/lib/Push/PushWorker.js +7 -32
- package/lib/Push/utils.js +9 -38
- package/lib/RestQuery.js +105 -242
- package/lib/RestWrite.js +212 -377
- package/lib/Routers/AggregateRouter.js +14 -51
- package/lib/Routers/AnalyticsRouter.js +2 -8
- package/lib/Routers/AudiencesRouter.js +1 -15
- package/lib/Routers/ClassesRouter.js +3 -53
- package/lib/Routers/CloudCodeRouter.js +1 -19
- package/lib/Routers/FeaturesRouter.js +1 -10
- package/lib/Routers/FilesRouter.js +29 -76
- package/lib/Routers/FunctionsRouter.js +5 -28
- package/lib/Routers/GlobalConfigRouter.js +4 -18
- package/lib/Routers/GraphQLRouter.js +1 -14
- package/lib/Routers/HooksRouter.js +1 -29
- package/lib/Routers/IAPValidationRouter.js +6 -29
- package/lib/Routers/InstallationsRouter.js +2 -12
- package/lib/Routers/LogsRouter.js +4 -16
- package/lib/Routers/PagesRouter.js +69 -129
- package/lib/Routers/PublicAPIRouter.js +3 -62
- package/lib/Routers/PurgeRouter.js +1 -15
- package/lib/Routers/PushRouter.js +2 -18
- package/lib/Routers/RolesRouter.js +1 -7
- package/lib/Routers/SchemasRouter.js +4 -34
- package/lib/Routers/SecurityRouter.js +1 -12
- package/lib/Routers/SessionsRouter.js +3 -19
- package/lib/Routers/UsersRouter.js +58 -155
- package/lib/SchemaMigrations/DefinedSchemas.js +56 -115
- package/lib/SchemaMigrations/Migrations.js +2 -8
- package/lib/Security/Check.js +8 -16
- package/lib/Security/CheckGroup.js +4 -11
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +8 -18
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +5 -15
- package/lib/Security/CheckGroups/CheckGroups.js +1 -4
- package/lib/Security/CheckRunner.js +22 -41
- package/lib/StatusHandler.js +12 -69
- package/lib/TestUtils.js +1 -6
- package/lib/Utils.js +27 -66
- package/lib/batch.js +17 -28
- package/lib/cache.js +1 -3
- package/lib/cli/definitions/parse-live-query-server.js +1 -3
- package/lib/cli/definitions/parse-server.js +1 -3
- package/lib/cli/parse-live-query-server.js +1 -6
- package/lib/cli/parse-server.js +11 -21
- package/lib/cli/utils/commander.js +13 -51
- package/lib/cli/utils/runner.js +1 -14
- package/lib/cloud-code/Parse.Cloud.js +71 -92
- package/lib/cryptoUtils.js +11 -19
- package/lib/defaults.js +2 -14
- package/lib/deprecated.js +1 -2
- package/lib/index.js +16 -34
- package/lib/logger.js +6 -13
- package/lib/middlewares.js +147 -151
- package/lib/password.js +6 -10
- package/lib/request.js +173 -2
- package/lib/requiredParameter.js +1 -3
- package/lib/rest.js +19 -41
- package/lib/triggers.js +54 -252
- package/lib/vendor/mongodbUrl.js +125 -305
- package/package.json +22 -19
- package/lib/cloud-code/HTTPResponse.js +0 -73
- package/lib/cloud-code/httpRequest.js +0 -192
|
@@ -4,68 +4,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformInputTypeToGraphQL = void 0;
|
|
7
|
-
|
|
8
7
|
var _graphql = require("graphql");
|
|
9
|
-
|
|
10
8
|
var defaultGraphQLTypes = _interopRequireWildcard(require("../loaders/defaultGraphQLTypes"));
|
|
11
|
-
|
|
12
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
-
|
|
14
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
-
|
|
16
11
|
const transformInputTypeToGraphQL = (parseType, targetClass, parseClassTypes) => {
|
|
17
12
|
switch (parseType) {
|
|
18
13
|
case 'String':
|
|
19
14
|
return _graphql.GraphQLString;
|
|
20
|
-
|
|
21
15
|
case 'Number':
|
|
22
16
|
return _graphql.GraphQLFloat;
|
|
23
|
-
|
|
24
17
|
case 'Boolean':
|
|
25
18
|
return _graphql.GraphQLBoolean;
|
|
26
|
-
|
|
27
19
|
case 'Array':
|
|
28
20
|
return new _graphql.GraphQLList(defaultGraphQLTypes.ANY);
|
|
29
|
-
|
|
30
21
|
case 'Object':
|
|
31
22
|
return defaultGraphQLTypes.OBJECT;
|
|
32
|
-
|
|
33
23
|
case 'Date':
|
|
34
24
|
return defaultGraphQLTypes.DATE;
|
|
35
|
-
|
|
36
25
|
case 'Pointer':
|
|
37
26
|
if (parseClassTypes && parseClassTypes[targetClass] && parseClassTypes[targetClass].classGraphQLPointerType) {
|
|
38
27
|
return parseClassTypes[targetClass].classGraphQLPointerType;
|
|
39
28
|
} else {
|
|
40
29
|
return defaultGraphQLTypes.OBJECT;
|
|
41
30
|
}
|
|
42
|
-
|
|
43
31
|
case 'Relation':
|
|
44
32
|
if (parseClassTypes && parseClassTypes[targetClass] && parseClassTypes[targetClass].classGraphQLRelationType) {
|
|
45
33
|
return parseClassTypes[targetClass].classGraphQLRelationType;
|
|
46
34
|
} else {
|
|
47
35
|
return defaultGraphQLTypes.OBJECT;
|
|
48
36
|
}
|
|
49
|
-
|
|
50
37
|
case 'File':
|
|
51
38
|
return defaultGraphQLTypes.FILE_INPUT;
|
|
52
|
-
|
|
53
39
|
case 'GeoPoint':
|
|
54
40
|
return defaultGraphQLTypes.GEO_POINT_INPUT;
|
|
55
|
-
|
|
56
41
|
case 'Polygon':
|
|
57
42
|
return defaultGraphQLTypes.POLYGON_INPUT;
|
|
58
|
-
|
|
59
43
|
case 'Bytes':
|
|
60
44
|
return defaultGraphQLTypes.BYTES;
|
|
61
|
-
|
|
62
45
|
case 'ACL':
|
|
63
46
|
return defaultGraphQLTypes.ACL_INPUT;
|
|
64
|
-
|
|
65
47
|
default:
|
|
66
48
|
return undefined;
|
|
67
49
|
}
|
|
68
50
|
};
|
|
69
|
-
|
|
70
51
|
exports.transformInputTypeToGraphQL = transformInputTypeToGraphQL;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnB1dFR5cGVUb0dyYXBoUUwiLCJwYXJzZVR5cGUiLCJ0YXJnZXRDbGFzcyIsInBhcnNlQ2xhc3NUeXBlcyIsIkdyYXBoUUxTdHJpbmciLCJHcmFwaFFMRmxvYXQiLCJHcmFwaFFMQm9vbGVhbiIsIkdyYXBoUUxMaXN0IiwiZGVmYXVsdEdyYXBoUUxUeXBlcyIsIkFOWSIsIk9CSkVDVCIsIkRBVEUiLCJjbGFzc0dyYXBoUUxQb2ludGVyVHlwZSIsImNsYXNzR3JhcGhRTFJlbGF0aW9uVHlwZSIsIkZJTEVfSU5QVVQiLCJHRU9fUE9JTlRfSU5QVVQiLCJQT0xZR09OX0lOUFVUIiwiQllURVMiLCJBQ0xfSU5QVVQiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC90cmFuc2Zvcm1lcnMvaW5wdXRUeXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxTdHJpbmcsIEdyYXBoUUxGbG9hdCwgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxMaXN0IH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5cbmNvbnN0IHRyYW5zZm9ybUlucHV0VHlwZVRvR3JhcGhRTCA9IChwYXJzZVR5cGUsIHRhcmdldENsYXNzLCBwYXJzZUNsYXNzVHlwZXMpID0+IHtcbiAgc3dpdGNoIChwYXJzZVR5cGUpIHtcbiAgICBjYXNlICdTdHJpbmcnOlxuICAgICAgcmV0dXJuIEdyYXBoUUxTdHJpbmc7XG4gICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIHJldHVybiBHcmFwaFFMRmxvYXQ7XG4gICAgY2FzZSAnQm9vbGVhbic6XG4gICAgICByZXR1cm4gR3JhcGhRTEJvb2xlYW47XG4gICAgY2FzZSAnQXJyYXknOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFFMTGlzdChkZWZhdWx0R3JhcGhRTFR5cGVzLkFOWSk7XG4gICAgY2FzZSAnT2JqZWN0JzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLk9CSkVDVDtcbiAgICBjYXNlICdEYXRlJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkRBVEU7XG4gICAgY2FzZSAnUG9pbnRlcic6XG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlcyAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdICYmXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlc1t0YXJnZXRDbGFzc10uY2xhc3NHcmFwaFFMUG9pbnRlclR5cGVcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gcGFyc2VDbGFzc1R5cGVzW3RhcmdldENsYXNzXS5jbGFzc0dyYXBoUUxQb2ludGVyVHlwZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLk9CSkVDVDtcbiAgICAgIH1cbiAgICBjYXNlICdSZWxhdGlvbic6XG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlcyAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdICYmXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlc1t0YXJnZXRDbGFzc10uY2xhc3NHcmFwaFFMUmVsYXRpb25UeXBlXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlQ2xhc3NUeXBlc1t0YXJnZXRDbGFzc10uY2xhc3NHcmFwaFFMUmVsYXRpb25UeXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuT0JKRUNUO1xuICAgICAgfVxuICAgIGNhc2UgJ0ZpbGUnOlxuICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTlBVVDtcbiAgICBjYXNlICdHZW9Qb2ludCc6XG4gICAgICByZXR1cm4gZGVmYXVsdEdyYXBoUUxUeXBlcy5HRU9fUE9JTlRfSU5QVVQ7XG4gICAgY2FzZSAnUG9seWdvbic6XG4gICAgICByZXR1cm4gZGVmYXVsdEdyYXBoUUxUeXBlcy5QT0xZR09OX0lOUFVUO1xuICAgIGNhc2UgJ0J5dGVzJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkJZVEVTO1xuICAgIGNhc2UgJ0FDTCc6XG4gICAgICByZXR1cm4gZGVmYXVsdEdyYXBoUUxUeXBlcy5BQ0xfSU5QVVQ7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbmV4cG9ydCB7IHRyYW5zZm9ybUlucHV0VHlwZVRvR3JhcGhRTCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQXNFO0FBQUE7QUFFdEUsTUFBTUEsMkJBQTJCLEdBQUcsQ0FBQ0MsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsS0FBSztFQUMvRSxRQUFRRixTQUFTO0lBQ2YsS0FBSyxRQUFRO01BQ1gsT0FBT0csc0JBQWE7SUFDdEIsS0FBSyxRQUFRO01BQ1gsT0FBT0MscUJBQVk7SUFDckIsS0FBSyxTQUFTO01BQ1osT0FBT0MsdUJBQWM7SUFDdkIsS0FBSyxPQUFPO01BQ1YsT0FBTyxJQUFJQyxvQkFBVyxDQUFDQyxtQkFBbUIsQ0FBQ0MsR0FBRyxDQUFDO0lBQ2pELEtBQUssUUFBUTtNQUNYLE9BQU9ELG1CQUFtQixDQUFDRSxNQUFNO0lBQ25DLEtBQUssTUFBTTtNQUNULE9BQU9GLG1CQUFtQixDQUFDRyxJQUFJO0lBQ2pDLEtBQUssU0FBUztNQUNaLElBQ0VSLGVBQWUsSUFDZkEsZUFBZSxDQUFDRCxXQUFXLENBQUMsSUFDNUJDLGVBQWUsQ0FBQ0QsV0FBVyxDQUFDLENBQUNVLHVCQUF1QixFQUNwRDtRQUNBLE9BQU9ULGVBQWUsQ0FBQ0QsV0FBVyxDQUFDLENBQUNVLHVCQUF1QjtNQUM3RCxDQUFDLE1BQU07UUFDTCxPQUFPSixtQkFBbUIsQ0FBQ0UsTUFBTTtNQUNuQztJQUNGLEtBQUssVUFBVTtNQUNiLElBQ0VQLGVBQWUsSUFDZkEsZUFBZSxDQUFDRCxXQUFXLENBQUMsSUFDNUJDLGVBQWUsQ0FBQ0QsV0FBVyxDQUFDLENBQUNXLHdCQUF3QixFQUNyRDtRQUNBLE9BQU9WLGVBQWUsQ0FBQ0QsV0FBVyxDQUFDLENBQUNXLHdCQUF3QjtNQUM5RCxDQUFDLE1BQU07UUFDTCxPQUFPTCxtQkFBbUIsQ0FBQ0UsTUFBTTtNQUNuQztJQUNGLEtBQUssTUFBTTtNQUNULE9BQU9GLG1CQUFtQixDQUFDTSxVQUFVO0lBQ3ZDLEtBQUssVUFBVTtNQUNiLE9BQU9OLG1CQUFtQixDQUFDTyxlQUFlO0lBQzVDLEtBQUssU0FBUztNQUNaLE9BQU9QLG1CQUFtQixDQUFDUSxhQUFhO0lBQzFDLEtBQUssT0FBTztNQUNWLE9BQU9SLG1CQUFtQixDQUFDUyxLQUFLO0lBQ2xDLEtBQUssS0FBSztNQUNSLE9BQU9ULG1CQUFtQixDQUFDVSxTQUFTO0lBQ3RDO01BQ0UsT0FBT0MsU0FBUztFQUFDO0FBRXZCLENBQUM7QUFBQyJ9
|
|
@@ -4,29 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformTypes = void 0;
|
|
7
|
-
|
|
8
7
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
9
|
-
|
|
10
8
|
var _graphqlRelay = require("graphql-relay");
|
|
11
|
-
|
|
12
9
|
var _filesMutations = require("../loaders/filesMutations");
|
|
13
|
-
|
|
14
10
|
var defaultGraphQLTypes = _interopRequireWildcard(require("../loaders/defaultGraphQLTypes"));
|
|
15
|
-
|
|
16
11
|
var objectsMutations = _interopRequireWildcard(require("../helpers/objectsMutations"));
|
|
17
|
-
|
|
18
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
function
|
|
27
|
-
|
|
28
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
-
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
19
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
30
20
|
const transformTypes = async (inputType, fields, {
|
|
31
21
|
className,
|
|
32
22
|
parseGraphQLSchema,
|
|
@@ -41,19 +31,16 @@ const transformTypes = async (inputType, fields, {
|
|
|
41
31
|
}
|
|
42
32
|
} = parseGraphQLSchema.parseClassTypes[className];
|
|
43
33
|
const parseClass = parseGraphQLSchema.parseClasses[className];
|
|
44
|
-
|
|
45
34
|
if (fields) {
|
|
46
35
|
const classGraphQLCreateTypeFields = isCreateEnabled && classGraphQLCreateType ? classGraphQLCreateType.getFields() : null;
|
|
47
36
|
const classGraphQLUpdateTypeFields = isUpdateEnabled && classGraphQLUpdateType ? classGraphQLUpdateType.getFields() : null;
|
|
48
37
|
const promises = Object.keys(fields).map(async field => {
|
|
49
38
|
let inputTypeField;
|
|
50
|
-
|
|
51
39
|
if (inputType === 'create' && classGraphQLCreateTypeFields) {
|
|
52
40
|
inputTypeField = classGraphQLCreateTypeFields[field];
|
|
53
41
|
} else if (classGraphQLUpdateTypeFields) {
|
|
54
42
|
inputTypeField = classGraphQLUpdateTypeFields[field];
|
|
55
43
|
}
|
|
56
|
-
|
|
57
44
|
if (inputTypeField) {
|
|
58
45
|
switch (true) {
|
|
59
46
|
case inputTypeField.type === defaultGraphQLTypes.GEO_POINT_INPUT:
|
|
@@ -63,10 +50,8 @@ const transformTypes = async (inputType, fields, {
|
|
|
63
50
|
};
|
|
64
51
|
break;
|
|
65
52
|
}
|
|
66
|
-
|
|
67
53
|
fields[field] = transformers.geoPoint(fields[field]);
|
|
68
54
|
break;
|
|
69
|
-
|
|
70
55
|
case inputTypeField.type === defaultGraphQLTypes.POLYGON_INPUT:
|
|
71
56
|
if (fields[field] === null) {
|
|
72
57
|
fields[field] = {
|
|
@@ -74,18 +59,14 @@ const transformTypes = async (inputType, fields, {
|
|
|
74
59
|
};
|
|
75
60
|
break;
|
|
76
61
|
}
|
|
77
|
-
|
|
78
62
|
fields[field] = transformers.polygon(fields[field]);
|
|
79
63
|
break;
|
|
80
|
-
|
|
81
64
|
case inputTypeField.type === defaultGraphQLTypes.FILE_INPUT:
|
|
82
65
|
fields[field] = await transformers.file(fields[field], req);
|
|
83
66
|
break;
|
|
84
|
-
|
|
85
67
|
case parseClass.fields[field].type === 'Relation':
|
|
86
68
|
fields[field] = await transformers.relation(parseClass.fields[field].targetClass, field, fields[field], parseGraphQLSchema, req);
|
|
87
69
|
break;
|
|
88
|
-
|
|
89
70
|
case parseClass.fields[field].type === 'Pointer':
|
|
90
71
|
if (fields[field] === null) {
|
|
91
72
|
fields[field] = {
|
|
@@ -93,10 +74,8 @@ const transformTypes = async (inputType, fields, {
|
|
|
93
74
|
};
|
|
94
75
|
break;
|
|
95
76
|
}
|
|
96
|
-
|
|
97
77
|
fields[field] = await transformers.pointer(parseClass.fields[field].targetClass, field, fields[field], parseGraphQLSchema, req);
|
|
98
78
|
break;
|
|
99
|
-
|
|
100
79
|
default:
|
|
101
80
|
if (fields[field] === null) {
|
|
102
81
|
fields[field] = {
|
|
@@ -104,7 +83,6 @@ const transformTypes = async (inputType, fields, {
|
|
|
104
83
|
};
|
|
105
84
|
return;
|
|
106
85
|
}
|
|
107
|
-
|
|
108
86
|
break;
|
|
109
87
|
}
|
|
110
88
|
}
|
|
@@ -112,10 +90,8 @@ const transformTypes = async (inputType, fields, {
|
|
|
112
90
|
await Promise.all(promises);
|
|
113
91
|
if (fields.ACL) fields.ACL = transformers.ACL(fields.ACL);
|
|
114
92
|
}
|
|
115
|
-
|
|
116
93
|
return fields;
|
|
117
94
|
};
|
|
118
|
-
|
|
119
95
|
exports.transformTypes = transformTypes;
|
|
120
96
|
const transformers = {
|
|
121
97
|
file: async (input, {
|
|
@@ -126,12 +102,10 @@ const transformers = {
|
|
|
126
102
|
__op: 'Delete'
|
|
127
103
|
};
|
|
128
104
|
}
|
|
129
|
-
|
|
130
105
|
const {
|
|
131
106
|
file,
|
|
132
107
|
upload
|
|
133
108
|
} = input;
|
|
134
|
-
|
|
135
109
|
if (upload) {
|
|
136
110
|
const {
|
|
137
111
|
fileInfo
|
|
@@ -146,7 +120,6 @@ const transformers = {
|
|
|
146
120
|
url: file.url
|
|
147
121
|
};
|
|
148
122
|
}
|
|
149
|
-
|
|
150
123
|
throw new _node.default.Error(_node.default.Error.FILE_SAVE_ERROR, 'Invalid file upload.');
|
|
151
124
|
},
|
|
152
125
|
polygon: value => ({
|
|
@@ -158,29 +131,24 @@ const transformers = {
|
|
|
158
131
|
}),
|
|
159
132
|
ACL: value => {
|
|
160
133
|
const parseACL = {};
|
|
161
|
-
|
|
162
134
|
if (value.public) {
|
|
163
135
|
parseACL['*'] = {
|
|
164
136
|
read: value.public.read,
|
|
165
137
|
write: value.public.write
|
|
166
138
|
};
|
|
167
139
|
}
|
|
168
|
-
|
|
169
140
|
if (value.users) {
|
|
170
141
|
value.users.forEach(rule => {
|
|
171
142
|
const globalIdObject = (0, _graphqlRelay.fromGlobalId)(rule.userId);
|
|
172
|
-
|
|
173
143
|
if (globalIdObject.type === '_User') {
|
|
174
144
|
rule.userId = globalIdObject.id;
|
|
175
145
|
}
|
|
176
|
-
|
|
177
146
|
parseACL[rule.userId] = {
|
|
178
147
|
read: rule.read,
|
|
179
148
|
write: rule.write
|
|
180
149
|
};
|
|
181
150
|
});
|
|
182
151
|
}
|
|
183
|
-
|
|
184
152
|
if (value.roles) {
|
|
185
153
|
value.roles.forEach(rule => {
|
|
186
154
|
parseACL[`role:${rule.roleName}`] = {
|
|
@@ -189,7 +157,6 @@ const transformers = {
|
|
|
189
157
|
};
|
|
190
158
|
});
|
|
191
159
|
}
|
|
192
|
-
|
|
193
160
|
return parseACL;
|
|
194
161
|
},
|
|
195
162
|
relation: async (targetClass, field, value, parseGraphQLSchema, {
|
|
@@ -203,7 +170,6 @@ const transformers = {
|
|
|
203
170
|
ops: []
|
|
204
171
|
};
|
|
205
172
|
let nestedObjectsToAdd = [];
|
|
206
|
-
|
|
207
173
|
if (value.createAndAdd) {
|
|
208
174
|
nestedObjectsToAdd = (await Promise.all(value.createAndAdd.map(async input => {
|
|
209
175
|
const parseFields = await transformTypes('create', input, {
|
|
@@ -222,16 +188,13 @@ const transformers = {
|
|
|
222
188
|
objectId: object.objectId
|
|
223
189
|
}));
|
|
224
190
|
}
|
|
225
|
-
|
|
226
191
|
if (value.add || nestedObjectsToAdd.length > 0) {
|
|
227
192
|
if (!value.add) value.add = [];
|
|
228
193
|
value.add = value.add.map(input => {
|
|
229
194
|
const globalIdObject = (0, _graphqlRelay.fromGlobalId)(input);
|
|
230
|
-
|
|
231
195
|
if (globalIdObject.type === targetClass) {
|
|
232
196
|
input = globalIdObject.id;
|
|
233
197
|
}
|
|
234
|
-
|
|
235
198
|
return {
|
|
236
199
|
__type: 'Pointer',
|
|
237
200
|
className: targetClass,
|
|
@@ -243,17 +206,14 @@ const transformers = {
|
|
|
243
206
|
objects: [...value.add, ...nestedObjectsToAdd]
|
|
244
207
|
});
|
|
245
208
|
}
|
|
246
|
-
|
|
247
209
|
if (value.remove) {
|
|
248
210
|
op.ops.push({
|
|
249
211
|
__op: 'RemoveRelation',
|
|
250
212
|
objects: value.remove.map(input => {
|
|
251
213
|
const globalIdObject = (0, _graphqlRelay.fromGlobalId)(input);
|
|
252
|
-
|
|
253
214
|
if (globalIdObject.type === targetClass) {
|
|
254
215
|
input = globalIdObject.id;
|
|
255
216
|
}
|
|
256
|
-
|
|
257
217
|
return {
|
|
258
218
|
__type: 'Pointer',
|
|
259
219
|
className: targetClass,
|
|
@@ -262,7 +222,6 @@ const transformers = {
|
|
|
262
222
|
})
|
|
263
223
|
});
|
|
264
224
|
}
|
|
265
|
-
|
|
266
225
|
return op;
|
|
267
226
|
},
|
|
268
227
|
pointer: async (targetClass, field, value, parseGraphQLSchema, {
|
|
@@ -272,7 +231,6 @@ const transformers = {
|
|
|
272
231
|
}) => {
|
|
273
232
|
if (Object.keys(value).length > 1 || Object.keys(value).length === 0) throw new _node.default.Error(_node.default.Error.INVALID_POINTER, `You need to provide link OR createLink on the pointer mutation of field ${field}`);
|
|
274
233
|
let nestedObjectToAdd;
|
|
275
|
-
|
|
276
234
|
if (value.createAndLink) {
|
|
277
235
|
const parseFields = await transformTypes('create', value.createAndLink, {
|
|
278
236
|
className: targetClass,
|
|
@@ -290,15 +248,12 @@ const transformers = {
|
|
|
290
248
|
objectId: nestedObjectToAdd.objectId
|
|
291
249
|
};
|
|
292
250
|
}
|
|
293
|
-
|
|
294
251
|
if (value.link) {
|
|
295
252
|
let objectId = value.link;
|
|
296
253
|
const globalIdObject = (0, _graphqlRelay.fromGlobalId)(objectId);
|
|
297
|
-
|
|
298
254
|
if (globalIdObject.type === targetClass) {
|
|
299
255
|
objectId = globalIdObject.id;
|
|
300
256
|
}
|
|
301
|
-
|
|
302
257
|
return {
|
|
303
258
|
__type: 'Pointer',
|
|
304
259
|
className: targetClass,
|
|
@@ -307,4 +262,4 @@ const transformers = {
|
|
|
307
262
|
}
|
|
308
263
|
}
|
|
309
264
|
};
|
|
310
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9tdXRhdGlvbi5qcyJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1UeXBlcyIsImlucHV0VHlwZSIsImZpZWxkcyIsImNsYXNzTmFtZSIsInBhcnNlR3JhcGhRTFNjaGVtYSIsInJlcSIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiZmllbGQiLCJpbnB1dFR5cGVGaWVsZCIsInR5cGUiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiR0VPX1BPSU5UX0lOUFVUIiwiX19vcCIsInRyYW5zZm9ybWVycyIsImdlb1BvaW50IiwiUE9MWUdPTl9JTlBVVCIsInBvbHlnb24iLCJGSUxFX0lOUFVUIiwiZmlsZSIsInJlbGF0aW9uIiwidGFyZ2V0Q2xhc3MiLCJwb2ludGVyIiwiUHJvbWlzZSIsImFsbCIsIkFDTCIsImlucHV0IiwidXBsb2FkIiwiZmlsZUluZm8iLCJfX3R5cGUiLCJuYW1lIiwidXJsIiwiUGFyc2UiLCJFcnJvciIsIkZJTEVfU0FWRV9FUlJPUiIsInZhbHVlIiwiY29vcmRpbmF0ZXMiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInBhcnNlQUNMIiwicHVibGljIiwicmVhZCIsIndyaXRlIiwidXNlcnMiLCJmb3JFYWNoIiwicnVsZSIsImdsb2JhbElkT2JqZWN0IiwidXNlcklkIiwiaWQiLCJyb2xlcyIsInJvbGVOYW1lIiwiYXV0aCIsImluZm8iLCJsZW5ndGgiLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwib2JqZWN0c011dGF0aW9ucyIsImNyZWF0ZU9iamVjdCIsIm9iamVjdCIsIm9iamVjdElkIiwiYWRkIiwicHVzaCIsIm9iamVjdHMiLCJyZW1vdmUiLCJuZXN0ZWRPYmplY3RUb0FkZCIsImNyZWF0ZUFuZExpbmsiLCJsaW5rIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLE9BQ3JCQyxTQURxQixFQUVyQkMsTUFGcUIsRUFHckI7QUFBRUMsRUFBQUEsU0FBRjtBQUFhQyxFQUFBQSxrQkFBYjtBQUFpQ0MsRUFBQUE7QUFBakMsQ0FIcUIsS0FJbEI7QUFDSCxRQUFNO0FBQ0pDLElBQUFBLHNCQURJO0FBRUpDLElBQUFBLHNCQUZJO0FBR0pDLElBQUFBLE1BQU0sRUFBRTtBQUFFQyxNQUFBQSxlQUFGO0FBQW1CQyxNQUFBQTtBQUFuQjtBQUhKLE1BSUZOLGtCQUFrQixDQUFDTyxlQUFuQixDQUFtQ1IsU0FBbkMsQ0FKSjtBQUtBLFFBQU1TLFVBQVUsR0FBR1Isa0JBQWtCLENBQUNTLFlBQW5CLENBQWdDVixTQUFoQyxDQUFuQjs7QUFDQSxNQUFJRCxNQUFKLEVBQVk7QUFDVixVQUFNWSw0QkFBNEIsR0FDaENMLGVBQWUsSUFBSUgsc0JBQW5CLEdBQTRDQSxzQkFBc0IsQ0FBQ1MsU0FBdkIsRUFBNUMsR0FBaUYsSUFEbkY7QUFFQSxVQUFNQyw0QkFBNEIsR0FDaENOLGVBQWUsSUFBSUgsc0JBQW5CLEdBQTRDQSxzQkFBc0IsQ0FBQ1EsU0FBdkIsRUFBNUMsR0FBaUYsSUFEbkY7QUFFQSxVQUFNRSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZakIsTUFBWixFQUFvQmtCLEdBQXBCLENBQXdCLE1BQU1DLEtBQU4sSUFBZTtBQUN0RCxVQUFJQyxjQUFKOztBQUNBLFVBQUlyQixTQUFTLEtBQUss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QUFLRDtBQUNGO0FBaEtrQixDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IGZyb21HbG9iYWxJZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHsgaGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vbG9hZGVycy9maWxlc011dGF0aW9ucyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgKiBhcyBvYmplY3RzTXV0YXRpb25zIGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0c011dGF0aW9ucyc7XG5cbmNvbnN0IHRyYW5zZm9ybVR5cGVzID0gYXN5bmMgKFxuICBpbnB1dFR5cGU6ICdjcmVhdGUnIHwgJ3VwZGF0ZScsXG4gIGZpZWxkcyxcbiAgeyBjbGFzc05hbWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgcmVxIH1cbikgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSxcbiAgICBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLFxuICAgIGNvbmZpZzogeyBpc0NyZWF0ZUVuYWJsZWQsIGlzVXBkYXRlRW5hYmxlZCB9LFxuICB9ID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3NUeXBlc1tjbGFzc05hbWVdO1xuICBjb25zdCBwYXJzZUNsYXNzID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdO1xuICBpZiAoZmllbGRzKSB7XG4gICAgY29uc3QgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkcyA9XG4gICAgICBpc0NyZWF0ZUVuYWJsZWQgJiYgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSA/IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUuZ2V0RmllbGRzKCkgOiBudWxsO1xuICAgIGNvbnN0IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHMgPVxuICAgICAgaXNVcGRhdGVFbmFibGVkICYmIGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGUgPyBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLmdldEZpZWxkcygpIDogbnVsbDtcbiAgICBjb25zdCBwcm9taXNlcyA9IE9iamVjdC5rZXlzKGZpZWxkcykubWFwKGFzeW5jIGZpZWxkID0+IHtcbiAgICAgIGxldCBpbnB1dFR5cGVGaWVsZDtcbiAgICAgIGlmIChpbnB1dFR5cGUgPT09ICdjcmVhdGUnICYmIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMpIHtcbiAgICAgICAgaW5wdXRUeXBlRmllbGQgPSBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzW2ZpZWxkXTtcbiAgICAgIH0gZWxzZSBpZiAoY2xhc3NHcmFwaFFMVXBkYXRlVHlwZUZpZWxkcykge1xuICAgICAgICBpbnB1dFR5cGVGaWVsZCA9IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHNbZmllbGRdO1xuICAgICAgfVxuICAgICAgaWYgKGlucHV0VHlwZUZpZWxkKSB7XG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5HRU9fUE9JTlRfSU5QVVQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB0cmFuc2Zvcm1lcnMuZ2VvUG9pbnQoZmllbGRzW2ZpZWxkXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuUE9MWUdPTl9JTlBVVDpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHRyYW5zZm9ybWVycy5wb2x5Z29uKGZpZWxkc1tmaWVsZF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLkZJTEVfSU5QVVQ6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLmZpbGUoZmllbGRzW2ZpZWxkXSwgcmVxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdSZWxhdGlvbic6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLnJlbGF0aW9uKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdQb2ludGVyJzpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5wb2ludGVyKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICBpZiAoZmllbGRzLkFDTCkgZmllbGRzLkFDTCA9IHRyYW5zZm9ybWVycy5BQ0woZmllbGRzLkFDTCk7XG4gIH1cbiAgcmV0dXJuIGZpZWxkcztcbn07XG5cbmNvbnN0IHRyYW5zZm9ybWVycyA9IHtcbiAgZmlsZTogYXN5bmMgKGlucHV0LCB7IGNvbmZpZyB9KSA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgIH1cbiAgICBjb25zdCB7IGZpbGUsIHVwbG9hZCB9ID0gaW5wdXQ7XG4gICAgaWYgKHVwbG9hZCkge1xuICAgICAgY29uc3QgeyBmaWxlSW5mbyB9ID0gYXdhaXQgaGFuZGxlVXBsb2FkKHVwbG9hZCwgY29uZmlnKTtcbiAgICAgIHJldHVybiB7IC4uLmZpbGVJbmZvLCBfX3R5cGU6ICdGaWxlJyB9O1xuICAgIH0gZWxzZSBpZiAoZmlsZSAmJiBmaWxlLm5hbWUpIHtcbiAgICAgIHJldHVybiB7IG5hbWU6IGZpbGUubmFtZSwgX190eXBlOiAnRmlsZScsIHVybDogZmlsZS51cmwgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgJ0ludmFsaWQgZmlsZSB1cGxvYWQuJyk7XG4gIH0sXG4gIHBvbHlnb246IHZhbHVlID0+ICh7XG4gICAgX190eXBlOiAnUG9seWdvbicsXG4gICAgY29vcmRpbmF0ZXM6IHZhbHVlLm1hcChnZW9Qb2ludCA9PiBbZ2VvUG9pbnQubGF0aXR1ZGUsIGdlb1BvaW50LmxvbmdpdHVkZV0pLFxuICB9KSxcbiAgZ2VvUG9pbnQ6IHZhbHVlID0+ICh7XG4gICAgLi4udmFsdWUsXG4gICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICB9KSxcbiAgQUNMOiB2YWx1ZSA9PiB7XG4gICAgY29uc3QgcGFyc2VBQ0wgPSB7fTtcbiAgICBpZiAodmFsdWUucHVibGljKSB7XG4gICAgICBwYXJzZUFDTFsnKiddID0ge1xuICAgICAgICByZWFkOiB2YWx1ZS5wdWJsaWMucmVhZCxcbiAgICAgICAgd3JpdGU6IHZhbHVlLnB1YmxpYy53cml0ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS51c2Vycykge1xuICAgICAgdmFsdWUudXNlcnMuZm9yRWFjaChydWxlID0+IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQocnVsZS51c2VySWQpO1xuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgIHJ1bGUudXNlcklkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VBQ0xbcnVsZS51c2VySWRdID0ge1xuICAgICAgICAgIHJlYWQ6IHJ1bGUucmVhZCxcbiAgICAgICAgICB3cml0ZTogcnVsZS53cml0ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodmFsdWUucm9sZXMpIHtcbiAgICAgIHZhbHVlLnJvbGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIHBhcnNlQUNMW2Byb2xlOiR7cnVsZS5yb2xlTmFtZX1gXSA9IHtcbiAgICAgICAgICByZWFkOiBydWxlLnJlYWQsXG4gICAgICAgICAgd3JpdGU6IHJ1bGUud3JpdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlQUNMO1xuICB9LFxuICByZWxhdGlvbjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGF0IGxlYXN0IG9uZSBvcGVyYXRpb24gb24gdGhlIHJlbGF0aW9uIG11dGF0aW9uIG9mIGZpZWxkICR7ZmllbGR9YFxuICAgICAgKTtcblxuICAgIGNvbnN0IG9wID0ge1xuICAgICAgX19vcDogJ0JhdGNoJyxcbiAgICAgIG9wczogW10sXG4gICAgfTtcbiAgICBsZXQgbmVzdGVkT2JqZWN0c1RvQWRkID0gW107XG5cbiAgICBpZiAodmFsdWUuY3JlYXRlQW5kQWRkKSB7XG4gICAgICBuZXN0ZWRPYmplY3RzVG9BZGQgPSAoXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIHZhbHVlLmNyZWF0ZUFuZEFkZC5tYXAoYXN5bmMgaW5wdXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VGaWVsZHMgPSBhd2FpdCB0cmFuc2Zvcm1UeXBlcygnY3JlYXRlJywgaW5wdXQsIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3RzTXV0YXRpb25zLmNyZWF0ZU9iamVjdCh0YXJnZXRDbGFzcywgcGFyc2VGaWVsZHMsIGNvbmZpZywgYXV0aCwgaW5mbyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKS5tYXAob2JqZWN0ID0+ICh7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogb2JqZWN0Lm9iamVjdElkLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5hZGQgfHwgbmVzdGVkT2JqZWN0c1RvQWRkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICghdmFsdWUuYWRkKSB2YWx1ZS5hZGQgPSBbXTtcbiAgICAgIHZhbHVlLmFkZCA9IHZhbHVlLmFkZC5tYXAoaW5wdXQgPT4ge1xuICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICAgIGlucHV0ID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgIG9iamVjdElkOiBpbnB1dCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnQWRkUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiBbLi4udmFsdWUuYWRkLCAuLi5uZXN0ZWRPYmplY3RzVG9BZGRdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLnJlbW92ZSkge1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnUmVtb3ZlUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiB2YWx1ZS5yZW1vdmUubWFwKGlucHV0ID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgICAgICBpbnB1dCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgICAgb2JqZWN0SWQ6IGlucHV0LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfSxcbiAgcG9pbnRlcjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID4gMSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGxpbmsgT1IgY3JlYXRlTGluayBvbiB0aGUgcG9pbnRlciBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBsZXQgbmVzdGVkT2JqZWN0VG9BZGQ7XG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZExpbmspIHtcbiAgICAgIGNvbnN0IHBhcnNlRmllbGRzID0gYXdhaXQgdHJhbnNmb3JtVHlwZXMoJ2NyZWF0ZScsIHZhbHVlLmNyZWF0ZUFuZExpbmssIHtcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICB9KTtcbiAgICAgIG5lc3RlZE9iamVjdFRvQWRkID0gYXdhaXQgb2JqZWN0c011dGF0aW9ucy5jcmVhdGVPYmplY3QoXG4gICAgICAgIHRhcmdldENsYXNzLFxuICAgICAgICBwYXJzZUZpZWxkcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBhdXRoLFxuICAgICAgICBpbmZvXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkOiBuZXN0ZWRPYmplY3RUb0FkZC5vYmplY3RJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS5saW5rKSB7XG4gICAgICBsZXQgb2JqZWN0SWQgPSB2YWx1ZS5saW5rO1xuICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQob2JqZWN0SWQpO1xuICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgIG9iamVjdElkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgfSxcbn07XG5cbmV4cG9ydCB7IHRyYW5zZm9ybVR5cGVzIH07XG4iXX0=
|
|
265
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmFuc2Zvcm1UeXBlcyIsImlucHV0VHlwZSIsImZpZWxkcyIsImNsYXNzTmFtZSIsInBhcnNlR3JhcGhRTFNjaGVtYSIsInJlcSIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiZmllbGQiLCJpbnB1dFR5cGVGaWVsZCIsInR5cGUiLCJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiR0VPX1BPSU5UX0lOUFVUIiwiX19vcCIsInRyYW5zZm9ybWVycyIsImdlb1BvaW50IiwiUE9MWUdPTl9JTlBVVCIsInBvbHlnb24iLCJGSUxFX0lOUFVUIiwiZmlsZSIsInJlbGF0aW9uIiwidGFyZ2V0Q2xhc3MiLCJwb2ludGVyIiwiUHJvbWlzZSIsImFsbCIsIkFDTCIsImlucHV0IiwidXBsb2FkIiwiZmlsZUluZm8iLCJoYW5kbGVVcGxvYWQiLCJfX3R5cGUiLCJuYW1lIiwidXJsIiwiUGFyc2UiLCJFcnJvciIsIkZJTEVfU0FWRV9FUlJPUiIsInZhbHVlIiwiY29vcmRpbmF0ZXMiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInBhcnNlQUNMIiwicHVibGljIiwicmVhZCIsIndyaXRlIiwidXNlcnMiLCJmb3JFYWNoIiwicnVsZSIsImdsb2JhbElkT2JqZWN0IiwiZnJvbUdsb2JhbElkIiwidXNlcklkIiwiaWQiLCJyb2xlcyIsInJvbGVOYW1lIiwiYXV0aCIsImluZm8iLCJsZW5ndGgiLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwib2JqZWN0c011dGF0aW9ucyIsImNyZWF0ZU9iamVjdCIsIm9iamVjdCIsIm9iamVjdElkIiwiYWRkIiwicHVzaCIsIm9iamVjdHMiLCJyZW1vdmUiLCJuZXN0ZWRPYmplY3RUb0FkZCIsImNyZWF0ZUFuZExpbmsiLCJsaW5rIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0dyYXBoUUwvdHJhbnNmb3JtZXJzL211dGF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IGZyb21HbG9iYWxJZCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHsgaGFuZGxlVXBsb2FkIH0gZnJvbSAnLi4vbG9hZGVycy9maWxlc011dGF0aW9ucyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgKiBhcyBvYmplY3RzTXV0YXRpb25zIGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0c011dGF0aW9ucyc7XG5cbmNvbnN0IHRyYW5zZm9ybVR5cGVzID0gYXN5bmMgKFxuICBpbnB1dFR5cGU6ICdjcmVhdGUnIHwgJ3VwZGF0ZScsXG4gIGZpZWxkcyxcbiAgeyBjbGFzc05hbWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgcmVxIH1cbikgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSxcbiAgICBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLFxuICAgIGNvbmZpZzogeyBpc0NyZWF0ZUVuYWJsZWQsIGlzVXBkYXRlRW5hYmxlZCB9LFxuICB9ID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3NUeXBlc1tjbGFzc05hbWVdO1xuICBjb25zdCBwYXJzZUNsYXNzID0gcGFyc2VHcmFwaFFMU2NoZW1hLnBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdO1xuICBpZiAoZmllbGRzKSB7XG4gICAgY29uc3QgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkcyA9XG4gICAgICBpc0NyZWF0ZUVuYWJsZWQgJiYgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZSA/IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUuZ2V0RmllbGRzKCkgOiBudWxsO1xuICAgIGNvbnN0IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHMgPVxuICAgICAgaXNVcGRhdGVFbmFibGVkICYmIGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGUgPyBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlLmdldEZpZWxkcygpIDogbnVsbDtcbiAgICBjb25zdCBwcm9taXNlcyA9IE9iamVjdC5rZXlzKGZpZWxkcykubWFwKGFzeW5jIGZpZWxkID0+IHtcbiAgICAgIGxldCBpbnB1dFR5cGVGaWVsZDtcbiAgICAgIGlmIChpbnB1dFR5cGUgPT09ICdjcmVhdGUnICYmIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMpIHtcbiAgICAgICAgaW5wdXRUeXBlRmllbGQgPSBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzW2ZpZWxkXTtcbiAgICAgIH0gZWxzZSBpZiAoY2xhc3NHcmFwaFFMVXBkYXRlVHlwZUZpZWxkcykge1xuICAgICAgICBpbnB1dFR5cGVGaWVsZCA9IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHNbZmllbGRdO1xuICAgICAgfVxuICAgICAgaWYgKGlucHV0VHlwZUZpZWxkKSB7XG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5HRU9fUE9JTlRfSU5QVVQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB0cmFuc2Zvcm1lcnMuZ2VvUG9pbnQoZmllbGRzW2ZpZWxkXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuUE9MWUdPTl9JTlBVVDpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHRyYW5zZm9ybWVycy5wb2x5Z29uKGZpZWxkc1tmaWVsZF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLkZJTEVfSU5QVVQ6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLmZpbGUoZmllbGRzW2ZpZWxkXSwgcmVxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdSZWxhdGlvbic6XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gYXdhaXQgdHJhbnNmb3JtZXJzLnJlbGF0aW9uKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdQb2ludGVyJzpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5wb2ludGVyKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICBpZiAoZmllbGRzLkFDTCkgZmllbGRzLkFDTCA9IHRyYW5zZm9ybWVycy5BQ0woZmllbGRzLkFDTCk7XG4gIH1cbiAgcmV0dXJuIGZpZWxkcztcbn07XG5cbmNvbnN0IHRyYW5zZm9ybWVycyA9IHtcbiAgZmlsZTogYXN5bmMgKGlucHV0LCB7IGNvbmZpZyB9KSA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgIH1cbiAgICBjb25zdCB7IGZpbGUsIHVwbG9hZCB9ID0gaW5wdXQ7XG4gICAgaWYgKHVwbG9hZCkge1xuICAgICAgY29uc3QgeyBmaWxlSW5mbyB9ID0gYXdhaXQgaGFuZGxlVXBsb2FkKHVwbG9hZCwgY29uZmlnKTtcbiAgICAgIHJldHVybiB7IC4uLmZpbGVJbmZvLCBfX3R5cGU6ICdGaWxlJyB9O1xuICAgIH0gZWxzZSBpZiAoZmlsZSAmJiBmaWxlLm5hbWUpIHtcbiAgICAgIHJldHVybiB7IG5hbWU6IGZpbGUubmFtZSwgX190eXBlOiAnRmlsZScsIHVybDogZmlsZS51cmwgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgJ0ludmFsaWQgZmlsZSB1cGxvYWQuJyk7XG4gIH0sXG4gIHBvbHlnb246IHZhbHVlID0+ICh7XG4gICAgX190eXBlOiAnUG9seWdvbicsXG4gICAgY29vcmRpbmF0ZXM6IHZhbHVlLm1hcChnZW9Qb2ludCA9PiBbZ2VvUG9pbnQubGF0aXR1ZGUsIGdlb1BvaW50LmxvbmdpdHVkZV0pLFxuICB9KSxcbiAgZ2VvUG9pbnQ6IHZhbHVlID0+ICh7XG4gICAgLi4udmFsdWUsXG4gICAgX190eXBlOiAnR2VvUG9pbnQnLFxuICB9KSxcbiAgQUNMOiB2YWx1ZSA9PiB7XG4gICAgY29uc3QgcGFyc2VBQ0wgPSB7fTtcbiAgICBpZiAodmFsdWUucHVibGljKSB7XG4gICAgICBwYXJzZUFDTFsnKiddID0ge1xuICAgICAgICByZWFkOiB2YWx1ZS5wdWJsaWMucmVhZCxcbiAgICAgICAgd3JpdGU6IHZhbHVlLnB1YmxpYy53cml0ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS51c2Vycykge1xuICAgICAgdmFsdWUudXNlcnMuZm9yRWFjaChydWxlID0+IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQocnVsZS51c2VySWQpO1xuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gJ19Vc2VyJykge1xuICAgICAgICAgIHJ1bGUudXNlcklkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VBQ0xbcnVsZS51c2VySWRdID0ge1xuICAgICAgICAgIHJlYWQ6IHJ1bGUucmVhZCxcbiAgICAgICAgICB3cml0ZTogcnVsZS53cml0ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodmFsdWUucm9sZXMpIHtcbiAgICAgIHZhbHVlLnJvbGVzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIHBhcnNlQUNMW2Byb2xlOiR7cnVsZS5yb2xlTmFtZX1gXSA9IHtcbiAgICAgICAgICByZWFkOiBydWxlLnJlYWQsXG4gICAgICAgICAgd3JpdGU6IHJ1bGUud3JpdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlQUNMO1xuICB9LFxuICByZWxhdGlvbjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGF0IGxlYXN0IG9uZSBvcGVyYXRpb24gb24gdGhlIHJlbGF0aW9uIG11dGF0aW9uIG9mIGZpZWxkICR7ZmllbGR9YFxuICAgICAgKTtcblxuICAgIGNvbnN0IG9wID0ge1xuICAgICAgX19vcDogJ0JhdGNoJyxcbiAgICAgIG9wczogW10sXG4gICAgfTtcbiAgICBsZXQgbmVzdGVkT2JqZWN0c1RvQWRkID0gW107XG5cbiAgICBpZiAodmFsdWUuY3JlYXRlQW5kQWRkKSB7XG4gICAgICBuZXN0ZWRPYmplY3RzVG9BZGQgPSAoXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgIHZhbHVlLmNyZWF0ZUFuZEFkZC5tYXAoYXN5bmMgaW5wdXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VGaWVsZHMgPSBhd2FpdCB0cmFuc2Zvcm1UeXBlcygnY3JlYXRlJywgaW5wdXQsIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBvYmplY3RzTXV0YXRpb25zLmNyZWF0ZU9iamVjdCh0YXJnZXRDbGFzcywgcGFyc2VGaWVsZHMsIGNvbmZpZywgYXV0aCwgaW5mbyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKS5tYXAob2JqZWN0ID0+ICh7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogb2JqZWN0Lm9iamVjdElkLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5hZGQgfHwgbmVzdGVkT2JqZWN0c1RvQWRkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICghdmFsdWUuYWRkKSB2YWx1ZS5hZGQgPSBbXTtcbiAgICAgIHZhbHVlLmFkZCA9IHZhbHVlLmFkZC5tYXAoaW5wdXQgPT4ge1xuICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICAgIGlucHV0ID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgIG9iamVjdElkOiBpbnB1dCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnQWRkUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiBbLi4udmFsdWUuYWRkLCAuLi5uZXN0ZWRPYmplY3RzVG9BZGRdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLnJlbW92ZSkge1xuICAgICAgb3Aub3BzLnB1c2goe1xuICAgICAgICBfX29wOiAnUmVtb3ZlUmVsYXRpb24nLFxuICAgICAgICBvYmplY3RzOiB2YWx1ZS5yZW1vdmUubWFwKGlucHV0ID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChpbnB1dCk7XG4gICAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgICAgICBpbnB1dCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICAgICAgb2JqZWN0SWQ6IGlucHV0LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfSxcbiAgcG9pbnRlcjogYXN5bmMgKHRhcmdldENsYXNzLCBmaWVsZCwgdmFsdWUsIHBhcnNlR3JhcGhRTFNjaGVtYSwgeyBjb25maWcsIGF1dGgsIGluZm8gfSkgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID4gMSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1BPSU5URVIsXG4gICAgICAgIGBZb3UgbmVlZCB0byBwcm92aWRlIGxpbmsgT1IgY3JlYXRlTGluayBvbiB0aGUgcG9pbnRlciBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBsZXQgbmVzdGVkT2JqZWN0VG9BZGQ7XG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZExpbmspIHtcbiAgICAgIGNvbnN0IHBhcnNlRmllbGRzID0gYXdhaXQgdHJhbnNmb3JtVHlwZXMoJ2NyZWF0ZScsIHZhbHVlLmNyZWF0ZUFuZExpbmssIHtcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICByZXE6IHsgY29uZmlnLCBhdXRoLCBpbmZvIH0sXG4gICAgICB9KTtcbiAgICAgIG5lc3RlZE9iamVjdFRvQWRkID0gYXdhaXQgb2JqZWN0c011dGF0aW9ucy5jcmVhdGVPYmplY3QoXG4gICAgICAgIHRhcmdldENsYXNzLFxuICAgICAgICBwYXJzZUZpZWxkcyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgICBhdXRoLFxuICAgICAgICBpbmZvXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkOiBuZXN0ZWRPYmplY3RUb0FkZC5vYmplY3RJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh2YWx1ZS5saW5rKSB7XG4gICAgICBsZXQgb2JqZWN0SWQgPSB2YWx1ZS5saW5rO1xuICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQob2JqZWN0SWQpO1xuICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgIG9iamVjdElkID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgb2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgfSxcbn07XG5cbmV4cG9ydCB7IHRyYW5zZm9ybVR5cGVzIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBZ0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVoRSxNQUFNQSxjQUFjLEdBQUcsT0FDckJDLFNBQThCLEVBQzlCQyxNQUFNLEVBQ047RUFBRUMsU0FBUztFQUFFQyxrQkFBa0I7RUFBRUM7QUFBSSxDQUFDLEtBQ25DO0VBQ0gsTUFBTTtJQUNKQyxzQkFBc0I7SUFDdEJDLHNCQUFzQjtJQUN0QkMsTUFBTSxFQUFFO01BQUVDLGVBQWU7TUFBRUM7SUFBZ0I7RUFDN0MsQ0FBQyxHQUFHTixrQkFBa0IsQ0FBQ08sZUFBZSxDQUFDUixTQUFTLENBQUM7RUFDakQsTUFBTVMsVUFBVSxHQUFHUixrQkFBa0IsQ0FBQ1MsWUFBWSxDQUFDVixTQUFTLENBQUM7RUFDN0QsSUFBSUQsTUFBTSxFQUFFO0lBQ1YsTUFBTVksNEJBQTRCLEdBQ2hDTCxlQUFlLElBQUlILHNCQUFzQixHQUFHQSxzQkFBc0IsQ0FBQ1MsU0FBUyxFQUFFLEdBQUcsSUFBSTtJQUN2RixNQUFNQyw0QkFBNEIsR0FDaENOLGVBQWUsSUFBSUgsc0JBQXNCLEdBQUdBLHNCQUFzQixDQUFDUSxTQUFTLEVBQUUsR0FBRyxJQUFJO0lBQ3ZGLE1BQU1FLFFBQVEsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUNqQixNQUFNLENBQUMsQ0FBQ2tCLEdBQUcsQ0FBQyxNQUFNQyxLQUFLLElBQUk7TUFDdEQsSUFBSUMsY0FBYztNQUNsQixJQUFJckIsU0FBUyxLQUFLLFFBQVEsSUFBSWEsNEJBQTRCLEVBQUU7UUFDMURRLGNBQWMsR0FBR1IsNEJBQTRCLENBQUNPLEtBQUssQ0FBQztNQUN0RCxDQUFDLE1BQU0sSUFBSUwsNEJBQTRCLEVBQUU7UUFDdkNNLGNBQWMsR0FBR04sNEJBQTRCLENBQUNLLEtB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
|
|
@@ -4,68 +4,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformOutputTypeToGraphQL = void 0;
|
|
7
|
-
|
|
8
7
|
var defaultGraphQLTypes = _interopRequireWildcard(require("../loaders/defaultGraphQLTypes"));
|
|
9
|
-
|
|
10
8
|
var _graphql = require("graphql");
|
|
11
|
-
|
|
12
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
-
|
|
14
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
-
|
|
16
11
|
const transformOutputTypeToGraphQL = (parseType, targetClass, parseClassTypes) => {
|
|
17
12
|
switch (parseType) {
|
|
18
13
|
case 'String':
|
|
19
14
|
return _graphql.GraphQLString;
|
|
20
|
-
|
|
21
15
|
case 'Number':
|
|
22
16
|
return _graphql.GraphQLFloat;
|
|
23
|
-
|
|
24
17
|
case 'Boolean':
|
|
25
18
|
return _graphql.GraphQLBoolean;
|
|
26
|
-
|
|
27
19
|
case 'Array':
|
|
28
20
|
return new _graphql.GraphQLList(defaultGraphQLTypes.ARRAY_RESULT);
|
|
29
|
-
|
|
30
21
|
case 'Object':
|
|
31
22
|
return defaultGraphQLTypes.OBJECT;
|
|
32
|
-
|
|
33
23
|
case 'Date':
|
|
34
24
|
return defaultGraphQLTypes.DATE;
|
|
35
|
-
|
|
36
25
|
case 'Pointer':
|
|
37
26
|
if (parseClassTypes && parseClassTypes[targetClass] && parseClassTypes[targetClass].classGraphQLOutputType) {
|
|
38
27
|
return parseClassTypes[targetClass].classGraphQLOutputType;
|
|
39
28
|
} else {
|
|
40
29
|
return defaultGraphQLTypes.OBJECT;
|
|
41
30
|
}
|
|
42
|
-
|
|
43
31
|
case 'Relation':
|
|
44
32
|
if (parseClassTypes && parseClassTypes[targetClass] && parseClassTypes[targetClass].classGraphQLFindResultType) {
|
|
45
33
|
return new _graphql.GraphQLNonNull(parseClassTypes[targetClass].classGraphQLFindResultType);
|
|
46
34
|
} else {
|
|
47
35
|
return new _graphql.GraphQLNonNull(defaultGraphQLTypes.OBJECT);
|
|
48
36
|
}
|
|
49
|
-
|
|
50
37
|
case 'File':
|
|
51
38
|
return defaultGraphQLTypes.FILE_INFO;
|
|
52
|
-
|
|
53
39
|
case 'GeoPoint':
|
|
54
40
|
return defaultGraphQLTypes.GEO_POINT;
|
|
55
|
-
|
|
56
41
|
case 'Polygon':
|
|
57
42
|
return defaultGraphQLTypes.POLYGON;
|
|
58
|
-
|
|
59
43
|
case 'Bytes':
|
|
60
44
|
return defaultGraphQLTypes.BYTES;
|
|
61
|
-
|
|
62
45
|
case 'ACL':
|
|
63
46
|
return new _graphql.GraphQLNonNull(defaultGraphQLTypes.ACL);
|
|
64
|
-
|
|
65
47
|
default:
|
|
66
48
|
return undefined;
|
|
67
49
|
}
|
|
68
50
|
};
|
|
69
|
-
|
|
70
51
|
exports.transformOutputTypeToGraphQL = transformOutputTypeToGraphQL;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0cmFuc2Zvcm1PdXRwdXRUeXBlVG9HcmFwaFFMIiwicGFyc2VUeXBlIiwidGFyZ2V0Q2xhc3MiLCJwYXJzZUNsYXNzVHlwZXMiLCJHcmFwaFFMU3RyaW5nIiwiR3JhcGhRTEZsb2F0IiwiR3JhcGhRTEJvb2xlYW4iLCJHcmFwaFFMTGlzdCIsImRlZmF1bHRHcmFwaFFMVHlwZXMiLCJBUlJBWV9SRVNVTFQiLCJPQkpFQ1QiLCJEQVRFIiwiY2xhc3NHcmFwaFFMT3V0cHV0VHlwZSIsImNsYXNzR3JhcGhRTEZpbmRSZXN1bHRUeXBlIiwiR3JhcGhRTE5vbk51bGwiLCJGSUxFX0lORk8iLCJHRU9fUE9JTlQiLCJQT0xZR09OIiwiQllURVMiLCJBQ0wiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC90cmFuc2Zvcm1lcnMvb3V0cHV0VHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgeyBHcmFwaFFMU3RyaW5nLCBHcmFwaFFMRmxvYXQsIEdyYXBoUUxCb29sZWFuLCBHcmFwaFFMTGlzdCwgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJztcblxuY29uc3QgdHJhbnNmb3JtT3V0cHV0VHlwZVRvR3JhcGhRTCA9IChwYXJzZVR5cGUsIHRhcmdldENsYXNzLCBwYXJzZUNsYXNzVHlwZXMpID0+IHtcbiAgc3dpdGNoIChwYXJzZVR5cGUpIHtcbiAgICBjYXNlICdTdHJpbmcnOlxuICAgICAgcmV0dXJuIEdyYXBoUUxTdHJpbmc7XG4gICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIHJldHVybiBHcmFwaFFMRmxvYXQ7XG4gICAgY2FzZSAnQm9vbGVhbic6XG4gICAgICByZXR1cm4gR3JhcGhRTEJvb2xlYW47XG4gICAgY2FzZSAnQXJyYXknOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFFMTGlzdChkZWZhdWx0R3JhcGhRTFR5cGVzLkFSUkFZX1JFU1VMVCk7XG4gICAgY2FzZSAnT2JqZWN0JzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLk9CSkVDVDtcbiAgICBjYXNlICdEYXRlJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkRBVEU7XG4gICAgY2FzZSAnUG9pbnRlcic6XG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlcyAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdICYmXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlc1t0YXJnZXRDbGFzc10uY2xhc3NHcmFwaFFMT3V0cHV0VHlwZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTE91dHB1dFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEdyYXBoUUxUeXBlcy5PQkpFQ1Q7XG4gICAgICB9XG4gICAgY2FzZSAnUmVsYXRpb24nOlxuICAgICAgaWYgKFxuICAgICAgICBwYXJzZUNsYXNzVHlwZXMgJiZcbiAgICAgICAgcGFyc2VDbGFzc1R5cGVzW3RhcmdldENsYXNzXSAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTEZpbmRSZXN1bHRUeXBlXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHcmFwaFFMTm9uTnVsbChwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTEZpbmRSZXN1bHRUeXBlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5PQkpFQ1QpO1xuICAgICAgfVxuICAgIGNhc2UgJ0ZpbGUnOlxuICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTkZPO1xuICAgIGNhc2UgJ0dlb1BvaW50JzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkdFT19QT0lOVDtcbiAgICBjYXNlICdQb2x5Z29uJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLlBPTFlHT047XG4gICAgY2FzZSAnQnl0ZXMnOlxuICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuQllURVM7XG4gICAgY2FzZSAnQUNMJzpcbiAgICAgIHJldHVybiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5BQ0wpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1PdXRwdXRUeXBlVG9HcmFwaFFMIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFBbUc7QUFBQTtBQUVuRyxNQUFNQSw0QkFBNEIsR0FBRyxDQUFDQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsZUFBZSxLQUFLO0VBQ2hGLFFBQVFGLFNBQVM7SUFDZixLQUFLLFFBQVE7TUFDWCxPQUFPRyxzQkFBYTtJQUN0QixLQUFLLFFBQVE7TUFDWCxPQUFPQyxxQkFBWTtJQUNyQixLQUFLLFNBQVM7TUFDWixPQUFPQyx1QkFBYztJQUN2QixLQUFLLE9BQU87TUFDVixPQUFPLElBQUlDLG9CQUFXLENBQUNDLG1CQUFtQixDQUFDQyxZQUFZLENBQUM7SUFDMUQsS0FBSyxRQUFRO01BQ1gsT0FBT0QsbUJBQW1CLENBQUNFLE1BQU07SUFDbkMsS0FBSyxNQUFNO01BQ1QsT0FBT0YsbUJBQW1CLENBQUNHLElBQUk7SUFDakMsS0FBSyxTQUFTO01BQ1osSUFDRVIsZUFBZSxJQUNmQSxlQUFlLENBQUNELFdBQVcsQ0FBQyxJQUM1QkMsZUFBZSxDQUFDRCxXQUFXLENBQUMsQ0FBQ1Usc0JBQXNCLEVBQ25EO1FBQ0EsT0FBT1QsZUFBZSxDQUFDRCxXQUFXLENBQUMsQ0FBQ1Usc0JBQXNCO01BQzVELENBQUMsTUFBTTtRQUNMLE9BQU9KLG1CQUFtQixDQUFDRSxNQUFNO01BQ25DO0lBQ0YsS0FBSyxVQUFVO01BQ2IsSUFDRVAsZUFBZSxJQUNmQSxlQUFlLENBQUNELFdBQVcsQ0FBQyxJQUM1QkMsZUFBZSxDQUFDRCxXQUFXLENBQUMsQ0FBQ1csMEJBQTBCLEVBQ3ZEO1FBQ0EsT0FBTyxJQUFJQyx1QkFBYyxDQUFDWCxlQUFlLENBQUNELFdBQVcsQ0FBQyxDQUFDVywwQkFBMEIsQ0FBQztNQUNwRixDQUFDLE1BQU07UUFDTCxPQUFPLElBQUlDLHVCQUFjLENBQUNOLG1CQUFtQixDQUFDRSxNQUFNLENBQUM7TUFDdkQ7SUFDRixLQUFLLE1BQU07TUFDVCxPQUFPRixtQkFBbUIsQ0FBQ08sU0FBUztJQUN0QyxLQUFLLFVBQVU7TUFDYixPQUFPUCxtQkFBbUIsQ0FBQ1EsU0FBUztJQUN0QyxLQUFLLFNBQVM7TUFDWixPQUFPUixtQkFBbUIsQ0FBQ1MsT0FBTztJQUNwQyxLQUFLLE9BQU87TUFDVixPQUFPVCxtQkFBbUIsQ0FBQ1UsS0FBSztJQUNsQyxLQUFLLEtBQUs7TUFDUixPQUFPLElBQUlKLHVCQUFjLENBQUNOLG1CQUFtQixDQUFDVyxHQUFHLENBQUM7SUFDcEQ7TUFDRSxPQUFPQyxTQUFTO0VBQUM7QUFFdkIsQ0FBQztBQUFDIn0=
|