@ditojs/server 0.275.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +25 -43
- package/src/app/Application.js +105 -111
- package/src/app/Validator.js +6 -3
- package/src/app/index.js +2 -2
- package/src/cli/db/createMigration.js +1 -1
- package/src/cli/db/index.js +7 -7
- package/src/cli/db/listAssetConfig.js +1 -1
- package/src/cli/db/reset.js +1 -1
- package/src/cli/index.js +14 -5
- package/src/controllers/AdminController.js +181 -158
- package/src/controllers/CollectionController.js +8 -29
- package/src/controllers/Controller.js +71 -76
- package/src/controllers/ControllerAction.js +39 -17
- package/src/controllers/MemberAction.js +2 -2
- package/src/controllers/ModelController.js +4 -4
- package/src/controllers/RelationController.js +3 -3
- package/src/controllers/{UserController.js → UsersController.js} +8 -13
- package/src/controllers/index.js +5 -5
- package/src/decorators/action.js +3 -3
- package/src/decorators/authorize.js +1 -1
- package/src/decorators/index.js +6 -6
- package/src/decorators/parameters.js +1 -1
- package/src/decorators/returns.js +1 -1
- package/src/decorators/scope.js +1 -1
- package/src/decorators/transacted.js +1 -1
- package/src/errors/AssetError.js +1 -1
- package/src/errors/AuthenticationError.js +1 -1
- package/src/errors/AuthorizationError.js +1 -1
- package/src/errors/ControllerError.js +1 -1
- package/src/errors/DatabaseError.js +12 -3
- package/src/errors/GraphError.js +1 -1
- package/src/errors/ModelError.js +1 -1
- package/src/errors/NotFoundError.js +1 -1
- package/src/errors/NotImplementedError.js +1 -1
- package/src/errors/QueryBuilderError.js +1 -1
- package/src/errors/RelationError.js +1 -1
- package/src/errors/ValidationError.js +1 -1
- package/src/errors/WrappedError.js +1 -1
- package/src/errors/index.js +14 -14
- package/src/graph/DitoGraphProcessor.js +2 -1
- package/src/graph/graph.js +1 -1
- package/src/graph/index.js +3 -3
- package/src/index.js +11 -9
- package/src/lib/index.js +2 -2
- package/src/middleware/createTransaction.js +1 -1
- package/src/middleware/findRoute.js +3 -2
- package/src/middleware/handleConnectMiddleware.js +88 -0
- package/src/middleware/handleError.js +1 -1
- package/src/middleware/handleRoute.js +3 -3
- package/src/middleware/index.js +8 -7
- package/src/mixins/AssetMixin.js +1 -1
- package/src/mixins/UserMixin.js +1 -1
- package/src/mixins/index.js +4 -4
- package/src/models/AssetModel.js +2 -2
- package/src/models/Model.js +16 -12
- package/src/models/RelationAccessor.js +1 -1
- package/src/models/SessionModel.js +2 -2
- package/src/models/TimeStampedModel.js +2 -2
- package/src/models/UserModel.js +2 -2
- package/src/models/definitions/assets.js +1 -1
- package/src/models/definitions/filters.js +57 -44
- package/src/models/definitions/hooks.js +1 -1
- package/src/models/definitions/index.js +9 -9
- package/src/models/definitions/modifiers.js +1 -1
- package/src/models/definitions/options.js +1 -1
- package/src/models/definitions/properties.js +2 -2
- package/src/models/definitions/relations.js +1 -1
- package/src/models/definitions/schema.js +1 -1
- package/src/models/definitions/scopes.js +2 -2
- package/src/models/index.js +5 -5
- package/src/query/QueryBuilder.js +5 -5
- package/src/query/QueryFilters.js +50 -50
- package/src/query/QueryParameters.js +2 -2
- package/src/query/index.js +3 -3
- package/src/schema/formats/index.js +2 -2
- package/src/schema/index.js +4 -4
- package/src/schema/keywords/_relate.js +1 -1
- package/src/schema/keywords/index.js +12 -12
- package/src/schema/properties.test.js +1 -1
- package/src/schema/relations.js +1 -1
- package/src/schema/relations.test.js +2 -2
- package/src/services/index.js +1 -1
- package/src/storage/DiskStorage.js +1 -1
- package/src/storage/S3Storage.js +4 -4
- package/src/storage/Storage.js +1 -1
- package/src/storage/index.js +4 -4
- package/src/utils/function.test.js +1 -1
- package/src/utils/handler.js +17 -0
- package/src/utils/index.js +8 -7
- package/src/utils/object.test.js +1 -1
- package/lib/app/Application.js +0 -961
- package/lib/app/SessionStore.js +0 -40
- package/lib/app/Validator.js +0 -355
- package/lib/app/index.js +0 -26
- package/lib/cli/console.js +0 -175
- package/lib/cli/db/createMigration.js +0 -237
- package/lib/cli/db/index.js +0 -66
- package/lib/cli/db/listAssetConfig.js +0 -16
- package/lib/cli/db/migrate.js +0 -15
- package/lib/cli/db/reset.js +0 -27
- package/lib/cli/db/rollback.js +0 -15
- package/lib/cli/db/seed.js +0 -104
- package/lib/cli/db/unlock.js +0 -15
- package/lib/cli/index.js +0 -90
- package/lib/controllers/AdminController.js +0 -258
- package/lib/controllers/CollectionController.js +0 -263
- package/lib/controllers/Controller.js +0 -462
- package/lib/controllers/ControllerAction.js +0 -276
- package/lib/controllers/MemberAction.js +0 -22
- package/lib/controllers/ModelController.js +0 -64
- package/lib/controllers/RelationController.js +0 -82
- package/lib/controllers/UserController.js +0 -98
- package/lib/controllers/index.js +0 -50
- package/lib/decorators/action.js +0 -14
- package/lib/decorators/authorize.js +0 -13
- package/lib/decorators/index.js +0 -58
- package/lib/decorators/parameters.js +0 -35
- package/lib/decorators/returns.js +0 -26
- package/lib/decorators/scope.js +0 -14
- package/lib/decorators/transacted.js +0 -12
- package/lib/errors/AssetError.js +0 -19
- package/lib/errors/AuthenticationError.js +0 -19
- package/lib/errors/AuthorizationError.js +0 -19
- package/lib/errors/ControllerError.js +0 -24
- package/lib/errors/DatabaseError.js +0 -27
- package/lib/errors/GraphError.js +0 -19
- package/lib/errors/ModelError.js +0 -24
- package/lib/errors/NotFoundError.js +0 -19
- package/lib/errors/NotImplementedError.js +0 -19
- package/lib/errors/QueryBuilderError.js +0 -19
- package/lib/errors/RelationError.js +0 -36
- package/lib/errors/ResponseError.js +0 -46
- package/lib/errors/ValidationError.js +0 -19
- package/lib/errors/WrappedError.js +0 -24
- package/lib/errors/index.js +0 -122
- package/lib/graph/DitoGraphProcessor.js +0 -185
- package/lib/graph/expression.js +0 -76
- package/lib/graph/graph.js +0 -300
- package/lib/graph/index.js +0 -34
- package/lib/index.js +0 -82
- package/lib/lib/EventEmitter.js +0 -76
- package/lib/lib/KnexHelper.js +0 -40
- package/lib/lib/index.js +0 -26
- package/lib/middleware/attachLogger.js +0 -16
- package/lib/middleware/createTransaction.js +0 -36
- package/lib/middleware/findRoute.js +0 -35
- package/lib/middleware/handleError.js +0 -26
- package/lib/middleware/handleRoute.js +0 -29
- package/lib/middleware/handleUser.js +0 -36
- package/lib/middleware/index.js +0 -66
- package/lib/middleware/logRequests.js +0 -122
- package/lib/mixins/AssetMixin.js +0 -81
- package/lib/mixins/SessionMixin.js +0 -22
- package/lib/mixins/TimeStampedMixin.js +0 -47
- package/lib/mixins/UserMixin.js +0 -151
- package/lib/mixins/index.js +0 -42
- package/lib/models/AssetModel.js +0 -12
- package/lib/models/Model.js +0 -953
- package/lib/models/RelationAccessor.js +0 -41
- package/lib/models/SessionModel.js +0 -12
- package/lib/models/TimeStampedModel.js +0 -12
- package/lib/models/UserModel.js +0 -12
- package/lib/models/definitions/assets.js +0 -11
- package/lib/models/definitions/filters.js +0 -101
- package/lib/models/definitions/hooks.js +0 -11
- package/lib/models/definitions/index.js +0 -38
- package/lib/models/definitions/modifiers.js +0 -11
- package/lib/models/definitions/options.js +0 -11
- package/lib/models/definitions/properties.js +0 -87
- package/lib/models/definitions/relations.js +0 -11
- package/lib/models/definitions/schema.js +0 -11
- package/lib/models/definitions/scopes.js +0 -51
- package/lib/models/index.js +0 -50
- package/lib/query/QueryBuilder.js +0 -745
- package/lib/query/QueryFilters.js +0 -82
- package/lib/query/QueryParameters.js +0 -77
- package/lib/query/Registry.js +0 -40
- package/lib/query/index.js +0 -34
- package/lib/schema/formats/_empty.js +0 -10
- package/lib/schema/formats/_required.js +0 -10
- package/lib/schema/formats/index.js +0 -26
- package/lib/schema/index.js +0 -49
- package/lib/schema/keywords/_computed.js +0 -11
- package/lib/schema/keywords/_foreign.js +0 -11
- package/lib/schema/keywords/_hidden.js +0 -11
- package/lib/schema/keywords/_index.js +0 -11
- package/lib/schema/keywords/_instanceof.js +0 -49
- package/lib/schema/keywords/_primary.js +0 -11
- package/lib/schema/keywords/_range.js +0 -26
- package/lib/schema/keywords/_relate.js +0 -19
- package/lib/schema/keywords/_specificType.js +0 -11
- package/lib/schema/keywords/_unique.js +0 -11
- package/lib/schema/keywords/_unsigned.js +0 -11
- package/lib/schema/keywords/_validate.js +0 -80
- package/lib/schema/keywords/index.js +0 -106
- package/lib/schema/properties.js +0 -227
- package/lib/schema/properties.test.js +0 -573
- package/lib/schema/relations.js +0 -274
- package/lib/schema/relations.test.js +0 -155
- package/lib/services/Service.js +0 -34
- package/lib/services/index.js +0 -18
- package/lib/storage/AssetFile.js +0 -97
- package/lib/storage/DiskStorage.js +0 -125
- package/lib/storage/S3Storage.js +0 -171
- package/lib/storage/Storage.js +0 -209
- package/lib/storage/index.js +0 -34
- package/lib/utils/decorator.js +0 -16
- package/lib/utils/deprecate.js +0 -46
- package/lib/utils/emitter.js +0 -13
- package/lib/utils/function.js +0 -14
- package/lib/utils/function.test.js +0 -49
- package/lib/utils/index.js +0 -66
- package/lib/utils/json.js +0 -9
- package/lib/utils/object.js +0 -92
- package/lib/utils/object.test.js +0 -65
- package/lib/utils/scope.js +0 -14
package/lib/utils/emitter.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.emitAsync = emitAsync;
|
|
5
|
-
|
|
6
|
-
require("core-js/modules/esnext.async-iterator.map.js");
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
|
|
10
|
-
function emitAsync(emitter, event, ...args) {
|
|
11
|
-
return Promise.all(emitter.listeners(event).map(listener => listener.call(emitter, ...args)));
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbWl0dGVyLmpzIl0sIm5hbWVzIjpbImVtaXRBc3luYyIsImVtaXR0ZXIiLCJldmVudCIsImFyZ3MiLCJQcm9taXNlIiwiYWxsIiwibGlzdGVuZXJzIiwibWFwIiwibGlzdGVuZXIiLCJjYWxsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBTyxTQUFTQSxTQUFULENBQW1CQyxPQUFuQixFQUE0QkMsS0FBNUIsRUFBbUMsR0FBR0MsSUFBdEMsRUFBNEM7QUFDakQsU0FBT0MsT0FBTyxDQUFDQyxHQUFSLENBQ0xKLE9BQU8sQ0FBQ0ssU0FBUixDQUFrQkosS0FBbEIsRUFBeUJLLEdBQXpCLENBQ0VDLFFBQVEsSUFBSUEsUUFBUSxDQUFDQyxJQUFULENBQWNSLE9BQWQsRUFBdUIsR0FBR0UsSUFBMUIsQ0FEZCxDQURLLENBQVA7QUFLRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBlbWl0QXN5bmMoZW1pdHRlciwgZXZlbnQsIC4uLmFyZ3MpIHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIGVtaXR0ZXIubGlzdGVuZXJzKGV2ZW50KS5tYXAoXG4gICAgICBsaXN0ZW5lciA9PiBsaXN0ZW5lci5jYWxsKGVtaXR0ZXIsIC4uLmFyZ3MpXG4gICAgKVxuICApXG59XG4iXX0=
|
package/lib/utils/function.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.describeFunction = describeFunction;
|
|
5
|
-
|
|
6
|
-
function describeFunction(func) {
|
|
7
|
-
const match = func.toString().match(/^\s*(async\s*|)(?:function[^(]*\(([^)]*)\)|\(([^)]*)\)\s*=>|(\S*)\s*=>)\s*(.)/);
|
|
8
|
-
|
|
9
|
-
if (match) {
|
|
10
|
-
const body = match[5] === '{' ? '{ ... }' : '...';
|
|
11
|
-
return match[2] !== undefined ? `${match[1]}function (${match[2]}) ${body}` : match[3] !== undefined ? `${match[1]}(${match[3]}) => ${body}` : match[4] !== undefined ? `${match[1]}${match[4]} => ${body}` : '';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mdW5jdGlvbi5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZUZ1bmN0aW9uIiwiZnVuYyIsIm1hdGNoIiwidG9TdHJpbmciLCJib2R5IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFPLFNBQVNBLGdCQUFULENBQTBCQyxJQUExQixFQUFnQztBQUdyQyxRQUFNQyxLQUFLLEdBQUdELElBQUksQ0FBQ0UsUUFBTCxHQUFnQkQsS0FBaEIsQ0FDWiwrRUFEWSxDQUFkOztBQUdBLE1BQUlBLEtBQUosRUFBVztBQUNULFVBQU1FLElBQUksR0FBR0YsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhLEdBQWIsR0FBbUIsU0FBbkIsR0FBK0IsS0FBNUM7QUFDQSxXQUFPQSxLQUFLLENBQUMsQ0FBRCxDQUFMLEtBQWFHLFNBQWIsR0FBMEIsR0FBRUgsS0FBSyxDQUFDLENBQUQsQ0FBSSxhQUFZQSxLQUFLLENBQUMsQ0FBRCxDQUFJLEtBQUlFLElBQUssRUFBbkUsR0FDSEYsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhRyxTQUFiLEdBQTBCLEdBQUVILEtBQUssQ0FBQyxDQUFELENBQUksSUFBR0EsS0FBSyxDQUFDLENBQUQsQ0FBSSxRQUFPRSxJQUFLLEVBQTdELEdBQ0FGLEtBQUssQ0FBQyxDQUFELENBQUwsS0FBYUcsU0FBYixHQUEwQixHQUFFSCxLQUFLLENBQUMsQ0FBRCxDQUFJLEdBQUVBLEtBQUssQ0FBQyxDQUFELENBQUksT0FBTUUsSUFBSyxFQUEzRCxHQUNBLEVBSEo7QUFJRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlRnVuY3Rpb24oZnVuYykge1xuICAvLyBBIGhlbHBlciB0aGF0IGRlc2NyaWJlcyBhIG1ldGhvZCBieSB0dXJuaW5nIGl0IGludCBhIHNob3J0IHZlcnNpb24gd2l0aG91dFxuICAvLyBwcmludGluZyBpdHMgYm9keS5cbiAgY29uc3QgbWF0Y2ggPSBmdW5jLnRvU3RyaW5nKCkubWF0Y2goXG4gICAgL15cXHMqKGFzeW5jXFxzKnwpKD86ZnVuY3Rpb25bXihdKlxcKChbXildKilcXCl8XFwoKFteKV0qKVxcKVxccyo9PnwoXFxTKilcXHMqPT4pXFxzKiguKS9cbiAgKVxuICBpZiAobWF0Y2gpIHtcbiAgICBjb25zdCBib2R5ID0gbWF0Y2hbNV0gPT09ICd7JyA/ICd7IC4uLiB9JyA6ICcuLi4nXG4gICAgcmV0dXJuIG1hdGNoWzJdICE9PSB1bmRlZmluZWQgPyBgJHttYXRjaFsxXX1mdW5jdGlvbiAoJHttYXRjaFsyXX0pICR7Ym9keX1gXG4gICAgICA6IG1hdGNoWzNdICE9PSB1bmRlZmluZWQgPyBgJHttYXRjaFsxXX0oJHttYXRjaFszXX0pID0+ICR7Ym9keX1gXG4gICAgICA6IG1hdGNoWzRdICE9PSB1bmRlZmluZWQgPyBgJHttYXRjaFsxXX0ke21hdGNoWzRdfSA9PiAke2JvZHl9YFxuICAgICAgOiAnJ1xuICB9XG59XG4iXX0=
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _function = require("./function");
|
|
4
|
-
|
|
5
|
-
describe('describeFunction()', () => {
|
|
6
|
-
it('describes normal functions', () => {
|
|
7
|
-
expect((0, _function.describeFunction)(function (a, b, c) {
|
|
8
|
-
return a + b + c;
|
|
9
|
-
})).toBe('function (a, b, c) { ... }');
|
|
10
|
-
});
|
|
11
|
-
it('describes lambdas with one param and a body', () => {
|
|
12
|
-
expect((0, _function.describeFunction)(a => {
|
|
13
|
-
return a;
|
|
14
|
-
})).toBe('a => { ... }');
|
|
15
|
-
});
|
|
16
|
-
it('describes lambdas with one param and no body', () => {
|
|
17
|
-
expect((0, _function.describeFunction)(a => a)).toBe('a => ...');
|
|
18
|
-
});
|
|
19
|
-
it('describes lambdas with multiple params and a body', () => {
|
|
20
|
-
expect((0, _function.describeFunction)((a, b, c) => {
|
|
21
|
-
return a + b + c;
|
|
22
|
-
})).toBe('(a, b, c) => { ... }');
|
|
23
|
-
});
|
|
24
|
-
it('describes lambdas with multiple params and no body', () => {
|
|
25
|
-
expect((0, _function.describeFunction)((a, b, c) => a + b + c)).toBe('(a, b, c) => ...');
|
|
26
|
-
});
|
|
27
|
-
it('describes async functions', () => {
|
|
28
|
-
expect((0, _function.describeFunction)(async function (a, b, c) {
|
|
29
|
-
return a + b + c;
|
|
30
|
-
})).toBe('async function (a, b, c) { ... }');
|
|
31
|
-
});
|
|
32
|
-
it('describes lambdas with one param and a body', () => {
|
|
33
|
-
expect((0, _function.describeFunction)(async a => {
|
|
34
|
-
return a;
|
|
35
|
-
})).toBe('async a => { ... }');
|
|
36
|
-
});
|
|
37
|
-
it('describes lambdas with one param and no body', () => {
|
|
38
|
-
expect((0, _function.describeFunction)(async a => a)).toBe('async a => ...');
|
|
39
|
-
});
|
|
40
|
-
it('describes lambdas with multiple params and a body', () => {
|
|
41
|
-
expect((0, _function.describeFunction)(async (a, b, c) => {
|
|
42
|
-
return a + b + c;
|
|
43
|
-
})).toBe('async (a, b, c) => { ... }');
|
|
44
|
-
});
|
|
45
|
-
it('describes lambdas with multiple params and no body', () => {
|
|
46
|
-
expect((0, _function.describeFunction)(async (a, b, c) => a + b + c)).toBe('async (a, b, c) => ...');
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mdW5jdGlvbi50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJhIiwiYiIsImMiLCJ0b0JlIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUVBQSxRQUFRLENBQUMsb0JBQUQsRUFBdUIsTUFBTTtBQUNuQ0MsRUFBQUEsRUFBRSxDQUFDLDRCQUFELEVBQStCLE1BQU07QUFDckNDLElBQUFBLE1BQU0sQ0FBQyxnQ0FBaUIsVUFBU0MsQ0FBVCxFQUFZQyxDQUFaLEVBQWVDLENBQWYsRUFBa0I7QUFBRSxhQUFPRixDQUFDLEdBQUdDLENBQUosR0FBUUMsQ0FBZjtBQUFrQixLQUF2RCxDQUFELENBQU4sQ0FDR0MsSUFESCxDQUNRLDRCQURSO0FBRUQsR0FIQyxDQUFGO0FBS0FMLEVBQUFBLEVBQUUsQ0FBQyw2Q0FBRCxFQUFnRCxNQUFNO0FBQ3REQyxJQUFBQSxNQUFNLENBQUMsZ0NBQWlCQyxDQUFDLElBQUk7QUFBRSxhQUFPQSxDQUFQO0FBQVUsS0FBbEMsQ0FBRCxDQUFOLENBQ0dHLElBREgsQ0FDUSxjQURSO0FBRUQsR0FIQyxDQUFGO0FBS0FMLEVBQUFBLEVBQUUsQ0FBQyw4Q0FBRCxFQUFpRCxNQUFNO0FBQ3ZEQyxJQUFBQSxNQUFNLENBQUMsZ0NBQWlCQyxDQUFDLElBQUlBLENBQXRCLENBQUQsQ0FBTixDQUNHRyxJQURILENBQ1EsVUFEUjtBQUVELEdBSEMsQ0FBRjtBQUtBTCxFQUFBQSxFQUFFLENBQUMsbURBQUQsRUFBc0QsTUFBTTtBQUM1REMsSUFBQUEsTUFBTSxDQUFDLGdDQUFpQixDQUFDQyxDQUFELEVBQUlDLENBQUosRUFBT0MsQ0FBUCxLQUFhO0FBQUUsYUFBT0YsQ0FBQyxHQUFHQyxDQUFKLEdBQVFDLENBQWY7QUFBa0IsS0FBbEQsQ0FBRCxDQUFOLENBQ0dDLElBREgsQ0FDUSxzQkFEUjtBQUVELEdBSEMsQ0FBRjtBQUtBTCxFQUFBQSxFQUFFLENBQUMsb0RBQUQsRUFBdUQsTUFBTTtBQUM3REMsSUFBQUEsTUFBTSxDQUFDLGdDQUFpQixDQUFDQyxDQUFELEVBQUlDLENBQUosRUFBT0MsQ0FBUCxLQUFhRixDQUFDLEdBQUdDLENBQUosR0FBUUMsQ0FBdEMsQ0FBRCxDQUFOLENBQ0dDLElBREgsQ0FDUSxrQkFEUjtBQUVELEdBSEMsQ0FBRjtBQUtBTCxFQUFBQSxFQUFFLENBQUMsMkJBQUQsRUFBOEIsTUFBTTtBQUNwQ0MsSUFBQUEsTUFBTSxDQUFDLGdDQUFpQixnQkFBZUMsQ0FBZixFQUFrQkMsQ0FBbEIsRUFBcUJDLENBQXJCLEVBQXdCO0FBQUUsYUFBT0YsQ0FBQyxHQUFHQyxDQUFKLEdBQVFDLENBQWY7QUFBa0IsS0FBN0QsQ0FBRCxDQUFOLENBQ0dDLElBREgsQ0FDUSxrQ0FEUjtBQUVELEdBSEMsQ0FBRjtBQUtBTCxFQUFBQSxFQUFFLENBQUMsNkNBQUQsRUFBZ0QsTUFBTTtBQUN0REMsSUFBQUEsTUFBTSxDQUFDLGdDQUFpQixNQUFNQyxDQUFOLElBQVc7QUFBRSxhQUFPQSxDQUFQO0FBQVUsS0FBeEMsQ0FBRCxDQUFOLENBQ0dHLElBREgsQ0FDUSxvQkFEUjtBQUVELEdBSEMsQ0FBRjtBQUtBTCxFQUFBQSxFQUFFLENBQUMsOENBQUQsRUFBaUQsTUFBTTtBQUN2REMsSUFBQUEsTUFBTSxDQUFDLGdDQUFpQixNQUFNQyxDQUFOLElBQVdBLENBQTVCLENBQUQsQ0FBTixDQUNHRyxJQURILENBQ1EsZ0JBRFI7QUFFRCxHQUhDLENBQUY7QUFLQUwsRUFBQUEsRUFBRSxDQUFDLG1EQUFELEVBQXNELE1BQU07QUFDNURDLElBQUFBLE1BQU0sQ0FBQyxnQ0FBaUIsT0FBT0MsQ0FBUCxFQUFVQyxDQUFWLEVBQWFDLENBQWIsS0FBbUI7QUFBRSxhQUFPRixDQUFDLEdBQUdDLENBQUosR0FBUUMsQ0FBZjtBQUFrQixLQUF4RCxDQUFELENBQU4sQ0FDR0MsSUFESCxDQUNRLDRCQURSO0FBRUQsR0FIQyxDQUFGO0FBS0FMLEVBQUFBLEVBQUUsQ0FBQyxvREFBRCxFQUF1RCxNQUFNO0FBQzdEQyxJQUFBQSxNQUFNLENBQUMsZ0NBQWlCLE9BQU9DLENBQVAsRUFBVUMsQ0FBVixFQUFhQyxDQUFiLEtBQW1CRixDQUFDLEdBQUdDLENBQUosR0FBUUMsQ0FBNUMsQ0FBRCxDQUFOLENBQ0dDLElBREgsQ0FDUSx3QkFEUjtBQUVELEdBSEMsQ0FBRjtBQUlELENBbERPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZUZ1bmN0aW9uIH0gZnJvbSAnLi9mdW5jdGlvbidcblxuZGVzY3JpYmUoJ2Rlc2NyaWJlRnVuY3Rpb24oKScsICgpID0+IHtcbiAgaXQoJ2Rlc2NyaWJlcyBub3JtYWwgZnVuY3Rpb25zJywgKCkgPT4ge1xuICAgIGV4cGVjdChkZXNjcmliZUZ1bmN0aW9uKGZ1bmN0aW9uKGEsIGIsIGMpIHsgcmV0dXJuIGEgKyBiICsgYyB9KSlcbiAgICAgIC50b0JlKCdmdW5jdGlvbiAoYSwgYiwgYykgeyAuLi4gfScpXG4gIH0pXG5cbiAgaXQoJ2Rlc2NyaWJlcyBsYW1iZGFzIHdpdGggb25lIHBhcmFtIGFuZCBhIGJvZHknLCAoKSA9PiB7XG4gICAgZXhwZWN0KGRlc2NyaWJlRnVuY3Rpb24oYSA9PiB7IHJldHVybiBhIH0pKVxuICAgICAgLnRvQmUoJ2EgPT4geyAuLi4gfScpXG4gIH0pXG5cbiAgaXQoJ2Rlc2NyaWJlcyBsYW1iZGFzIHdpdGggb25lIHBhcmFtIGFuZCBubyBib2R5JywgKCkgPT4ge1xuICAgIGV4cGVjdChkZXNjcmliZUZ1bmN0aW9uKGEgPT4gYSkpXG4gICAgICAudG9CZSgnYSA9PiAuLi4nKVxuICB9KVxuXG4gIGl0KCdkZXNjcmliZXMgbGFtYmRhcyB3aXRoIG11bHRpcGxlIHBhcmFtcyBhbmQgYSBib2R5JywgKCkgPT4ge1xuICAgIGV4cGVjdChkZXNjcmliZUZ1bmN0aW9uKChhLCBiLCBjKSA9PiB7IHJldHVybiBhICsgYiArIGMgfSkpXG4gICAgICAudG9CZSgnKGEsIGIsIGMpID0+IHsgLi4uIH0nKVxuICB9KVxuXG4gIGl0KCdkZXNjcmliZXMgbGFtYmRhcyB3aXRoIG11bHRpcGxlIHBhcmFtcyBhbmQgbm8gYm9keScsICgpID0+IHtcbiAgICBleHBlY3QoZGVzY3JpYmVGdW5jdGlvbigoYSwgYiwgYykgPT4gYSArIGIgKyBjKSlcbiAgICAgIC50b0JlKCcoYSwgYiwgYykgPT4gLi4uJylcbiAgfSlcblxuICBpdCgnZGVzY3JpYmVzIGFzeW5jIGZ1bmN0aW9ucycsICgpID0+IHtcbiAgICBleHBlY3QoZGVzY3JpYmVGdW5jdGlvbihhc3luYyBmdW5jdGlvbihhLCBiLCBjKSB7IHJldHVybiBhICsgYiArIGMgfSkpXG4gICAgICAudG9CZSgnYXN5bmMgZnVuY3Rpb24gKGEsIGIsIGMpIHsgLi4uIH0nKVxuICB9KVxuXG4gIGl0KCdkZXNjcmliZXMgbGFtYmRhcyB3aXRoIG9uZSBwYXJhbSBhbmQgYSBib2R5JywgKCkgPT4ge1xuICAgIGV4cGVjdChkZXNjcmliZUZ1bmN0aW9uKGFzeW5jIGEgPT4geyByZXR1cm4gYSB9KSlcbiAgICAgIC50b0JlKCdhc3luYyBhID0+IHsgLi4uIH0nKVxuICB9KVxuXG4gIGl0KCdkZXNjcmliZXMgbGFtYmRhcyB3aXRoIG9uZSBwYXJhbSBhbmQgbm8gYm9keScsICgpID0+IHtcbiAgICBleHBlY3QoZGVzY3JpYmVGdW5jdGlvbihhc3luYyBhID0+IGEpKVxuICAgICAgLnRvQmUoJ2FzeW5jIGEgPT4gLi4uJylcbiAgfSlcblxuICBpdCgnZGVzY3JpYmVzIGxhbWJkYXMgd2l0aCBtdWx0aXBsZSBwYXJhbXMgYW5kIGEgYm9keScsICgpID0+IHtcbiAgICBleHBlY3QoZGVzY3JpYmVGdW5jdGlvbihhc3luYyAoYSwgYiwgYykgPT4geyByZXR1cm4gYSArIGIgKyBjIH0pKVxuICAgICAgLnRvQmUoJ2FzeW5jIChhLCBiLCBjKSA9PiB7IC4uLiB9JylcbiAgfSlcblxuICBpdCgnZGVzY3JpYmVzIGxhbWJkYXMgd2l0aCBtdWx0aXBsZSBwYXJhbXMgYW5kIG5vIGJvZHknLCAoKSA9PiB7XG4gICAgZXhwZWN0KGRlc2NyaWJlRnVuY3Rpb24oYXN5bmMgKGEsIGIsIGMpID0+IGEgKyBiICsgYykpXG4gICAgICAudG9CZSgnYXN5bmMgKGEsIGIsIGMpID0+IC4uLicpXG4gIH0pXG59KVxuIl19
|
package/lib/utils/index.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
-
|
|
9
|
-
exports.__esModule = true;
|
|
10
|
-
|
|
11
|
-
var _decorator = require("./decorator");
|
|
12
|
-
|
|
13
|
-
Object.keys(_decorator).forEach(function (key) {
|
|
14
|
-
if (key === "default" || key === "__esModule") return;
|
|
15
|
-
if (key in exports && exports[key] === _decorator[key]) return;
|
|
16
|
-
exports[key] = _decorator[key];
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _deprecate = require("./deprecate");
|
|
20
|
-
|
|
21
|
-
Object.keys(_deprecate).forEach(function (key) {
|
|
22
|
-
if (key === "default" || key === "__esModule") return;
|
|
23
|
-
if (key in exports && exports[key] === _deprecate[key]) return;
|
|
24
|
-
exports[key] = _deprecate[key];
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
var _emitter = require("./emitter");
|
|
28
|
-
|
|
29
|
-
Object.keys(_emitter).forEach(function (key) {
|
|
30
|
-
if (key === "default" || key === "__esModule") return;
|
|
31
|
-
if (key in exports && exports[key] === _emitter[key]) return;
|
|
32
|
-
exports[key] = _emitter[key];
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
var _function = require("./function");
|
|
36
|
-
|
|
37
|
-
Object.keys(_function).forEach(function (key) {
|
|
38
|
-
if (key === "default" || key === "__esModule") return;
|
|
39
|
-
if (key in exports && exports[key] === _function[key]) return;
|
|
40
|
-
exports[key] = _function[key];
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
var _json = require("./json");
|
|
44
|
-
|
|
45
|
-
Object.keys(_json).forEach(function (key) {
|
|
46
|
-
if (key === "default" || key === "__esModule") return;
|
|
47
|
-
if (key in exports && exports[key] === _json[key]) return;
|
|
48
|
-
exports[key] = _json[key];
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
var _object = require("./object");
|
|
52
|
-
|
|
53
|
-
Object.keys(_object).forEach(function (key) {
|
|
54
|
-
if (key === "default" || key === "__esModule") return;
|
|
55
|
-
if (key in exports && exports[key] === _object[key]) return;
|
|
56
|
-
exports[key] = _object[key];
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
var _scope = require("./scope");
|
|
60
|
-
|
|
61
|
-
Object.keys(_scope).forEach(function (key) {
|
|
62
|
-
if (key === "default" || key === "__esModule") return;
|
|
63
|
-
if (key in exports && exports[key] === _scope[key]) return;
|
|
64
|
-
exports[key] = _scope[key];
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9yJ1xuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNhdGUnXG5leHBvcnQgKiBmcm9tICcuL2VtaXR0ZXInXG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9uJ1xuZXhwb3J0ICogZnJvbSAnLi9qc29uJ1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QnXG5leHBvcnQgKiBmcm9tICcuL3Njb3BlJ1xuIl19
|
package/lib/utils/json.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.formatJson = formatJson;
|
|
5
|
-
|
|
6
|
-
function formatJson(json, indented = true) {
|
|
7
|
-
return JSON.stringify(json, null, indented ? 2 : 0);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9qc29uLmpzIl0sIm5hbWVzIjpbImZvcm1hdEpzb24iLCJqc29uIiwiaW5kZW50ZWQiLCJKU09OIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7OztBQUFPLFNBQVNBLFVBQVQsQ0FBb0JDLElBQXBCLEVBQTBCQyxRQUFRLEdBQUcsSUFBckMsRUFBMkM7QUFDaEQsU0FBT0MsSUFBSSxDQUFDQyxTQUFMLENBQWVILElBQWYsRUFBcUIsSUFBckIsRUFBMkJDLFFBQVEsR0FBRyxDQUFILEdBQU8sQ0FBMUMsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEpzb24oanNvbiwgaW5kZW50ZWQgPSB0cnVlKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBpbmRlbnRlZCA/IDIgOiAwKVxufVxuIl19
|
package/lib/utils/object.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.createLookup = createLookup;
|
|
5
|
-
exports.getAllKeys = getAllKeys;
|
|
6
|
-
exports.getOwnProperty = getOwnProperty;
|
|
7
|
-
exports.mergeAsReversedArrays = mergeAsReversedArrays;
|
|
8
|
-
exports.mergeReversed = mergeReversed;
|
|
9
|
-
exports.mergeReversedOrNull = mergeReversedOrNull;
|
|
10
|
-
exports.setupPropertyInheritance = setupPropertyInheritance;
|
|
11
|
-
|
|
12
|
-
require("core-js/modules/esnext.async-iterator.reduce.js");
|
|
13
|
-
|
|
14
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
-
|
|
16
|
-
require("core-js/modules/esnext.iterator.reduce.js");
|
|
17
|
-
|
|
18
|
-
var _utils = require("@ditojs/utils");
|
|
19
|
-
|
|
20
|
-
function getAllKeys(object) {
|
|
21
|
-
const keys = [];
|
|
22
|
-
|
|
23
|
-
for (const key in object) {
|
|
24
|
-
keys.push(key);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return keys;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function getOwnProperty(object, key) {
|
|
31
|
-
return object.hasOwnProperty(key) ? object[key] : undefined;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function createLookup(keys) {
|
|
35
|
-
return (0, _utils.asArray)(keys).reduce((obj, key) => {
|
|
36
|
-
obj[key] = true;
|
|
37
|
-
return obj;
|
|
38
|
-
}, Object.create(null));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function mergeReversed(objects) {
|
|
42
|
-
return Object.assign({}, ...[...objects].reverse());
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function mergeReversedOrNull(objects) {
|
|
46
|
-
const merged = mergeReversed(objects);
|
|
47
|
-
return Object.keys(merged).length > 0 ? merged : null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function mergeAsReversedArrays(objects) {
|
|
51
|
-
const res = {};
|
|
52
|
-
|
|
53
|
-
for (const object of objects) {
|
|
54
|
-
for (const key in object) {
|
|
55
|
-
const value = object[key];
|
|
56
|
-
|
|
57
|
-
if (key in res) {
|
|
58
|
-
res[key].unshift(value);
|
|
59
|
-
} else {
|
|
60
|
-
res[key] = [value];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return res;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function setupPropertyInheritance(object, key, baseValue = null) {
|
|
69
|
-
let current = object;
|
|
70
|
-
|
|
71
|
-
while (current !== Object.prototype) {
|
|
72
|
-
const parent = Object.getPrototypeOf(current);
|
|
73
|
-
|
|
74
|
-
if (current.hasOwnProperty(key)) {
|
|
75
|
-
const value = current[key];
|
|
76
|
-
const parentValue = parent[key] || baseValue;
|
|
77
|
-
|
|
78
|
-
if (parentValue) {
|
|
79
|
-
Object.setPrototypeOf(value, parentValue);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
current = parent;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (baseValue && !(key in object)) {
|
|
87
|
-
object[key] = Object.setPrototypeOf({}, baseValue);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return object[key];
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9vYmplY3QuanMiXSwibmFtZXMiOlsiZ2V0QWxsS2V5cyIsIm9iamVjdCIsImtleXMiLCJrZXkiLCJwdXNoIiwiZ2V0T3duUHJvcGVydHkiLCJoYXNPd25Qcm9wZXJ0eSIsInVuZGVmaW5lZCIsImNyZWF0ZUxvb2t1cCIsInJlZHVjZSIsIm9iaiIsIk9iamVjdCIsImNyZWF0ZSIsIm1lcmdlUmV2ZXJzZWQiLCJvYmplY3RzIiwiYXNzaWduIiwicmV2ZXJzZSIsIm1lcmdlUmV2ZXJzZWRPck51bGwiLCJtZXJnZWQiLCJsZW5ndGgiLCJtZXJnZUFzUmV2ZXJzZWRBcnJheXMiLCJyZXMiLCJ2YWx1ZSIsInVuc2hpZnQiLCJzZXR1cFByb3BlcnR5SW5oZXJpdGFuY2UiLCJiYXNlVmFsdWUiLCJjdXJyZW50IiwicHJvdG90eXBlIiwicGFyZW50IiwiZ2V0UHJvdG90eXBlT2YiLCJwYXJlbnRWYWx1ZSIsInNldFByb3RvdHlwZU9mIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVPLFNBQVNBLFVBQVQsQ0FBb0JDLE1BQXBCLEVBQTRCO0FBRWpDLFFBQU1DLElBQUksR0FBRyxFQUFiOztBQUNBLE9BQUssTUFBTUMsR0FBWCxJQUFrQkYsTUFBbEIsRUFBMEI7QUFDeEJDLElBQUFBLElBQUksQ0FBQ0UsSUFBTCxDQUFVRCxHQUFWO0FBQ0Q7O0FBQ0QsU0FBT0QsSUFBUDtBQUNEOztBQUVNLFNBQVNHLGNBQVQsQ0FBd0JKLE1BQXhCLEVBQWdDRSxHQUFoQyxFQUFxQztBQUMxQyxTQUFPRixNQUFNLENBQUNLLGNBQVAsQ0FBc0JILEdBQXRCLElBQTZCRixNQUFNLENBQUNFLEdBQUQsQ0FBbkMsR0FBMkNJLFNBQWxEO0FBQ0Q7O0FBRU0sU0FBU0MsWUFBVCxDQUFzQk4sSUFBdEIsRUFBNEI7QUFDakMsU0FBTyxvQkFBUUEsSUFBUixFQUFjTyxNQUFkLENBQXFCLENBQUNDLEdBQUQsRUFBTVAsR0FBTixLQUFjO0FBQ3hDTyxJQUFBQSxHQUFHLENBQUNQLEdBQUQsQ0FBSCxHQUFXLElBQVg7QUFDQSxXQUFPTyxHQUFQO0FBQ0QsR0FITSxFQUdKQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxJQUFkLENBSEksQ0FBUDtBQUlEOztBQUVNLFNBQVNDLGFBQVQsQ0FBdUJDLE9BQXZCLEVBQWdDO0FBQ3JDLFNBQU9ILE1BQU0sQ0FBQ0ksTUFBUCxDQUFjLEVBQWQsRUFBa0IsR0FBRyxDQUFDLEdBQUdELE9BQUosRUFBYUUsT0FBYixFQUFyQixDQUFQO0FBQ0Q7O0FBRU0sU0FBU0MsbUJBQVQsQ0FBNkJILE9BQTdCLEVBQXNDO0FBQzNDLFFBQU1JLE1BQU0sR0FBR0wsYUFBYSxDQUFDQyxPQUFELENBQTVCO0FBQ0EsU0FBT0gsTUFBTSxDQUFDVCxJQUFQLENBQVlnQixNQUFaLEVBQW9CQyxNQUFwQixHQUE2QixDQUE3QixHQUFpQ0QsTUFBakMsR0FBMEMsSUFBakQ7QUFDRDs7QUFFTSxTQUFTRSxxQkFBVCxDQUErQk4sT0FBL0IsRUFBd0M7QUFDN0MsUUFBTU8sR0FBRyxHQUFHLEVBQVo7O0FBQ0EsT0FBSyxNQUFNcEIsTUFBWCxJQUFxQmEsT0FBckIsRUFBOEI7QUFDNUIsU0FBSyxNQUFNWCxHQUFYLElBQWtCRixNQUFsQixFQUEwQjtBQUN4QixZQUFNcUIsS0FBSyxHQUFHckIsTUFBTSxDQUFDRSxHQUFELENBQXBCOztBQUNBLFVBQUlBLEdBQUcsSUFBSWtCLEdBQVgsRUFBZ0I7QUFDZEEsUUFBQUEsR0FBRyxDQUFDbEIsR0FBRCxDQUFILENBQVNvQixPQUFULENBQWlCRCxLQUFqQjtBQUNELE9BRkQsTUFFTztBQUNMRCxRQUFBQSxHQUFHLENBQUNsQixHQUFELENBQUgsR0FBVyxDQUFDbUIsS0FBRCxDQUFYO0FBQ0Q7QUFDRjtBQUNGOztBQUNELFNBQU9ELEdBQVA7QUFDRDs7QUFFTSxTQUFTRyx3QkFBVCxDQUFrQ3ZCLE1BQWxDLEVBQTBDRSxHQUExQyxFQUErQ3NCLFNBQVMsR0FBRyxJQUEzRCxFQUFpRTtBQUl0RSxNQUFJQyxPQUFPLEdBQUd6QixNQUFkOztBQUNBLFNBQU95QixPQUFPLEtBQUtmLE1BQU0sQ0FBQ2dCLFNBQTFCLEVBQXFDO0FBQ25DLFVBQU1DLE1BQU0sR0FBR2pCLE1BQU0sQ0FBQ2tCLGNBQVAsQ0FBc0JILE9BQXRCLENBQWY7O0FBQ0EsUUFBSUEsT0FBTyxDQUFDcEIsY0FBUixDQUF1QkgsR0FBdkIsQ0FBSixFQUFpQztBQUMvQixZQUFNbUIsS0FBSyxHQUFHSSxPQUFPLENBQUN2QixHQUFELENBQXJCO0FBQ0EsWUFBTTJCLFdBQVcsR0FBR0YsTUFBTSxDQUFDekIsR0FBRCxDQUFOLElBQWVzQixTQUFuQzs7QUFDQSxVQUFJSyxXQUFKLEVBQWlCO0FBQ2ZuQixRQUFBQSxNQUFNLENBQUNvQixjQUFQLENBQXNCVCxLQUF0QixFQUE2QlEsV0FBN0I7QUFDRDtBQUNGOztBQUNESixJQUFBQSxPQUFPLEdBQUdFLE1BQVY7QUFDRDs7QUFDRCxNQUFJSCxTQUFTLElBQUksRUFBRXRCLEdBQUcsSUFBSUYsTUFBVCxDQUFqQixFQUFtQztBQUdqQ0EsSUFBQUEsTUFBTSxDQUFDRSxHQUFELENBQU4sR0FBY1EsTUFBTSxDQUFDb0IsY0FBUCxDQUFzQixFQUF0QixFQUEwQk4sU0FBMUIsQ0FBZDtBQUNEOztBQUNELFNBQU94QixNQUFNLENBQUNFLEdBQUQsQ0FBYjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJ0BkaXRvanMvdXRpbHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxLZXlzKG9iamVjdCkge1xuICAvLyBVbmxpa2UgYE9iamVjdC5rZXlzKClgLCB0aGlzIHJldHVybnMgYWxsIGVudW1lcmFibGUga2V5cyBub3QganVzdCBvd24gb25lcy5cbiAgY29uc3Qga2V5cyA9IFtdXG4gIGZvciAoY29uc3Qga2V5IGluIG9iamVjdCkge1xuICAgIGtleXMucHVzaChrZXkpXG4gIH1cbiAgcmV0dXJuIGtleXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93blByb3BlcnR5KG9iamVjdCwga2V5KSB7XG4gIHJldHVybiBvYmplY3QuaGFzT3duUHJvcGVydHkoa2V5KSA/IG9iamVjdFtrZXldIDogdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb29rdXAoa2V5cykge1xuICByZXR1cm4gYXNBcnJheShrZXlzKS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG4gICAgb2JqW2tleV0gPSB0cnVlXG4gICAgcmV0dXJuIG9ialxuICB9LCBPYmplY3QuY3JlYXRlKG51bGwpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VSZXZlcnNlZChvYmplY3RzKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCAuLi5bLi4ub2JqZWN0c10ucmV2ZXJzZSgpKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VSZXZlcnNlZE9yTnVsbChvYmplY3RzKSB7XG4gIGNvbnN0IG1lcmdlZCA9IG1lcmdlUmV2ZXJzZWQob2JqZWN0cylcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1lcmdlZCkubGVuZ3RoID4gMCA/IG1lcmdlZCA6IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQXNSZXZlcnNlZEFycmF5cyhvYmplY3RzKSB7XG4gIGNvbnN0IHJlcyA9IHt9XG4gIGZvciAoY29uc3Qgb2JqZWN0IG9mIG9iamVjdHMpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqZWN0W2tleV1cbiAgICAgIGlmIChrZXkgaW4gcmVzKSB7XG4gICAgICAgIHJlc1trZXldLnVuc2hpZnQodmFsdWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNba2V5XSA9IFt2YWx1ZV1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBQcm9wZXJ0eUluaGVyaXRhbmNlKG9iamVjdCwga2V5LCBiYXNlVmFsdWUgPSBudWxsKSB7XG4gIC8vIExvb3BzIHVwIHRoZSBpbmhlcml0YW5jZSBjaGFpbiBvZiBvYmplY3QgdW50aWwgdGhlIGJhc2Ugb2JqZWN0IGlzIG1ldCxcbiAgLy8gYW5kIHNldHMgdXAgYSByZWxhdGVkIGluaGVyaXRhbmNlIGNoYWluIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgYGtleWAuXG4gIC8vIEF0IHRoZSBlbmQsIHRoZSByZXN1bHRpbmcgdmFsdWUgd2l0aCBwcm9wZXIgaW5oZXJpdGFuY2UgaXMgcmV0dXJuZWQuXG4gIGxldCBjdXJyZW50ID0gb2JqZWN0XG4gIHdoaWxlIChjdXJyZW50ICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgY29uc3QgcGFyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1cnJlbnQpXG4gICAgaWYgKGN1cnJlbnQuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBjdXJyZW50W2tleV1cbiAgICAgIGNvbnN0IHBhcmVudFZhbHVlID0gcGFyZW50W2tleV0gfHwgYmFzZVZhbHVlXG4gICAgICBpZiAocGFyZW50VmFsdWUpIHtcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHZhbHVlLCBwYXJlbnRWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gICAgY3VycmVudCA9IHBhcmVudFxuICB9XG4gIGlmIChiYXNlVmFsdWUgJiYgIShrZXkgaW4gb2JqZWN0KSkge1xuICAgIC8vIElmIHRoZXJlIHdhc24ndCBhbnkgb3ZlcnJpZGUgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGJhc2VWYWx1ZSxcbiAgICAvLyBzZXQgdXAgZGlyZWN0IGluaGVyaXRhbmNlIGZyb20gdGhhdCBub3cuXG4gICAgb2JqZWN0W2tleV0gPSBPYmplY3Quc2V0UHJvdG90eXBlT2Yoe30sIGJhc2VWYWx1ZSlcbiAgfVxuICByZXR1cm4gb2JqZWN0W2tleV1cbn1cbiJdfQ==
|
package/lib/utils/object.test.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _object = require("./object");
|
|
4
|
-
|
|
5
|
-
const object = Object.create({
|
|
6
|
-
a: 1
|
|
7
|
-
});
|
|
8
|
-
object.b = 2;
|
|
9
|
-
describe('getAllKeys()', () => {
|
|
10
|
-
it('returns all keys, not just own keys', () => {
|
|
11
|
-
expect((0, _object.getAllKeys)(object)).toEqual(['b', 'a']);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
describe('getOwnProperty()', () => {
|
|
15
|
-
it('only returns own properties', () => {
|
|
16
|
-
expect((0, _object.getOwnProperty)(object, 'a')).toBeUndefined();
|
|
17
|
-
expect((0, _object.getOwnProperty)(object, 'b')).toBe(2);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
describe('createLookup()', () => {
|
|
21
|
-
it('creates lookup objects out of arrays of strings', () => {
|
|
22
|
-
expect((0, _object.createLookup)(['a', 'b'])).toEqual({
|
|
23
|
-
a: true,
|
|
24
|
-
b: true
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('mergeReversed()', () => {
|
|
29
|
-
it('merges property values in reversed order', () => {
|
|
30
|
-
expect((0, _object.mergeReversed)([{
|
|
31
|
-
a: 3
|
|
32
|
-
}, {
|
|
33
|
-
a: 2,
|
|
34
|
-
b: 2
|
|
35
|
-
}, {
|
|
36
|
-
a: 1,
|
|
37
|
-
b: 1,
|
|
38
|
-
c: 1
|
|
39
|
-
}])).toEqual({
|
|
40
|
-
a: 3,
|
|
41
|
-
b: 2,
|
|
42
|
-
c: 1
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
describe('mergeAsReversedArrays()', () => {
|
|
47
|
-
it('merges property values into arrays', () => {
|
|
48
|
-
expect((0, _object.mergeAsReversedArrays)([{
|
|
49
|
-
a: 1,
|
|
50
|
-
b: 1,
|
|
51
|
-
c: 1
|
|
52
|
-
}, {
|
|
53
|
-
a: 2,
|
|
54
|
-
b: 2
|
|
55
|
-
}, {
|
|
56
|
-
a: 3
|
|
57
|
-
}])).toEqual({
|
|
58
|
-
a: [3, 2, 1],
|
|
59
|
-
b: [2, 1],
|
|
60
|
-
c: [1]
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe.skip('setupPropertyInheritance()', () => {});
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9vYmplY3QudGVzdC5qcyJdLCJuYW1lcyI6WyJvYmplY3QiLCJPYmplY3QiLCJjcmVhdGUiLCJhIiwiYiIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJ0b0VxdWFsIiwidG9CZVVuZGVmaW5lZCIsInRvQmUiLCJjIiwic2tpcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFJQSxNQUFNQSxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjO0FBQUVDLEVBQUFBLENBQUMsRUFBRTtBQUFMLENBQWQsQ0FBZjtBQUNBSCxNQUFNLENBQUNJLENBQVAsR0FBVyxDQUFYO0FBRUFDLFFBQVEsQ0FBQyxjQUFELEVBQWlCLE1BQU07QUFDN0JDLEVBQUFBLEVBQUUsQ0FBQyxxQ0FBRCxFQUF3QyxNQUFNO0FBQzlDQyxJQUFBQSxNQUFNLENBQUMsd0JBQVdQLE1BQVgsQ0FBRCxDQUFOLENBQTJCUSxPQUEzQixDQUFtQyxDQUFDLEdBQUQsRUFBTSxHQUFOLENBQW5DO0FBQ0QsR0FGQyxDQUFGO0FBR0QsQ0FKTyxDQUFSO0FBTUFILFFBQVEsQ0FBQyxrQkFBRCxFQUFxQixNQUFNO0FBQ2pDQyxFQUFBQSxFQUFFLENBQUMsNkJBQUQsRUFBZ0MsTUFBTTtBQUN0Q0MsSUFBQUEsTUFBTSxDQUFDLDRCQUFlUCxNQUFmLEVBQXVCLEdBQXZCLENBQUQsQ0FBTixDQUFvQ1MsYUFBcEM7QUFDQUYsSUFBQUEsTUFBTSxDQUFDLDRCQUFlUCxNQUFmLEVBQXVCLEdBQXZCLENBQUQsQ0FBTixDQUFvQ1UsSUFBcEMsQ0FBeUMsQ0FBekM7QUFDRCxHQUhDLENBQUY7QUFJRCxDQUxPLENBQVI7QUFPQUwsUUFBUSxDQUFDLGdCQUFELEVBQW1CLE1BQU07QUFDL0JDLEVBQUFBLEVBQUUsQ0FBQyxpREFBRCxFQUFvRCxNQUFNO0FBQzFEQyxJQUFBQSxNQUFNLENBQUMsMEJBQWEsQ0FBQyxHQUFELEVBQU0sR0FBTixDQUFiLENBQUQsQ0FBTixDQUFpQ0MsT0FBakMsQ0FBeUM7QUFDdkNMLE1BQUFBLENBQUMsRUFBRSxJQURvQztBQUV2Q0MsTUFBQUEsQ0FBQyxFQUFFO0FBRm9DLEtBQXpDO0FBSUQsR0FMQyxDQUFGO0FBTUQsQ0FQTyxDQUFSO0FBU0FDLFFBQVEsQ0FBQyxpQkFBRCxFQUFvQixNQUFNO0FBQ2hDQyxFQUFBQSxFQUFFLENBQUMsMENBQUQsRUFBNkMsTUFBTTtBQUNuREMsSUFBQUEsTUFBTSxDQUNKLDJCQUFjLENBQ1o7QUFDRUosTUFBQUEsQ0FBQyxFQUFFO0FBREwsS0FEWSxFQUlaO0FBQ0VBLE1BQUFBLENBQUMsRUFBRSxDQURMO0FBRUVDLE1BQUFBLENBQUMsRUFBRTtBQUZMLEtBSlksRUFRWjtBQUNFRCxNQUFBQSxDQUFDLEVBQUUsQ0FETDtBQUVFQyxNQUFBQSxDQUFDLEVBQUUsQ0FGTDtBQUdFTyxNQUFBQSxDQUFDLEVBQUU7QUFITCxLQVJZLENBQWQsQ0FESSxDQUFOLENBZUVILE9BZkYsQ0FlVTtBQUNSTCxNQUFBQSxDQUFDLEVBQUUsQ0FESztBQUVSQyxNQUFBQSxDQUFDLEVBQUUsQ0FGSztBQUdSTyxNQUFBQSxDQUFDLEVBQUU7QUFISyxLQWZWO0FBb0JELEdBckJDLENBQUY7QUFzQkQsQ0F2Qk8sQ0FBUjtBQXlCQU4sUUFBUSxDQUFDLHlCQUFELEVBQTRCLE1BQU07QUFDeENDLEVBQUFBLEVBQUUsQ0FBQyxvQ0FBRCxFQUF1QyxNQUFNO0FBQzdDQyxJQUFBQSxNQUFNLENBQ0osbUNBQXNCLENBQ3BCO0FBQ0VKLE1BQUFBLENBQUMsRUFBRSxDQURMO0FBRUVDLE1BQUFBLENBQUMsRUFBRSxDQUZMO0FBR0VPLE1BQUFBLENBQUMsRUFBRTtBQUhMLEtBRG9CLEVBTXBCO0FBQ0VSLE1BQUFBLENBQUMsRUFBRSxDQURMO0FBRUVDLE1BQUFBLENBQUMsRUFBRTtBQUZMLEtBTm9CLEVBVXBCO0FBQ0VELE1BQUFBLENBQUMsRUFBRTtBQURMLEtBVm9CLENBQXRCLENBREksQ0FBTixDQWVFSyxPQWZGLENBZVU7QUFDUkwsTUFBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLENBREs7QUFFUkMsTUFBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FGSztBQUdSTyxNQUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFEO0FBSEssS0FmVjtBQW9CRCxHQXJCQyxDQUFGO0FBc0JELENBdkJPLENBQVI7QUF5QkFOLFFBQVEsQ0FBQ08sSUFBVCxDQUFjLDRCQUFkLEVBQTRDLE1BQU0sQ0FFakQsQ0FGRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGdldEFsbEtleXMsIGdldE93blByb3BlcnR5LCBjcmVhdGVMb29rdXAsIG1lcmdlUmV2ZXJzZWQsIG1lcmdlQXNSZXZlcnNlZEFycmF5c1xufSBmcm9tICcuL29iamVjdCdcblxuY29uc3Qgb2JqZWN0ID0gT2JqZWN0LmNyZWF0ZSh7IGE6IDEgfSlcbm9iamVjdC5iID0gMlxuXG5kZXNjcmliZSgnZ2V0QWxsS2V5cygpJywgKCkgPT4ge1xuICBpdCgncmV0dXJucyBhbGwga2V5cywgbm90IGp1c3Qgb3duIGtleXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldEFsbEtleXMob2JqZWN0KSkudG9FcXVhbChbJ2InLCAnYSddKVxuICB9KVxufSlcblxuZGVzY3JpYmUoJ2dldE93blByb3BlcnR5KCknLCAoKSA9PiB7XG4gIGl0KCdvbmx5IHJldHVybnMgb3duIHByb3BlcnRpZXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldE93blByb3BlcnR5KG9iamVjdCwgJ2EnKSkudG9CZVVuZGVmaW5lZCgpXG4gICAgZXhwZWN0KGdldE93blByb3BlcnR5KG9iamVjdCwgJ2InKSkudG9CZSgyKVxuICB9KVxufSlcblxuZGVzY3JpYmUoJ2NyZWF0ZUxvb2t1cCgpJywgKCkgPT4ge1xuICBpdCgnY3JlYXRlcyBsb29rdXAgb2JqZWN0cyBvdXQgb2YgYXJyYXlzIG9mIHN0cmluZ3MnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZUxvb2t1cChbJ2EnLCAnYiddKSkudG9FcXVhbCh7XG4gICAgICBhOiB0cnVlLFxuICAgICAgYjogdHJ1ZVxuICAgIH0pXG4gIH0pXG59KVxuXG5kZXNjcmliZSgnbWVyZ2VSZXZlcnNlZCgpJywgKCkgPT4ge1xuICBpdCgnbWVyZ2VzIHByb3BlcnR5IHZhbHVlcyBpbiByZXZlcnNlZCBvcmRlcicsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtZXJnZVJldmVyc2VkKFtcbiAgICAgICAge1xuICAgICAgICAgIGE6IDNcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGE6IDIsXG4gICAgICAgICAgYjogMlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYTogMSxcbiAgICAgICAgICBiOiAxLFxuICAgICAgICAgIGM6IDFcbiAgICAgICAgfVxuICAgICAgXSlcbiAgICApLnRvRXF1YWwoe1xuICAgICAgYTogMyxcbiAgICAgIGI6IDIsXG4gICAgICBjOiAxXG4gICAgfSlcbiAgfSlcbn0pXG5cbmRlc2NyaWJlKCdtZXJnZUFzUmV2ZXJzZWRBcnJheXMoKScsICgpID0+IHtcbiAgaXQoJ21lcmdlcyBwcm9wZXJ0eSB2YWx1ZXMgaW50byBhcnJheXMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbWVyZ2VBc1JldmVyc2VkQXJyYXlzKFtcbiAgICAgICAge1xuICAgICAgICAgIGE6IDEsXG4gICAgICAgICAgYjogMSxcbiAgICAgICAgICBjOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhOiAyLFxuICAgICAgICAgIGI6IDJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGE6IDNcbiAgICAgICAgfVxuICAgICAgXSlcbiAgICApLnRvRXF1YWwoe1xuICAgICAgYTogWzMsIDIsIDFdLFxuICAgICAgYjogWzIsIDFdLFxuICAgICAgYzogWzFdXG4gICAgfSlcbiAgfSlcbn0pXG5cbmRlc2NyaWJlLnNraXAoJ3NldHVwUHJvcGVydHlJbmhlcml0YW5jZSgpJywgKCkgPT4ge1xuICAvLyBUT0RPOiBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhpcyFcbn0pXG4iXX0=
|
package/lib/utils/scope.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.getScope = getScope;
|
|
5
|
-
|
|
6
|
-
function getScope(expr) {
|
|
7
|
-
const graph = (expr == null ? void 0 : expr[0]) === '^';
|
|
8
|
-
const scope = graph ? expr.slice(1) : expr;
|
|
9
|
-
return {
|
|
10
|
-
scope,
|
|
11
|
-
graph
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zY29wZS5qcyJdLCJuYW1lcyI6WyJnZXRTY29wZSIsImV4cHIiLCJncmFwaCIsInNjb3BlIiwic2xpY2UiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sU0FBU0EsUUFBVCxDQUFrQkMsSUFBbEIsRUFBd0I7QUFHN0IsUUFBTUMsS0FBSyxHQUFHLENBQUFELElBQUksUUFBSixZQUFBQSxJQUFJLENBQUcsQ0FBSCxDQUFKLE1BQWMsR0FBNUI7QUFDQSxRQUFNRSxLQUFLLEdBQUdELEtBQUssR0FBR0QsSUFBSSxDQUFDRyxLQUFMLENBQVcsQ0FBWCxDQUFILEdBQW1CSCxJQUF0QztBQUNBLFNBQU87QUFBRUUsSUFBQUEsS0FBRjtBQUFTRCxJQUFBQTtBQUFULEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRTY29wZShleHByKSB7XG4gIC8vIFNlZSBpZiB0aGlzIGFuIGdyYXBoIHNjb3BlLCBhbmQgaWYgc28sIHJlbW92ZSB0aGUgdHJhaWxpbmcgXiBmb3JcbiAgLy8gaW50ZXJuYWwgaGFuZGxpbmcuXG4gIGNvbnN0IGdyYXBoID0gZXhwcj8uWzBdID09PSAnXidcbiAgY29uc3Qgc2NvcGUgPSBncmFwaCA/IGV4cHIuc2xpY2UoMSkgOiBleHByXG4gIHJldHVybiB7IHNjb3BlLCBncmFwaCB9XG59XG4iXX0=
|