parse-server 2.8.4 → 8.6.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/LICENSE +167 -25
- package/NOTICE +10 -0
- package/README.md +929 -278
- package/lib/AccountLockout.js +47 -30
- package/lib/Adapters/AdapterLoader.js +21 -6
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +15 -12
- package/lib/Adapters/Auth/AuthAdapter.js +116 -13
- package/lib/Adapters/Auth/BaseCodeAuthAdapter.js +99 -0
- package/lib/Adapters/Auth/OAuth1Client.js +27 -46
- package/lib/Adapters/Auth/apple.js +123 -0
- package/lib/Adapters/Auth/facebook.js +162 -35
- package/lib/Adapters/Auth/gcenter.js +217 -0
- package/lib/Adapters/Auth/github.js +118 -48
- package/lib/Adapters/Auth/google.js +160 -51
- package/lib/Adapters/Auth/gpgames.js +125 -0
- package/lib/Adapters/Auth/httpsRequest.js +6 -7
- package/lib/Adapters/Auth/index.js +170 -62
- package/lib/Adapters/Auth/instagram.js +114 -40
- package/lib/Adapters/Auth/janraincapture.js +52 -23
- package/lib/Adapters/Auth/janrainengage.js +19 -36
- package/lib/Adapters/Auth/keycloak.js +148 -0
- package/lib/Adapters/Auth/ldap.js +167 -0
- package/lib/Adapters/Auth/line.js +125 -0
- package/lib/Adapters/Auth/linkedin.js +111 -55
- package/lib/Adapters/Auth/meetup.js +24 -34
- package/lib/Adapters/Auth/mfa.js +324 -0
- package/lib/Adapters/Auth/microsoft.js +111 -0
- package/lib/Adapters/Auth/oauth2.js +97 -162
- package/lib/Adapters/Auth/phantauth.js +53 -0
- package/lib/Adapters/Auth/qq.js +108 -49
- package/lib/Adapters/Auth/spotify.js +107 -55
- package/lib/Adapters/Auth/twitter.js +188 -48
- package/lib/Adapters/Auth/utils.js +28 -0
- package/lib/Adapters/Auth/vkontakte.js +26 -39
- package/lib/Adapters/Auth/wechat.js +106 -44
- package/lib/Adapters/Auth/weibo.js +132 -58
- package/lib/Adapters/Cache/CacheAdapter.js +13 -8
- package/lib/Adapters/Cache/InMemoryCache.js +3 -13
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +5 -13
- package/lib/Adapters/Cache/LRUCache.js +13 -27
- package/lib/Adapters/Cache/NullCacheAdapter.js +3 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +85 -76
- package/lib/Adapters/Cache/SchemaCache.js +25 -0
- package/lib/Adapters/Email/MailAdapter.js +10 -8
- package/lib/Adapters/Files/FilesAdapter.js +83 -25
- package/lib/Adapters/Files/GridFSBucketAdapter.js +231 -0
- package/lib/Adapters/Files/GridStoreAdapter.js +4 -91
- package/lib/Adapters/Logger/LoggerAdapter.js +18 -14
- package/lib/Adapters/Logger/WinstonLogger.js +69 -88
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +7 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +8 -26
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +12 -25
- package/lib/Adapters/PubSub/PubSubAdapter.js +34 -0
- package/lib/Adapters/PubSub/RedisPubSub.js +42 -19
- package/lib/Adapters/Push/PushAdapter.js +14 -7
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +137 -45
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +158 -63
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +320 -168
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +279 -306
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +14 -10
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +47 -21
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +854 -468
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -6
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +35 -0
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +66 -0
- package/lib/Auth.js +488 -125
- package/lib/ClientSDK.js +2 -6
- package/lib/Config.js +525 -94
- package/lib/Controllers/AdaptableController.js +5 -25
- package/lib/Controllers/AnalyticsController.js +22 -23
- package/lib/Controllers/CacheController.js +10 -31
- package/lib/Controllers/DatabaseController.js +767 -313
- package/lib/Controllers/FilesController.js +49 -54
- package/lib/Controllers/HooksController.js +80 -84
- package/lib/Controllers/LiveQueryController.js +35 -22
- package/lib/Controllers/LoggerController.js +22 -58
- package/lib/Controllers/ParseGraphQLController.js +293 -0
- package/lib/Controllers/PushController.js +58 -49
- package/lib/Controllers/SchemaController.js +916 -422
- package/lib/Controllers/UserController.js +265 -180
- package/lib/Controllers/index.js +90 -125
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +30 -0
- package/lib/Deprecator/Deprecator.js +127 -0
- package/lib/Error.js +48 -0
- package/lib/GraphQL/ParseGraphQLSchema.js +375 -0
- package/lib/GraphQL/ParseGraphQLServer.js +214 -0
- package/lib/GraphQL/helpers/objectsMutations.js +30 -0
- package/lib/GraphQL/helpers/objectsQueries.js +246 -0
- package/lib/GraphQL/loaders/configMutations.js +87 -0
- package/lib/GraphQL/loaders/configQueries.js +79 -0
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +21 -0
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +23 -0
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +1098 -0
- package/lib/GraphQL/loaders/defaultRelaySchema.js +53 -0
- package/lib/GraphQL/loaders/filesMutations.js +107 -0
- package/lib/GraphQL/loaders/functionsMutations.js +78 -0
- package/lib/GraphQL/loaders/parseClassMutations.js +268 -0
- package/lib/GraphQL/loaders/parseClassQueries.js +127 -0
- package/lib/GraphQL/loaders/parseClassTypes.js +493 -0
- package/lib/GraphQL/loaders/schemaDirectives.js +62 -0
- package/lib/GraphQL/loaders/schemaMutations.js +162 -0
- package/lib/GraphQL/loaders/schemaQueries.js +81 -0
- package/lib/GraphQL/loaders/schemaTypes.js +341 -0
- package/lib/GraphQL/loaders/usersMutations.js +433 -0
- package/lib/GraphQL/loaders/usersQueries.js +90 -0
- package/lib/GraphQL/parseGraphQLUtils.js +63 -0
- package/lib/GraphQL/transformers/className.js +14 -0
- package/lib/GraphQL/transformers/constraintType.js +53 -0
- package/lib/GraphQL/transformers/inputType.js +51 -0
- package/lib/GraphQL/transformers/mutation.js +274 -0
- package/lib/GraphQL/transformers/outputType.js +51 -0
- package/lib/GraphQL/transformers/query.js +237 -0
- package/lib/GraphQL/transformers/schemaFields.js +99 -0
- package/lib/KeyPromiseQueue.js +48 -0
- package/lib/LiveQuery/Client.js +25 -33
- package/lib/LiveQuery/Id.js +2 -5
- package/lib/LiveQuery/ParseCloudCodePublisher.js +26 -23
- package/lib/LiveQuery/ParseLiveQueryServer.js +560 -285
- package/lib/LiveQuery/ParsePubSub.js +7 -16
- package/lib/LiveQuery/ParseWebSocketServer.js +42 -39
- package/lib/LiveQuery/QueryTools.js +76 -15
- package/lib/LiveQuery/RequestSchema.js +111 -97
- package/lib/LiveQuery/SessionTokenCache.js +23 -36
- package/lib/LiveQuery/Subscription.js +8 -17
- package/lib/LiveQuery/equalObjects.js +2 -3
- package/lib/Options/Definitions.js +1355 -382
- package/lib/Options/docs.js +301 -62
- package/lib/Options/index.js +11 -1
- package/lib/Options/parsers.js +14 -10
- package/lib/Page.js +44 -0
- package/lib/ParseMessageQueue.js +6 -13
- package/lib/ParseServer.js +474 -235
- package/lib/ParseServerRESTController.js +102 -40
- package/lib/PromiseRouter.js +39 -50
- package/lib/Push/PushQueue.js +24 -30
- package/lib/Push/PushWorker.js +32 -56
- package/lib/Push/utils.js +22 -35
- package/lib/RestQuery.js +361 -139
- package/lib/RestWrite.js +713 -344
- package/lib/Routers/AggregateRouter.js +97 -71
- package/lib/Routers/AnalyticsRouter.js +8 -14
- package/lib/Routers/AudiencesRouter.js +16 -35
- package/lib/Routers/ClassesRouter.js +86 -72
- package/lib/Routers/CloudCodeRouter.js +28 -37
- package/lib/Routers/FeaturesRouter.js +22 -25
- package/lib/Routers/FilesRouter.js +266 -171
- package/lib/Routers/FunctionsRouter.js +87 -103
- package/lib/Routers/GlobalConfigRouter.js +94 -33
- package/lib/Routers/GraphQLRouter.js +41 -0
- package/lib/Routers/HooksRouter.js +43 -47
- package/lib/Routers/IAPValidationRouter.js +57 -70
- package/lib/Routers/InstallationsRouter.js +17 -25
- package/lib/Routers/LogsRouter.js +10 -25
- package/lib/Routers/PagesRouter.js +647 -0
- package/lib/Routers/PublicAPIRouter.js +104 -112
- package/lib/Routers/PurgeRouter.js +19 -29
- package/lib/Routers/PushRouter.js +14 -28
- package/lib/Routers/RolesRouter.js +7 -14
- package/lib/Routers/SchemasRouter.js +63 -42
- package/lib/Routers/SecurityRouter.js +34 -0
- package/lib/Routers/SessionsRouter.js +25 -38
- package/lib/Routers/UsersRouter.js +463 -190
- package/lib/SchemaMigrations/DefinedSchemas.js +379 -0
- package/lib/SchemaMigrations/Migrations.js +30 -0
- package/lib/Security/Check.js +109 -0
- package/lib/Security/CheckGroup.js +44 -0
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +44 -0
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +96 -0
- package/lib/Security/CheckGroups/CheckGroups.js +21 -0
- package/lib/Security/CheckRunner.js +213 -0
- package/lib/SharedRest.js +29 -0
- package/lib/StatusHandler.js +96 -93
- package/lib/TestUtils.js +70 -14
- package/lib/Utils.js +468 -0
- package/lib/batch.js +74 -40
- package/lib/cache.js +8 -8
- package/lib/cli/definitions/parse-live-query-server.js +4 -3
- package/lib/cli/definitions/parse-server.js +4 -3
- package/lib/cli/parse-live-query-server.js +9 -17
- package/lib/cli/parse-server.js +49 -47
- package/lib/cli/utils/commander.js +20 -29
- package/lib/cli/utils/runner.js +31 -32
- package/lib/cloud-code/Parse.Cloud.js +711 -36
- package/lib/cloud-code/Parse.Server.js +21 -0
- package/lib/cryptoUtils.js +6 -11
- package/lib/defaults.js +21 -15
- package/lib/deprecated.js +1 -1
- package/lib/index.js +78 -67
- package/lib/logger.js +12 -20
- package/lib/middlewares.js +484 -160
- package/lib/password.js +10 -6
- package/lib/request.js +175 -0
- package/lib/requiredParameter.js +4 -3
- package/lib/rest.js +157 -82
- package/lib/triggers.js +627 -185
- package/lib/vendor/README.md +3 -3
- package/lib/vendor/mongodbUrl.js +224 -137
- package/package.json +135 -57
- package/postinstall.js +38 -50
- package/public_html/invalid_verification_link.html +3 -3
- package/types/@types/@parse/fs-files-adapter/index.d.ts +5 -0
- package/types/@types/deepcopy/index.d.ts +5 -0
- package/types/LiveQuery/ParseLiveQueryServer.d.ts +40 -0
- package/types/Options/index.d.ts +301 -0
- package/types/ParseServer.d.ts +65 -0
- package/types/eslint.config.mjs +30 -0
- package/types/index.d.ts +21 -0
- package/types/logger.d.ts +2 -0
- package/types/tests.ts +44 -0
- package/types/tsconfig.json +24 -0
- package/CHANGELOG.md +0 -1246
- package/PATENTS +0 -37
- package/bin/dev +0 -37
- package/lib/.DS_Store +0 -0
- package/lib/Adapters/Auth/common.js +0 -2
- package/lib/Adapters/Auth/facebookaccountkit.js +0 -69
- package/lib/Controllers/SchemaCache.js +0 -97
- package/lib/LiveQuery/.DS_Store +0 -0
- package/lib/cli/utils/parsers.js +0 -77
- package/lib/cloud-code/.DS_Store +0 -0
- package/lib/cloud-code/HTTPResponse.js +0 -57
- package/lib/cloud-code/Untitled-1 +0 -123
- package/lib/cloud-code/httpRequest.js +0 -102
- package/lib/cloud-code/team.html +0 -123
- package/lib/graphql/ParseClass.js +0 -234
- package/lib/graphql/Schema.js +0 -197
- package/lib/graphql/index.js +0 -1
- package/lib/graphql/types/ACL.js +0 -35
- package/lib/graphql/types/Date.js +0 -25
- package/lib/graphql/types/File.js +0 -24
- package/lib/graphql/types/GeoPoint.js +0 -35
- package/lib/graphql/types/JSONObject.js +0 -30
- package/lib/graphql/types/NumberInput.js +0 -43
- package/lib/graphql/types/NumberQuery.js +0 -42
- package/lib/graphql/types/Pointer.js +0 -35
- package/lib/graphql/types/QueryConstraint.js +0 -61
- package/lib/graphql/types/StringQuery.js +0 -39
- package/lib/graphql/types/index.js +0 -110
package/PATENTS
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
Additional Grant of Patent Rights Version 2
|
|
2
|
-
|
|
3
|
-
"Software" means the Parse Server software distributed by Parse, LLC.
|
|
4
|
-
|
|
5
|
-
Parse, LLC. ("Parse") hereby grants to each recipient of the Software
|
|
6
|
-
("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
|
|
7
|
-
(subject to the termination provision below) license under any Necessary
|
|
8
|
-
Claims, to make, have made, use, sell, offer to sell, import, and otherwise
|
|
9
|
-
transfer the Software. For avoidance of doubt, no license is granted under
|
|
10
|
-
Parse’s rights in any patent claims that are infringed by (i) modifications
|
|
11
|
-
to the Software made by you or any third party or (ii) the Software in
|
|
12
|
-
combination with any software or other technology.
|
|
13
|
-
|
|
14
|
-
The license granted hereunder will terminate, automatically and without notice,
|
|
15
|
-
if you (or any of your subsidiaries, corporate affiliates or agents) initiate
|
|
16
|
-
directly or indirectly, or take a direct financial interest in, any Patent
|
|
17
|
-
Assertion: (i) against Parse or any of its subsidiaries or corporate
|
|
18
|
-
affiliates, (ii) against any party if such Patent Assertion arises in whole or
|
|
19
|
-
in part from any software, technology, product or service of Parse or any of
|
|
20
|
-
its subsidiaries or corporate affiliates, or (iii) against any party relating
|
|
21
|
-
to the Software. Notwithstanding the foregoing, if Parse or any of its
|
|
22
|
-
subsidiaries or corporate affiliates files a lawsuit alleging patent
|
|
23
|
-
infringement against you in the first instance, and you respond by filing a
|
|
24
|
-
patent infringement counterclaim in that lawsuit against that party that is
|
|
25
|
-
unrelated to the Software, the license granted hereunder will not terminate
|
|
26
|
-
under section (i) of this paragraph due to such counterclaim.
|
|
27
|
-
|
|
28
|
-
A "Necessary Claim" is a claim of a patent owned by Parse that is
|
|
29
|
-
necessarily infringed by the Software standing alone.
|
|
30
|
-
|
|
31
|
-
A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
|
|
32
|
-
or contributory infringement or inducement to infringe any patent, including a
|
|
33
|
-
cross-claim or counterclaim.
|
|
34
|
-
|
|
35
|
-
-----
|
|
36
|
-
|
|
37
|
-
As of April 5, 2017, Parse, LLC has transferred this code to the parse-community organization, and will no longer be contributing to or distributing this code.
|
package/bin/dev
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
var nodemon = require('nodemon');
|
|
4
|
-
var babel = require("babel-core");
|
|
5
|
-
var gaze = require('gaze');
|
|
6
|
-
var fs = require('fs');
|
|
7
|
-
var path = require('path');
|
|
8
|
-
|
|
9
|
-
// Watch the src and transpile when changed
|
|
10
|
-
gaze('src/**/*', function(err, watcher) {
|
|
11
|
-
if (err) throw err;
|
|
12
|
-
watcher.on('changed', function(sourceFile) {
|
|
13
|
-
console.log(sourceFile + " has changed");
|
|
14
|
-
try {
|
|
15
|
-
targetFile = path.relative(__dirname, sourceFile).replace(/\/src\//, '/lib/');
|
|
16
|
-
targetFile = path.resolve(__dirname, targetFile);
|
|
17
|
-
fs.writeFile(targetFile, babel.transformFileSync(sourceFile).code);
|
|
18
|
-
} catch (e) {
|
|
19
|
-
console.error(e.message, e.stack);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
try {
|
|
25
|
-
// Run and watch dist
|
|
26
|
-
nodemon({
|
|
27
|
-
script: 'bin/parse-server',
|
|
28
|
-
ext: 'js json',
|
|
29
|
-
watch: 'lib'
|
|
30
|
-
});
|
|
31
|
-
} catch (e) {
|
|
32
|
-
console.error(e.message, e.stack);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
process.once('SIGINT', function() {
|
|
36
|
-
process.exit(0);
|
|
37
|
-
});
|
package/lib/.DS_Store
DELETED
|
Binary file
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const crypto = require('crypto');
|
|
4
|
-
const https = require('https');
|
|
5
|
-
const Parse = require('parse/node').Parse;
|
|
6
|
-
|
|
7
|
-
const graphRequest = path => {
|
|
8
|
-
return new Promise((resolve, reject) => {
|
|
9
|
-
https.get(`https://graph.accountkit.com/v1.1/${path}`, res => {
|
|
10
|
-
var data = '';
|
|
11
|
-
res.on('data', chunk => {
|
|
12
|
-
data += chunk;
|
|
13
|
-
});
|
|
14
|
-
res.on('end', () => {
|
|
15
|
-
try {
|
|
16
|
-
data = JSON.parse(data);
|
|
17
|
-
if (data.error) {
|
|
18
|
-
// when something wrong with fb graph request (token corrupted etc.)
|
|
19
|
-
// instead of network issue
|
|
20
|
-
reject(data.error);
|
|
21
|
-
} else {
|
|
22
|
-
resolve(data);
|
|
23
|
-
}
|
|
24
|
-
} catch (e) {
|
|
25
|
-
reject(e);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}).on('error', function () {
|
|
29
|
-
reject('Failed to validate this access token with Facebook Account Kit.');
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
function getRequestPath(authData, options) {
|
|
35
|
-
const access_token = authData.access_token,
|
|
36
|
-
appSecret = options && options.appSecret;
|
|
37
|
-
if (appSecret) {
|
|
38
|
-
const appsecret_proof = crypto.createHmac("sha256", appSecret).update(access_token).digest('hex');
|
|
39
|
-
return `me?access_token=${access_token}&appsecret_proof=${appsecret_proof}`;
|
|
40
|
-
}
|
|
41
|
-
return `me?access_token=${access_token}`;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function validateAppId(appIds, authData, options) {
|
|
45
|
-
if (!appIds.length) {
|
|
46
|
-
return Promise.reject(new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Facebook app id for Account Kit is not configured.'));
|
|
47
|
-
}
|
|
48
|
-
return graphRequest(getRequestPath(authData, options)).then(data => {
|
|
49
|
-
if (data && data.application && appIds.indexOf(data.application.id) != -1) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Facebook app id for Account Kit is invalid for this user.');
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function validateAuthData(authData, options) {
|
|
57
|
-
return graphRequest(getRequestPath(authData, options)).then(data => {
|
|
58
|
-
if (data && data.id == authData.id) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Facebook Account Kit auth is invalid for this user.');
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
module.exports = {
|
|
66
|
-
validateAppId,
|
|
67
|
-
validateAuthData
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BZGFwdGVycy9BdXRoL2ZhY2Vib29rYWNjb3VudGtpdC5qcyJdLCJuYW1lcyI6WyJjcnlwdG8iLCJyZXF1aXJlIiwiaHR0cHMiLCJQYXJzZSIsImdyYXBoUmVxdWVzdCIsInBhdGgiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImdldCIsInJlcyIsImRhdGEiLCJvbiIsImNodW5rIiwiSlNPTiIsInBhcnNlIiwiZXJyb3IiLCJlIiwiZ2V0UmVxdWVzdFBhdGgiLCJhdXRoRGF0YSIsIm9wdGlvbnMiLCJhY2Nlc3NfdG9rZW4iLCJhcHBTZWNyZXQiLCJhcHBzZWNyZXRfcHJvb2YiLCJjcmVhdGVIbWFjIiwidXBkYXRlIiwiZGlnZXN0IiwidmFsaWRhdGVBcHBJZCIsImFwcElkcyIsImxlbmd0aCIsIkVycm9yIiwiT0JKRUNUX05PVF9GT1VORCIsInRoZW4iLCJhcHBsaWNhdGlvbiIsImluZGV4T2YiLCJpZCIsInZhbGlkYXRlQXV0aERhdGEiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLFNBQVNDLFFBQVEsUUFBUixDQUFmO0FBQ0EsTUFBTUMsUUFBUUQsUUFBUSxPQUFSLENBQWQ7QUFDQSxNQUFNRSxRQUFTRixRQUFRLFlBQVIsRUFBc0JFLEtBQXJDOztBQUVBLE1BQU1DLGVBQWdCQyxJQUFELElBQVU7QUFDN0IsU0FBTyxJQUFJQyxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQ3RDTixVQUFNTyxHQUFOLENBQVcscUNBQW9DSixJQUFLLEVBQXBELEVBQXdESyxHQUFELElBQVM7QUFDOUQsVUFBSUMsT0FBTyxFQUFYO0FBQ0FELFVBQUlFLEVBQUosQ0FBTyxNQUFQLEVBQWdCQyxLQUFELElBQVc7QUFDeEJGLGdCQUFRRSxLQUFSO0FBQ0QsT0FGRDtBQUdBSCxVQUFJRSxFQUFKLENBQU8sS0FBUCxFQUFjLE1BQU07QUFDbEIsWUFBSTtBQUNGRCxpQkFBT0csS0FBS0MsS0FBTCxDQUFXSixJQUFYLENBQVA7QUFDQSxjQUFJQSxLQUFLSyxLQUFULEVBQWdCO0FBQ2Q7QUFDQTtBQUNBUixtQkFBT0csS0FBS0ssS0FBWjtBQUNELFdBSkQsTUFJTztBQUNMVCxvQkFBUUksSUFBUjtBQUNEO0FBQ0YsU0FURCxDQVNFLE9BQU9NLENBQVAsRUFBVTtBQUNWVCxpQkFBT1MsQ0FBUDtBQUNEO0FBQ0YsT0FiRDtBQWNELEtBbkJELEVBbUJHTCxFQW5CSCxDQW1CTSxPQW5CTixFQW1CZSxZQUFZO0FBQ3pCSixhQUFPLGlFQUFQO0FBQ0QsS0FyQkQ7QUFzQkQsR0F2Qk0sQ0FBUDtBQXdCRCxDQXpCRDs7QUEyQkEsU0FBU1UsY0FBVCxDQUF3QkMsUUFBeEIsRUFBa0NDLE9BQWxDLEVBQTJDO0FBQ3pDLFFBQU1DLGVBQWVGLFNBQVNFLFlBQTlCO0FBQUEsUUFBNENDLFlBQVlGLFdBQVdBLFFBQVFFLFNBQTNFO0FBQ0EsTUFBSUEsU0FBSixFQUFlO0FBQ2IsVUFBTUMsa0JBQWtCdkIsT0FBT3dCLFVBQVAsQ0FBa0IsUUFBbEIsRUFBNEJGLFNBQTVCLEVBQXVDRyxNQUF2QyxDQUE4Q0osWUFBOUMsRUFBNERLLE1BQTVELENBQW1FLEtBQW5FLENBQXhCO0FBQ0EsV0FBUSxtQkFBa0JMLFlBQWEsb0JBQW1CRSxlQUFnQixFQUExRTtBQUNEO0FBQ0QsU0FBUSxtQkFBa0JGLFlBQWEsRUFBdkM7QUFDRDs7QUFFRCxTQUFTTSxhQUFULENBQXVCQyxNQUF2QixFQUErQlQsUUFBL0IsRUFBeUNDLE9BQXpDLEVBQWtEO0FBQ2hELE1BQUksQ0FBQ1EsT0FBT0MsTUFBWixFQUFvQjtBQUNsQixXQUFPdkIsUUFBUUUsTUFBUixDQUNMLElBQUlMLE1BQU0yQixLQUFWLENBQ0UzQixNQUFNMkIsS0FBTixDQUFZQyxnQkFEZCxFQUVFLG9EQUZGLENBREssQ0FBUDtBQUtEO0FBQ0QsU0FBTzNCLGFBQWFjLGVBQWVDLFFBQWYsRUFBeUJDLE9BQXpCLENBQWIsRUFDSlksSUFESSxDQUNDckIsUUFBUTtBQUNaLFFBQUlBLFFBQVFBLEtBQUtzQixXQUFiLElBQTRCTCxPQUFPTSxPQUFQLENBQWV2QixLQUFLc0IsV0FBTCxDQUFpQkUsRUFBaEMsS0FBdUMsQ0FBQyxDQUF4RSxFQUEyRTtBQUN6RTtBQUNEO0FBQ0QsVUFBTSxJQUFJaEMsTUFBTTJCLEtBQVYsQ0FDSjNCLE1BQU0yQixLQUFOLENBQVlDLGdCQURSLEVBRUosMkRBRkksQ0FBTjtBQUdELEdBUkksQ0FBUDtBQVNEOztBQUVELFNBQVNLLGdCQUFULENBQTBCakIsUUFBMUIsRUFBb0NDLE9BQXBDLEVBQTZDO0FBQzNDLFNBQU9oQixhQUFhYyxlQUFlQyxRQUFmLEVBQXlCQyxPQUF6QixDQUFiLEVBQ0pZLElBREksQ0FDQ3JCLFFBQVE7QUFDWixRQUFJQSxRQUFRQSxLQUFLd0IsRUFBTCxJQUFXaEIsU0FBU2dCLEVBQWhDLEVBQW9DO0FBQ2xDO0FBQ0Q7QUFDRCxVQUFNLElBQUloQyxNQUFNMkIsS0FBVixDQUNKM0IsTUFBTTJCLEtBQU4sQ0FBWUMsZ0JBRFIsRUFFSixxREFGSSxDQUFOO0FBR0QsR0FSSSxDQUFQO0FBU0Q7O0FBRURNLE9BQU9DLE9BQVAsR0FBaUI7QUFDZlgsZUFEZTtBQUVmUztBQUZlLENBQWpCIiwiZmlsZSI6ImZhY2Vib29rYWNjb3VudGtpdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNyeXB0byA9IHJlcXVpcmUoJ2NyeXB0bycpO1xuY29uc3QgaHR0cHMgPSByZXF1aXJlKCdodHRwcycpO1xuY29uc3QgUGFyc2UgID0gcmVxdWlyZSgncGFyc2Uvbm9kZScpLlBhcnNlO1xuXG5jb25zdCBncmFwaFJlcXVlc3QgPSAocGF0aCkgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGh0dHBzLmdldChgaHR0cHM6Ly9ncmFwaC5hY2NvdW50a2l0LmNvbS92MS4xLyR7cGF0aH1gLCAocmVzKSA9PiB7XG4gICAgICB2YXIgZGF0YSA9ICcnO1xuICAgICAgcmVzLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgIGRhdGEgKz0gY2h1bms7XG4gICAgICB9KTtcbiAgICAgIHJlcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgIGlmIChkYXRhLmVycm9yKSB7XG4gICAgICAgICAgICAvLyB3aGVuIHNvbWV0aGluZyB3cm9uZyB3aXRoIGZiIGdyYXBoIHJlcXVlc3QgKHRva2VuIGNvcnJ1cHRlZCBldGMuKVxuICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBuZXR3b3JrIGlzc3VlXG4gICAgICAgICAgICByZWplY3QoZGF0YS5lcnJvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KS5vbignZXJyb3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZWplY3QoJ0ZhaWxlZCB0byB2YWxpZGF0ZSB0aGlzIGFjY2VzcyB0b2tlbiB3aXRoIEZhY2Vib29rIEFjY291bnQgS2l0LicpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmZ1bmN0aW9uIGdldFJlcXVlc3RQYXRoKGF1dGhEYXRhLCBvcHRpb25zKSB7XG4gIGNvbnN0IGFjY2Vzc190b2tlbiA9IGF1dGhEYXRhLmFjY2Vzc190b2tlbiwgYXBwU2VjcmV0ID0gb3B0aW9ucyAmJiBvcHRpb25zLmFwcFNlY3JldDtcbiAgaWYgKGFwcFNlY3JldCkge1xuICAgIGNvbnN0IGFwcHNlY3JldF9wcm9vZiA9IGNyeXB0by5jcmVhdGVIbWFjKFwic2hhMjU2XCIsIGFwcFNlY3JldCkudXBkYXRlKGFjY2Vzc190b2tlbikuZGlnZXN0KCdoZXgnKTtcbiAgICByZXR1cm4gYG1lP2FjY2Vzc190b2tlbj0ke2FjY2Vzc190b2tlbn0mYXBwc2VjcmV0X3Byb29mPSR7YXBwc2VjcmV0X3Byb29mfWBcbiAgfVxuICByZXR1cm4gYG1lP2FjY2Vzc190b2tlbj0ke2FjY2Vzc190b2tlbn1gO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUFwcElkKGFwcElkcywgYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKCFhcHBJZHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxuICAgICAgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELFxuICAgICAgICAnRmFjZWJvb2sgYXBwIGlkIGZvciBBY2NvdW50IEtpdCBpcyBub3QgY29uZmlndXJlZC4nKVxuICAgIClcbiAgfVxuICByZXR1cm4gZ3JhcGhSZXF1ZXN0KGdldFJlcXVlc3RQYXRoKGF1dGhEYXRhLCBvcHRpb25zKSlcbiAgICAudGhlbihkYXRhID0+IHtcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuYXBwbGljYXRpb24gJiYgYXBwSWRzLmluZGV4T2YoZGF0YS5hcHBsaWNhdGlvbi5pZCkgIT0gLTEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELFxuICAgICAgICAnRmFjZWJvb2sgYXBwIGlkIGZvciBBY2NvdW50IEtpdCBpcyBpbnZhbGlkIGZvciB0aGlzIHVzZXIuJyk7XG4gICAgfSlcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBdXRoRGF0YShhdXRoRGF0YSwgb3B0aW9ucykge1xuICByZXR1cm4gZ3JhcGhSZXF1ZXN0KGdldFJlcXVlc3RQYXRoKGF1dGhEYXRhLCBvcHRpb25zKSlcbiAgICAudGhlbihkYXRhID0+IHtcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuaWQgPT0gYXV0aERhdGEuaWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELFxuICAgICAgICAnRmFjZWJvb2sgQWNjb3VudCBLaXQgYXV0aCBpcyBpbnZhbGlkIGZvciB0aGlzIHVzZXIuJyk7XG4gICAgfSlcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHZhbGlkYXRlQXBwSWQsXG4gIHZhbGlkYXRlQXV0aERhdGFcbn07XG4iXX0=
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _cryptoUtils = require("../cryptoUtils");
|
|
8
|
-
|
|
9
|
-
var _defaults = require("../defaults");
|
|
10
|
-
|
|
11
|
-
var _defaults2 = _interopRequireDefault(_defaults);
|
|
12
|
-
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
|
|
15
|
-
const MAIN_SCHEMA = "__MAIN_SCHEMA";
|
|
16
|
-
const SCHEMA_CACHE_PREFIX = "__SCHEMA";
|
|
17
|
-
const ALL_KEYS = "__ALL_KEYS";
|
|
18
|
-
|
|
19
|
-
class SchemaCache {
|
|
20
|
-
|
|
21
|
-
constructor(cacheController, ttl = _defaults2.default.schemaCacheTTL, singleCache = false) {
|
|
22
|
-
this.ttl = ttl;
|
|
23
|
-
if (typeof ttl == 'string') {
|
|
24
|
-
this.ttl = parseInt(ttl);
|
|
25
|
-
}
|
|
26
|
-
this.cache = cacheController;
|
|
27
|
-
this.prefix = SCHEMA_CACHE_PREFIX;
|
|
28
|
-
if (!singleCache) {
|
|
29
|
-
this.prefix += (0, _cryptoUtils.randomString)(20);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
put(key, value) {
|
|
34
|
-
return this.cache.get(this.prefix + ALL_KEYS).then(allKeys => {
|
|
35
|
-
allKeys = allKeys || {};
|
|
36
|
-
allKeys[key] = true;
|
|
37
|
-
return Promise.all([this.cache.put(this.prefix + ALL_KEYS, allKeys, this.ttl), this.cache.put(key, value, this.ttl)]);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getAllClasses() {
|
|
42
|
-
if (!this.ttl) {
|
|
43
|
-
return Promise.resolve(null);
|
|
44
|
-
}
|
|
45
|
-
return this.cache.get(this.prefix + MAIN_SCHEMA);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
setAllClasses(schema) {
|
|
49
|
-
if (!this.ttl) {
|
|
50
|
-
return Promise.resolve(null);
|
|
51
|
-
}
|
|
52
|
-
return this.put(this.prefix + MAIN_SCHEMA, schema);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
setOneSchema(className, schema) {
|
|
56
|
-
if (!this.ttl) {
|
|
57
|
-
return Promise.resolve(null);
|
|
58
|
-
}
|
|
59
|
-
return this.put(this.prefix + className, schema);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
getOneSchema(className) {
|
|
63
|
-
if (!this.ttl) {
|
|
64
|
-
return Promise.resolve(null);
|
|
65
|
-
}
|
|
66
|
-
return this.cache.get(this.prefix + className).then(schema => {
|
|
67
|
-
if (schema) {
|
|
68
|
-
return Promise.resolve(schema);
|
|
69
|
-
}
|
|
70
|
-
return this.cache.get(this.prefix + MAIN_SCHEMA).then(cachedSchemas => {
|
|
71
|
-
cachedSchemas = cachedSchemas || [];
|
|
72
|
-
schema = cachedSchemas.find(cachedSchema => {
|
|
73
|
-
return cachedSchema.className === className;
|
|
74
|
-
});
|
|
75
|
-
if (schema) {
|
|
76
|
-
return Promise.resolve(schema);
|
|
77
|
-
}
|
|
78
|
-
return Promise.resolve(null);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
clear() {
|
|
84
|
-
// That clears all caches...
|
|
85
|
-
return this.cache.get(this.prefix + ALL_KEYS).then(allKeys => {
|
|
86
|
-
if (!allKeys) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const promises = Object.keys(allKeys).map(key => {
|
|
90
|
-
return this.cache.del(key);
|
|
91
|
-
});
|
|
92
|
-
return Promise.all(promises);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.default = SchemaCache;
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9TY2hlbWFDYWNoZS5qcyJdLCJuYW1lcyI6WyJNQUlOX1NDSEVNQSIsIlNDSEVNQV9DQUNIRV9QUkVGSVgiLCJBTExfS0VZUyIsIlNjaGVtYUNhY2hlIiwiY29uc3RydWN0b3IiLCJjYWNoZUNvbnRyb2xsZXIiLCJ0dGwiLCJkZWZhdWx0cyIsInNjaGVtYUNhY2hlVFRMIiwic2luZ2xlQ2FjaGUiLCJwYXJzZUludCIsImNhY2hlIiwicHJlZml4IiwicHV0Iiwia2V5IiwidmFsdWUiLCJnZXQiLCJ0aGVuIiwiYWxsS2V5cyIsIlByb21pc2UiLCJhbGwiLCJnZXRBbGxDbGFzc2VzIiwicmVzb2x2ZSIsInNldEFsbENsYXNzZXMiLCJzY2hlbWEiLCJzZXRPbmVTY2hlbWEiLCJjbGFzc05hbWUiLCJnZXRPbmVTY2hlbWEiLCJjYWNoZWRTY2hlbWFzIiwiZmluZCIsImNhY2hlZFNjaGVtYSIsImNsZWFyIiwicHJvbWlzZXMiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwiZGVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQTs7QUFDQTs7Ozs7O0FBTEEsTUFBTUEsY0FBYyxlQUFwQjtBQUNBLE1BQU1DLHNCQUFzQixVQUE1QjtBQUNBLE1BQU1DLFdBQVcsWUFBakI7O0FBS2UsTUFBTUMsV0FBTixDQUFrQjs7QUFHL0JDLGNBQVlDLGVBQVosRUFBNkJDLE1BQU1DLG1CQUFTQyxjQUE1QyxFQUE0REMsY0FBYyxLQUExRSxFQUFpRjtBQUMvRSxTQUFLSCxHQUFMLEdBQVdBLEdBQVg7QUFDQSxRQUFJLE9BQU9BLEdBQVAsSUFBYyxRQUFsQixFQUE0QjtBQUMxQixXQUFLQSxHQUFMLEdBQVdJLFNBQVNKLEdBQVQsQ0FBWDtBQUNEO0FBQ0QsU0FBS0ssS0FBTCxHQUFhTixlQUFiO0FBQ0EsU0FBS08sTUFBTCxHQUFjWCxtQkFBZDtBQUNBLFFBQUksQ0FBQ1EsV0FBTCxFQUFrQjtBQUNoQixXQUFLRyxNQUFMLElBQWUsK0JBQWEsRUFBYixD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LENBQWV0QixHQUFmLENBQVA7QUFDRCxPQUZnQixDQUFqQjtBQUdBLGFBQU9LLFFBQVFDLEdBQVIsQ0FBWVksUUFBWixDQUFQO0FBQ0QsS0FSTSxDQUFQO0FBU0Q7QUE1RThCO2tCQUFaN0IsVyIsImZpbGUiOiJTY2hlbWFDYWNoZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1BSU5fU0NIRU1BID0gXCJfX01BSU5fU0NIRU1BXCI7XG5jb25zdCBTQ0hFTUFfQ0FDSEVfUFJFRklYID0gXCJfX1NDSEVNQVwiO1xuY29uc3QgQUxMX0tFWVMgPSBcIl9fQUxMX0tFWVNcIjtcblxuaW1wb3J0IHsgcmFuZG9tU3RyaW5nIH0gZnJvbSAnLi4vY3J5cHRvVXRpbHMnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJy4uL2RlZmF1bHRzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2NoZW1hQ2FjaGUge1xuICBjYWNoZTogT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKGNhY2hlQ29udHJvbGxlciwgdHRsID0gZGVmYXVsdHMuc2NoZW1hQ2FjaGVUVEwsIHNpbmdsZUNhY2hlID0gZmFsc2UpIHtcbiAgICB0aGlzLnR0bCA9IHR0bDtcbiAgICBpZiAodHlwZW9mIHR0bCA9PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy50dGwgPSBwYXJzZUludCh0dGwpO1xuICAgIH1cbiAgICB0aGlzLmNhY2hlID0gY2FjaGVDb250cm9sbGVyO1xuICAgIHRoaXMucHJlZml4ID0gU0NIRU1BX0NBQ0hFX1BSRUZJWDtcbiAgICBpZiAoIXNpbmdsZUNhY2hlKSB7XG4gICAgICB0aGlzLnByZWZpeCArPSByYW5kb21TdHJpbmcoMjApO1xuICAgIH1cbiAgfVxuXG4gIHB1dChrZXksIHZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHRoaXMucHJlZml4ICsgQUxMX0tFWVMpLnRoZW4oKGFsbEtleXMpID0+IHtcbiAgICAgIGFsbEtleXMgPSBhbGxLZXlzIHx8IHt9O1xuICAgICAgYWxsS2V5c1trZXldID0gdHJ1ZTtcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChbdGhpcy5jYWNoZS5wdXQodGhpcy5wcmVmaXggKyBBTExfS0VZUywgYWxsS2V5cywgdGhpcy50dGwpLCB0aGlzLmNhY2hlLnB1dChrZXksIHZhbHVlLCB0aGlzLnR0bCldKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEFsbENsYXNzZXMoKSB7XG4gICAgaWYgKCF0aGlzLnR0bCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHRoaXMucHJlZml4ICsgTUFJTl9TQ0hFTUEpO1xuICB9XG5cbiAgc2V0QWxsQ2xhc3NlcyhzY2hlbWEpIHtcbiAgICBpZiAoIXRoaXMudHRsKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wdXQodGhpcy5wcmVmaXggKyBNQUlOX1NDSEVNQSwgc2NoZW1hKTtcbiAgfVxuXG4gIHNldE9uZVNjaGVtYShjbGFzc05hbWUsIHNjaGVtYSkge1xuICAgIGlmICghdGhpcy50dGwpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnB1dCh0aGlzLnByZWZpeCArIGNsYXNzTmFtZSwgc2NoZW1hKTtcbiAgfVxuXG4gIGdldE9uZVNjaGVtYShjbGFzc05hbWUpIHtcbiAgICBpZiAoIXRoaXMudHRsKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQodGhpcy5wcmVmaXggKyBjbGFzc05hbWUpLnRoZW4oKHNjaGVtYSkgPT4ge1xuICAgICAgaWYgKHNjaGVtYSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHNjaGVtYSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQodGhpcy5wcmVmaXggKyBNQUlOX1NDSEVNQSkudGhlbigoY2FjaGVkU2NoZW1hcykgPT4ge1xuICAgICAgICBjYWNoZWRTY2hlbWFzID0gY2FjaGVkU2NoZW1hcyB8fCBbXTtcbiAgICAgICAgc2NoZW1hID0gY2FjaGVkU2NoZW1hcy5maW5kKChjYWNoZWRTY2hlbWEpID0+IHtcbiAgICAgICAgICByZXR1cm4gY2FjaGVkU2NoZW1hLmNsYXNzTmFtZSA9PT0gY2xhc3NOYW1lO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHNjaGVtYSkge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc2NoZW1hKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICAvLyBUaGF0IGNsZWFycyBhbGwgY2FjaGVzLi4uXG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KHRoaXMucHJlZml4ICsgQUxMX0tFWVMpLnRoZW4oKGFsbEtleXMpID0+IHtcbiAgICAgIGlmICghYWxsS2V5cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBwcm9taXNlcyA9IE9iamVjdC5rZXlzKGFsbEtleXMpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmRlbChrZXkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/LiveQuery/.DS_Store
DELETED
|
Binary file
|
package/lib/cli/utils/parsers.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.numberParser = numberParser;
|
|
7
|
-
exports.numberOrBoolParser = numberOrBoolParser;
|
|
8
|
-
exports.objectParser = objectParser;
|
|
9
|
-
exports.arrayParser = arrayParser;
|
|
10
|
-
exports.moduleOrObjectParser = moduleOrObjectParser;
|
|
11
|
-
exports.booleanParser = booleanParser;
|
|
12
|
-
exports.nullParser = nullParser;
|
|
13
|
-
function numberParser(key) {
|
|
14
|
-
return function (opt) {
|
|
15
|
-
const intOpt = parseInt(opt);
|
|
16
|
-
if (!Number.isInteger(intOpt)) {
|
|
17
|
-
throw new Error(`Key ${key} has invalid value ${opt}`);
|
|
18
|
-
}
|
|
19
|
-
return intOpt;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function numberOrBoolParser(key) {
|
|
24
|
-
return function (opt) {
|
|
25
|
-
if (typeof opt === 'boolean') {
|
|
26
|
-
return opt;
|
|
27
|
-
}
|
|
28
|
-
if (opt === 'true') {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (opt === 'false') {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return numberParser(key)(opt);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function objectParser(opt) {
|
|
39
|
-
if (typeof opt == 'object') {
|
|
40
|
-
return opt;
|
|
41
|
-
}
|
|
42
|
-
return JSON.parse(opt);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function arrayParser(opt) {
|
|
46
|
-
if (Array.isArray(opt)) {
|
|
47
|
-
return opt;
|
|
48
|
-
} else if (typeof opt === 'string') {
|
|
49
|
-
return opt.split(',');
|
|
50
|
-
} else {
|
|
51
|
-
throw new Error(`${opt} should be a comma separated string or an array`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function moduleOrObjectParser(opt) {
|
|
56
|
-
if (typeof opt == 'object') {
|
|
57
|
-
return opt;
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
return JSON.parse(opt);
|
|
61
|
-
} catch (e) {/* */}
|
|
62
|
-
return opt;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function booleanParser(opt) {
|
|
66
|
-
if (opt == true || opt == 'true' || opt == '1') {
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function nullParser(opt) {
|
|
73
|
-
if (opt == 'null') {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
return opt;
|
|
77
|
-
}
|
package/lib/cloud-code/.DS_Store
DELETED
|
Binary file
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
class HTTPResponse {
|
|
7
|
-
constructor(response, body) {
|
|
8
|
-
let _text, _data;
|
|
9
|
-
this.status = response.statusCode;
|
|
10
|
-
this.headers = response.headers || {};
|
|
11
|
-
this.cookies = this.headers["set-cookie"];
|
|
12
|
-
|
|
13
|
-
if (typeof body == 'string') {
|
|
14
|
-
_text = body;
|
|
15
|
-
} else if (Buffer.isBuffer(body)) {
|
|
16
|
-
this.buffer = body;
|
|
17
|
-
} else if (typeof body == 'object') {
|
|
18
|
-
_data = body;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const getText = () => {
|
|
22
|
-
if (!_text && this.buffer) {
|
|
23
|
-
_text = this.buffer.toString('utf-8');
|
|
24
|
-
} else if (!_text && _data) {
|
|
25
|
-
_text = JSON.stringify(_data);
|
|
26
|
-
}
|
|
27
|
-
return _text;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const getData = () => {
|
|
31
|
-
if (!_data) {
|
|
32
|
-
try {
|
|
33
|
-
_data = JSON.parse(getText());
|
|
34
|
-
} catch (e) {/* */}
|
|
35
|
-
}
|
|
36
|
-
return _data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
Object.defineProperty(this, 'body', {
|
|
40
|
-
get: () => {
|
|
41
|
-
return body;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
Object.defineProperty(this, 'text', {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
get: getText
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
Object.defineProperty(this, 'data', {
|
|
51
|
-
enumerable: true,
|
|
52
|
-
get: getData
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.default = HTTPResponse;
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbG91ZC1jb2RlL0hUVFBSZXNwb25zZS5qcyJdLCJuYW1lcyI6WyJIVFRQUmVzcG9uc2UiLCJjb25zdHJ1Y3RvciIsInJlc3BvbnNlIiwiYm9keSIsIl90ZXh0IiwiX2RhdGEiLCJzdGF0dXMiLCJzdGF0dXNDb2RlIiwiaGVhZGVycyIsImNvb2tpZXMiLCJCdWZmZXIiLCJpc0J1ZmZlciIsImJ1ZmZlciIsImdldFRleHQiLCJ0b1N0cmluZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXREYXRhIiwicGFyc2UiLCJlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJlbnVtZXJhYmxlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUNlLE1BQU1BLFlBQU4sQ0FBbUI7QUFDaENDLGNBQVlDLFFBQVosRUFBc0JDLElBQXRCLEVBQTRCO0FBQzFCLFFBQUlDLEtBQUosRUFBV0MsS0FBWDtBQUNBLFNBQUtDLE1BQUwsR0FBY0osU0FBU0ssVUFBdkI7QUFDQSxTQUFLQyxPQUFMLEdBQWVOLFNBQVNNLE9BQVQsSUFBb0IsRUFBbkM7QUFDQSxTQUFLQyxPQUFMLEdBQWUsS0FBS0QsT0FBTCxDQUFhLFlBQWIsQ0FBZjs7QUFFQSxRQUFJLE9BQU9MLElBQVAsSUFBZSxRQUFuQixFQUE2QjtBQUMzQkMsY0FBUUQsSUFBUjtBQUNELEtBRkQsTUFFTyxJQUFJTyxPQUFPQyxRQUFQLENBQWdCUixJQUFoQixDQUFKLEVBQTJCO0FBQ2hDLFdBQUtTLE1BQUwsR0FBY1QsSUFBZDtBQUNELEtBRk0sTUFFQSxJQUFJLE9BQU9BLElBQVAsSUFBZSxRQUFuQixFQUE2QjtBQUNsQ0UsY0FBUUYsSUFBUjtBQUNEOztBQUVELFVBQU1VLFVBQVUsTUFBTTtBQUNwQixVQUFJLENBQUNULEtBQUQsSUFBVSxLQUFLUSxNQUFuQixFQUEyQjtBQUN6QlIsZ0JBQVEsS0FBS1EsTUFBTCxDQUFZRSxRQUFaLENBQXFCLE9BQXJCLENBQVI7QUFDRCxPQUZELE1BRU8sSUFBSSxDQUFDVixLQUFELElBQVVDLEtBQWQsRUFBcUI7QUFDMUJELGdCQUFRVyxLQUFLQyxTQUFMLENBQWVYLEtBQWYsQ0FBUjtBQUNEO0FBQ0QsYUFBT0QsS0FBUDtBQUNELEtBUEQ7O0FBU0EsVUFBTWEsVUFBVSxNQUFNO0FBQ3BCLFVBQUksQ0FBQ1osS0FBTCxFQUFZO0FBQ1YsWUFBSTtBQUNGQSxrQkFBUVUsS0FBS0csS0FBTCxDQUFXTCxTQUFYLENBQVI7QUFDRCxTQUZELENBRUUsT0FBT00sQ0FBUCxFQUFVLENBQUUsS0FBTztBQUN0QjtBQUNELGFBQU9kLEtBQVA7QUFDRCxLQVBEOztBQVNBZSxXQUFPQyxjQUFQLENBQXNCLElBQXRCLEVBQTRCLE1BQTVCLEVBQW9DO0FBQ2xDQyxXQUFLLE1BQU07QUFBRSxlQUFPbkIsSUFBUDtBQUFhO0FBRFEsS0FBcEM7O0FBSUFpQixXQUFPQyxjQUFQLENBQXNCLElBQXRCLEVBQTRCLE1BQTVCLEVBQW9DO0FBQ2xDRSxrQkFBWSxJQURzQjtBQUVsQ0QsV0FBS1Q7QUFGNkIsS0FBcEM7O0FBS0FPLFdBQU9DLGNBQVAsQ0FBc0IsSUFBdEIsRUFBNEIsTUFBNUIsRUFBb0M7QUFDbENFLGtCQUFZLElBRHNCO0FBRWxDRCxXQUFLTDtBQUY2QixLQUFwQztBQUlEO0FBOUMrQjtrQkFBYmpCLFkiLCJmaWxlIjoiSFRUUFJlc3BvbnNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIVFRQUmVzcG9uc2Uge1xuICBjb25zdHJ1Y3RvcihyZXNwb25zZSwgYm9keSkge1xuICAgIGxldCBfdGV4dCwgX2RhdGE7XG4gICAgdGhpcy5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXNDb2RlO1xuICAgIHRoaXMuaGVhZGVycyA9IHJlc3BvbnNlLmhlYWRlcnMgfHwge307XG4gICAgdGhpcy5jb29raWVzID0gdGhpcy5oZWFkZXJzW1wic2V0LWNvb2tpZVwiXTtcblxuICAgIGlmICh0eXBlb2YgYm9keSA9PSAnc3RyaW5nJykge1xuICAgICAgX3RleHQgPSBib2R5O1xuICAgIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKGJvZHkpKSB7XG4gICAgICB0aGlzLmJ1ZmZlciA9IGJvZHk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYm9keSA9PSAnb2JqZWN0Jykge1xuICAgICAgX2RhdGEgPSBib2R5O1xuICAgIH1cblxuICAgIGNvbnN0IGdldFRleHQgPSAoKSA9PiB7XG4gICAgICBpZiAoIV90ZXh0ICYmIHRoaXMuYnVmZmVyKSB7XG4gICAgICAgIF90ZXh0ID0gdGhpcy5idWZmZXIudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgICB9IGVsc2UgaWYgKCFfdGV4dCAmJiBfZGF0YSkge1xuICAgICAgICBfdGV4dCA9IEpTT04uc3RyaW5naWZ5KF9kYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBfdGV4dDtcbiAgICB9XG5cbiAgICBjb25zdCBnZXREYXRhID0gKCkgPT4ge1xuICAgICAgaWYgKCFfZGF0YSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIF9kYXRhID0gSlNPTi5wYXJzZShnZXRUZXh0KCkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7IC8qICovIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBfZGF0YTtcbiAgICB9XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2JvZHknLCB7XG4gICAgICBnZXQ6ICgpID0+IHsgcmV0dXJuIGJvZHkgfVxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0ZXh0Jywge1xuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZ2V0VGV4dFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdkYXRhJywge1xuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZ2V0RGF0YVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|