@mtgame/core 0.1.6 → 0.1.8
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/api/game-base-api.d.ts +2 -0
- package/bundles/mtgame-core.umd.js +168 -115
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/bundles/mtgame-core.umd.min.js +1 -1
- package/bundles/mtgame-core.umd.min.js.map +1 -1
- package/esm2015/api/game-base-api.js +7 -1
- package/esm2015/localization/game-user-limitation-types.js +6 -0
- package/esm2015/localization/public-api.js +2 -1
- package/esm2015/models/game-user-limitation.js +32 -0
- package/esm2015/models/game.js +4 -1
- package/esm2015/models/playoff.js +3 -1
- package/esm2015/models/public-api.js +2 -1
- package/esm2015/models/util.js +3 -3
- package/esm5/api/game-base-api.js +9 -1
- package/esm5/localization/game-user-limitation-types.js +7 -0
- package/esm5/localization/public-api.js +2 -1
- package/esm5/models/game-user-limitation.js +37 -0
- package/esm5/models/game.js +4 -1
- package/esm5/models/playoff.js +3 -1
- package/esm5/models/public-api.js +2 -1
- package/esm5/models/util.js +3 -3
- package/fesm2015/mtgame-core.js +146 -103
- package/fesm2015/mtgame-core.js.map +1 -1
- package/fesm5/mtgame-core.js +167 -116
- package/fesm5/mtgame-core.js.map +1 -1
- package/localization/game-user-limitation-types.d.ts +5 -0
- package/localization/public-api.d.ts +1 -0
- package/models/game-user-limitation.d.ts +11 -0
- package/models/game.d.ts +2 -0
- package/models/playoff.d.ts +2 -0
- package/models/public-api.d.ts +1 -0
- package/models/util.d.ts +2 -2
- package/mtgame-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -77,4 +77,5 @@ export * from './volleyball-game-statistic';
|
|
|
77
77
|
export * from './volleyball-game-team-statistic';
|
|
78
78
|
export * from './volleyball-profile';
|
|
79
79
|
export * from './volleyball-statistic';
|
|
80
|
-
|
|
80
|
+
export * from './game-user-limitation';
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBR3ZCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXRiYWxsLWdhbWUtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vYmFza2V0YmFsbC1nYW1lLWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2tldGJhbGwtZ2FtZS1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXRiYWxsLWdhbWUtdGVhbS1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXRiYWxsLXByb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNrZXRiYWxsLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL2NpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9mZWVkYmFjayc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FtZS1zdGF0aXN0aWMtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbWUtdGVhbS1zdGF0aXN0aWMtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbWUtaW52aXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FtZS1sb2ctYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbWUtdGltZWxpbmUtc3RhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FtZS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGJhbGwtZ2FtZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kYmFsbC1nYW1lLWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRiYWxsLWdhbWUtc3RhdGlzdGljJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGJhbGwtZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRiYWxsLXByb2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kYmFsbC1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2NrZXktZ2FtZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2NrZXktZ2FtZS1sb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2NrZXktZ2FtZS1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2NrZXktZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL2hvY2tleS1wcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaG9ja2V5LXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvb3RiYWxsLWdhbWUtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZm9vdGJhbGwtZ2FtZS1sb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9mb290YmFsbC1nYW1lLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvb3RiYWxsLWdhbWUtdGVhbS1zdGF0aXN0aWMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb290YmFsbC1wcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9vdGJhbGwtc3RhdGlzdGljJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZ3VlJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZ3VlLWNvdXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZ3VlLW5ld3MnO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFndWUtcGFydG5lcic7XG5leHBvcnQgKiBmcm9tICcuL2xlYWd1ZS1iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFndWUtcGxheWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFndWUtcGxheWVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZ3VlLWRvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWVkaWEtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL29yZ2FuaXphdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BsYXlvZmYnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2xsJztcbmV4cG9ydCAqIGZyb20gJy4vc3BvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZWFtJztcbmV4cG9ydCAqIGZyb20gJy4vdGVhbS1hY2Nlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi90ZWFtLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVhbS1ldmVudC1pbnZpdGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZWFtLWV2ZW50LXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZWFtLWludml0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlYW0taW52aXRlLWV4dGVybmFsJztcbmV4cG9ydCAqIGZyb20gJy4vdGVhbS1wZXJtaXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdGVhbS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdG91cm5hbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtZGlzcXVhbGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b3VybmFtZW50LWdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vdG91cm5hbWVudC1pbnZpdGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b3VybmFtZW50LWpvaW4tdGVhbSc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtbmV3cyc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtc2Vhc29uJztcbmV4cG9ydCAqIGZyb20gJy4vdG91cm5hbWVudC1zdGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtc3RhZ2UtdGVhbSc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbSc7XG5leHBvcnQgKiBmcm9tICcuL3RvdXJuYW1lbnQtdGVhbS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdG91cm5hbWVudC10ZWFtLXVzZXItaW52aXRlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItYWNjZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wZXJtaXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcm9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3ZvbGxleWJhbGwtZ2FtZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi92b2xsZXliYWxsLWdhbWUtbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vdm9sbGV5YmFsbC1nYW1lLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL3ZvbGxleWJhbGwtZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5leHBvcnQgKiBmcm9tICcuL3ZvbGxleWJhbGwtcHJvZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZvbGxleWJhbGwtc3RhdGlzdGljJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FtZS11c2VyLWxpbWl0YXRpb24nO1xuIl19
|
package/esm5/models/util.js
CHANGED
|
@@ -80,13 +80,13 @@ export function listField(modelClass) {
|
|
|
80
80
|
if (!Array.isArray(value)) {
|
|
81
81
|
return [];
|
|
82
82
|
}
|
|
83
|
-
return modelClass.toFront(
|
|
83
|
+
return value.map(function (item) { return modelClass.toFront(item); });
|
|
84
84
|
},
|
|
85
85
|
toBack: function (value) {
|
|
86
86
|
if (!Array.isArray(value)) {
|
|
87
87
|
return [];
|
|
88
88
|
}
|
|
89
|
-
return modelClass.toBack(
|
|
89
|
+
return value.map(function (item) { return modelClass.toBack(item); });
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
}
|
|
@@ -295,4 +295,4 @@ function toBack(modelType, instance, path) {
|
|
|
295
295
|
}
|
|
296
296
|
return data;
|
|
297
297
|
}
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQWE3QztJQUNFLG1CQUFZLElBQTJCOztRQUNyQyxJQUFJLElBQUksRUFBRTs7Z0JBQ1IsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBaEMsSUFBTSxHQUFHLFdBQUE7b0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7Ozs7Ozs7OztTQUNGO0lBQ0gsQ0FBQztJQUVNLGlCQUFPLEdBQWQsVUFBZSxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxnQkFBTSxHQUFiLFVBQWMsR0FBUTtRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOztBQU1ELE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBUztJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQUMsS0FBSztZQUNiLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxD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QUFDLENBQUM7Z0JBQzVDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9ja2V5UGVuYWx0eVR5cGVzIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2hvY2tleS1wZW5hbHR5LXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1PREVMX01BUFBJTkdfRklFTERTX0tFWSA9ICdfbWFwcGluZ19maWVsZHNfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9SRUxBVElPTl9LRVkgPSAnX3JlbGF0aW9uXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfVE9fRlJPTlRfS0VZID0gJ190b19mcm9udF8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0JBQ0tfS0VZID0gJ190b19iYWNrXyc7XG5cbnR5cGUgUGFyc2VySW50ZXJmYWNlID0gKGR0bzogYW55LCBwYXRoPzogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiBhbnk7XG5cbmludGVyZmFjZSBNb2RlbFR5cGVJbnRlcmZhY2Uge1xuICBuZXcoZGF0YT86IGFueSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxJbnRlcmZhY2Uge1xuICB0b0Zyb250KGR0bzogYW55KTogYW55O1xuICB0b0JhY2soZHRvOiBhbnkpOiBhbnk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0Zyb250KGR0bzogYW55KTogYW55IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvQmFjayhkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR3JhcGhQYXRoSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b0JhY2s6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVuYWx0eVR5cGVGaWVsZCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBIb2NrZXlQZW5hbHR5VHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGRhdGEpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YS5pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWVsZChtb2RlbENsYXNzKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtb2RlbENsYXNzLnRvRnJvbnQodmFsdWUpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1vZGVsQ2xhc3MudG9CYWNrKHZhbHVlKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZVV0Yy50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kZWxJbnN0YW5jZShcbiAgY29uZmlnOiB7XG4gICAgbWFwcGluZ0ZpZWxkcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgcmVsYXRpb24/OiB7IFtrZXk6IHN0cmluZ106IEJhc2VNb2RlbCB9XG4gIH1cbikge1xuICByZXR1cm4gKHRhcmdldDogTW9kZWxUeXBlSW50ZXJmYWNlKSA9PiB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgaWYgKGNvbmZpZy5tYXBwaW5nRmllbGRzKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldID0gY29uZmlnLm1hcHBpbmdGaWVsZHM7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnJlbGF0aW9uKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9SRUxBVElPTl9LRVldID0gY29uZmlnLnJlbGF0aW9uO1xuICAgICAgfVxuICAgICAgdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9Gcm9udCh0YXJnZXQsIGR0bywgcGF0aCk7XG4gICAgICB9O1xuICAgICAgdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSA9IChkdG86IGFueSwgcGF0aDogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiB0b0JhY2sodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBUb0Zyb250SG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdLCAoYXJncy5sZW5ndGggPiAxID8gYXJnc1sxXSA6IHVuZGVmaW5lZCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgVG9CYWNrSG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSBhcyBQYXJzZXJJbnRlcmZhY2U7XG4gICAgICBpZiAocGFyc2VNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlTWV0aG9kKGFyZ3NbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0VmFsdWUoa2V5LCBkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBrZXlQYXJ0cyA9IGtleS5zcGxpdCgnLicpO1xuICBpZiAoa2V5UGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgaWYgKGtleSBpbiBkYXRhKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgayBvZiBrZXlQYXJ0cykge1xuICAgIGlmIChkYXRhICYmIGsgaW4gZGF0YSkge1xuICAgICAgZGF0YSA9IGRhdGFba107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIHRvRnJvbnQobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGRhdGE6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIC8vIENoZWNrIGlmIHJlY3Vyc2lvbiBpcyByZXF1aXJlZFxuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0Zyb250KG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBpbnN0YW5jZSA9IG5ldyBtb2RlbFR5cGUoKTtcblxuICAvLyBNYXBwaW5nIGZpZWxkc1xuICBjb25zdCBtYXBwaW5nRmllbGRzID0gbW9kZWxUeXBlW01PREVMX01BUFBJTkdfRklFTERTX0tFWV0gYXMgc3RyaW5nW107XG4gIGNvbnN0IHJlbGF0aW9uID0gbW9kZWxUeXBlW01PREVMX1JFTEFUSU9OX0tFWV0gYXMgeyBba2V5OiBzdHJpbmddOiBNb2RlbEludGVyZmFjZSB9O1xuICBpZiAobWFwcGluZ0ZpZWxkcykge1xuICAgIGZvciAoY29uc3QgYmFja0ZpZWxkIG9mIE9iamVjdC5rZXlzKG1hcHBpbmdGaWVsZHMpKSB7XG4gICAgICBjb25zdCBmcm9udEZpZWxkID0gbWFwcGluZ0ZpZWxkc1tiYWNrRmllbGRdO1xuICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWUoYmFja0ZpZWxkLCBkYXRhKTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSkge1xuICAgICAgICBpbnN0YW5jZVtmcm9udEZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvRnJvbnQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIHRvQmFjayhtb2RlbFR5cGU6IE1vZGVsVHlwZUludGVyZmFjZSwgaW5zdGFuY2U6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIGlmICghaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5zdGFuY2UpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0JhY2sobW9kZWxUeXBlLCBpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSB7fTtcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSAmJiBpbnN0YW5jZVtmcm9udEZpZWxkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGFbYmFja0ZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvQmFjayhpbnN0YW5jZVtmcm9udEZpZWxkXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSBpbnN0YW5jZVtmcm9udEZpZWxkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztBQWE3QztJQUNFLG1CQUFZLElBQTJCOztRQUNyQyxJQUFJLElBQUksRUFBRTs7Z0JBQ1IsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBaEMsSUFBTSxHQUFHLFdBQUE7b0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7Ozs7Ozs7OztTQUNGO0lBQ0gsQ0FBQztJQUVNLGlCQUFPLEdBQWQsVUFBZSxHQUFRO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxnQkFBTSxHQUFiLFVBQWMsR0FBUTtRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOztBQU1ELE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBUztJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQUMsS0FBSztZQUNiLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxD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QSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7Z0JBQS9DLElBQU0sU0FBUyxXQUFBO2dCQUNsQixJQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzVDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9ja2V5UGVuYWx0eVR5cGVzIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2hvY2tleS1wZW5hbHR5LXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1PREVMX01BUFBJTkdfRklFTERTX0tFWSA9ICdfbWFwcGluZ19maWVsZHNfJztcbmV4cG9ydCBjb25zdCBNT0RFTF9SRUxBVElPTl9LRVkgPSAnX3JlbGF0aW9uXyc7XG5leHBvcnQgY29uc3QgTU9ERUxfVE9fRlJPTlRfS0VZID0gJ190b19mcm9udF8nO1xuZXhwb3J0IGNvbnN0IE1PREVMX1RPX0JBQ0tfS0VZID0gJ190b19iYWNrXyc7XG5cbnR5cGUgUGFyc2VySW50ZXJmYWNlID0gKGR0bzogYW55LCBwYXRoPzogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiBhbnk7XG5cbmludGVyZmFjZSBNb2RlbFR5cGVJbnRlcmZhY2Uge1xuICBuZXcoZGF0YT86IGFueSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxJbnRlcmZhY2Uge1xuICB0b0Zyb250KGR0bzogYW55KTogYW55O1xuICB0b0JhY2soZHRvOiBhbnkpOiBhbnk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b0Zyb250KGR0bzogYW55KTogYW55IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvQmFjayhkdG86IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgR3JhcGhQYXRoSW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzcykge1xuICByZXR1cm4ge1xuICAgIHRvRnJvbnQ6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfSxcbiAgICB0b0JhY2s6ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzTmFOKCt2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVudW1DbGFzc1t2YWx1ZV07XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVuYWx0eVR5cGVGaWVsZCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0b0Zyb250OiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBIb2NrZXlQZW5hbHR5VHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGRhdGEpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAoZGF0YSkgPT4ge1xuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZGF0YS5pZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RGaWVsZChtb2RlbENsYXNzKSB7XG4gIHJldHVybiB7XG4gICAgdG9Gcm9udDogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoaXRlbSA9PiBtb2RlbENsYXNzLnRvRnJvbnQoaXRlbSkpO1xuICAgIH0sXG4gICAgdG9CYWNrOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlLm1hcChpdGVtID0+IG1vZGVsQ2xhc3MudG9CYWNrKGl0ZW0pKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZVV0Yy50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVUaW1lRmllbGQgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBzdGF0aWMgdG9Gcm9udChkYXRlOiBhbnkpOiBhbnkge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHN0YXRpYyB0b0JhY2soZGF0ZTogRGF0ZSk6IGFueSB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IGRhdGVVdGMgPSBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBkYXRlLmdldFNlY29uZHMoKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9kZWxJbnN0YW5jZShcbiAgY29uZmlnOiB7XG4gICAgbWFwcGluZ0ZpZWxkcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgcmVsYXRpb24/OiB7IFtrZXk6IHN0cmluZ106IEJhc2VNb2RlbCB9XG4gIH1cbikge1xuICByZXR1cm4gKHRhcmdldDogTW9kZWxUeXBlSW50ZXJmYWNlKSA9PiB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgaWYgKGNvbmZpZy5tYXBwaW5nRmllbGRzKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldID0gY29uZmlnLm1hcHBpbmdGaWVsZHM7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnJlbGF0aW9uKSB7XG4gICAgICAgIHRhcmdldFtNT0RFTF9SRUxBVElPTl9LRVldID0gY29uZmlnLnJlbGF0aW9uO1xuICAgICAgfVxuICAgICAgdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gPSAoZHRvOiBhbnksIHBhdGg6IEdyYXBoUGF0aEludGVyZmFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gdG9Gcm9udCh0YXJnZXQsIGR0bywgcGF0aCk7XG4gICAgICB9O1xuICAgICAgdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSA9IChkdG86IGFueSwgcGF0aDogR3JhcGhQYXRoSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiB0b0JhY2sodGFyZ2V0LCBkdG8sIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBUb0Zyb250SG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0ZST05UX0tFWV0gYXMgUGFyc2VySW50ZXJmYWNlO1xuICAgICAgaWYgKHBhcnNlTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBwYXJzZU1ldGhvZChhcmdzWzBdLCAoYXJncy5sZW5ndGggPiAxID8gYXJnc1sxXSA6IHVuZGVmaW5lZCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgVG9CYWNrSG9vayA9ICh0YXJnZXQ6IE1vZGVsVHlwZUludGVyZmFjZSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPEZ1bmN0aW9uPikgPT4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlTWV0aG9kID0gdGFyZ2V0W01PREVMX1RPX0JBQ0tfS0VZXSBhcyBQYXJzZXJJbnRlcmZhY2U7XG4gICAgICBpZiAocGFyc2VNZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlTWV0aG9kKGFyZ3NbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0VmFsdWUoa2V5LCBkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBrZXlQYXJ0cyA9IGtleS5zcGxpdCgnLicpO1xuICBpZiAoa2V5UGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgaWYgKGtleSBpbiBkYXRhKSB7XG4gICAgICByZXR1cm4gZGF0YVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGZvciAoY29uc3QgayBvZiBrZXlQYXJ0cykge1xuICAgIGlmIChkYXRhICYmIGsgaW4gZGF0YSkge1xuICAgICAgZGF0YSA9IGRhdGFba107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIHRvRnJvbnQobW9kZWxUeXBlOiBNb2RlbFR5cGVJbnRlcmZhY2UsIGRhdGE6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIC8vIENoZWNrIGlmIHJlY3Vyc2lvbiBpcyByZXF1aXJlZFxuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0Zyb250KG1vZGVsVHlwZSwgaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBpbnN0YW5jZSA9IG5ldyBtb2RlbFR5cGUoKTtcblxuICAvLyBNYXBwaW5nIGZpZWxkc1xuICBjb25zdCBtYXBwaW5nRmllbGRzID0gbW9kZWxUeXBlW01PREVMX01BUFBJTkdfRklFTERTX0tFWV0gYXMgc3RyaW5nW107XG4gIGNvbnN0IHJlbGF0aW9uID0gbW9kZWxUeXBlW01PREVMX1JFTEFUSU9OX0tFWV0gYXMgeyBba2V5OiBzdHJpbmddOiBNb2RlbEludGVyZmFjZSB9O1xuICBpZiAobWFwcGluZ0ZpZWxkcykge1xuICAgIGZvciAoY29uc3QgYmFja0ZpZWxkIG9mIE9iamVjdC5rZXlzKG1hcHBpbmdGaWVsZHMpKSB7XG4gICAgICBjb25zdCBmcm9udEZpZWxkID0gbWFwcGluZ0ZpZWxkc1tiYWNrRmllbGRdO1xuICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWUoYmFja0ZpZWxkLCBkYXRhKTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSkge1xuICAgICAgICBpbnN0YW5jZVtmcm9udEZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvRnJvbnQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2VbZnJvbnRGaWVsZF0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIHRvQmFjayhtb2RlbFR5cGU6IE1vZGVsVHlwZUludGVyZmFjZSwgaW5zdGFuY2U6IGFueSwgcGF0aD86IEdyYXBoUGF0aEludGVyZmFjZSk6IGFueSB7XG4gIGlmICghaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvLyBDaGVjayBpZiByZWN1cnNpb24gaXMgcmVxdWlyZWRcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5zdGFuY2UpKSB7XG4gICAgcmV0dXJuIGluc3RhbmNlLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB0b0JhY2sobW9kZWxUeXBlLCBpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSB7fTtcbiAgY29uc3QgbWFwcGluZ0ZpZWxkcyA9IG1vZGVsVHlwZVtNT0RFTF9NQVBQSU5HX0ZJRUxEU19LRVldIGFzIHN0cmluZ1tdO1xuICBjb25zdCByZWxhdGlvbiA9IG1vZGVsVHlwZVtNT0RFTF9SRUxBVElPTl9LRVldIGFzIHsgW2tleTogc3RyaW5nXTogTW9kZWxJbnRlcmZhY2UgfTtcbiAgaWYgKG1hcHBpbmdGaWVsZHMpIHtcbiAgICBmb3IgKGNvbnN0IGJhY2tGaWVsZCBvZiBPYmplY3Qua2V5cyhtYXBwaW5nRmllbGRzKSkge1xuICAgICAgY29uc3QgZnJvbnRGaWVsZCA9IG1hcHBpbmdGaWVsZHNbYmFja0ZpZWxkXTtcbiAgICAgIGlmIChyZWxhdGlvbiAmJiByZWxhdGlvbi5oYXNPd25Qcm9wZXJ0eShmcm9udEZpZWxkKSAmJiBpbnN0YW5jZVtmcm9udEZpZWxkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRhdGFbYmFja0ZpZWxkXSA9IHJlbGF0aW9uW2Zyb250RmllbGRdLnRvQmFjayhpbnN0YW5jZVtmcm9udEZpZWxkXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhW2JhY2tGaWVsZF0gPSBpbnN0YW5jZVtmcm9udEZpZWxkXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
|
package/fesm2015/mtgame-core.js
CHANGED
|
@@ -127,13 +127,13 @@ function listField(modelClass) {
|
|
|
127
127
|
if (!Array.isArray(value)) {
|
|
128
128
|
return [];
|
|
129
129
|
}
|
|
130
|
-
return modelClass.toFront(
|
|
130
|
+
return value.map(item => modelClass.toFront(item));
|
|
131
131
|
},
|
|
132
132
|
toBack: (value) => {
|
|
133
133
|
if (!Array.isArray(value)) {
|
|
134
134
|
return [];
|
|
135
135
|
}
|
|
136
|
-
return modelClass.toBack(
|
|
136
|
+
return value.map(item => modelClass.toBack(item));
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
}
|
|
@@ -1327,6 +1327,108 @@ HandballGameConfig = __decorate([
|
|
|
1327
1327
|
})
|
|
1328
1328
|
], HandballGameConfig);
|
|
1329
1329
|
|
|
1330
|
+
function generateArray(length) {
|
|
1331
|
+
if (length <= 0) {
|
|
1332
|
+
return [];
|
|
1333
|
+
}
|
|
1334
|
+
return Array.apply(null, Array(length)).map((_, i) => i + 1);
|
|
1335
|
+
}
|
|
1336
|
+
function getArrayChunks(array, length) {
|
|
1337
|
+
const chunks = [];
|
|
1338
|
+
const chunkLength = Math.ceil(array.length / length);
|
|
1339
|
+
if (chunkLength === 0) {
|
|
1340
|
+
return [array];
|
|
1341
|
+
}
|
|
1342
|
+
for (let i = 0; i < chunkLength; i++) {
|
|
1343
|
+
chunks.push(array.slice(i * length, (i + 1) * length));
|
|
1344
|
+
}
|
|
1345
|
+
return chunks;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
var PlayoffTypes;
|
|
1349
|
+
(function (PlayoffTypes) {
|
|
1350
|
+
PlayoffTypes["double_elimination"] = "double_elimination";
|
|
1351
|
+
PlayoffTypes["elimination"] = "elimination";
|
|
1352
|
+
})(PlayoffTypes || (PlayoffTypes = {}));
|
|
1353
|
+
let PlayoffSettings = class PlayoffSettings extends BaseModel {
|
|
1354
|
+
static toFront(data) { }
|
|
1355
|
+
static toBack(data) { }
|
|
1356
|
+
};
|
|
1357
|
+
__decorate([
|
|
1358
|
+
ToFrontHook
|
|
1359
|
+
], PlayoffSettings, "toFront", null);
|
|
1360
|
+
__decorate([
|
|
1361
|
+
ToBackHook
|
|
1362
|
+
], PlayoffSettings, "toBack", null);
|
|
1363
|
+
PlayoffSettings = __decorate([
|
|
1364
|
+
ModelInstance({
|
|
1365
|
+
mappingFields: {
|
|
1366
|
+
rounds: 'rounds',
|
|
1367
|
+
final_rounds: 'finalRounds',
|
|
1368
|
+
third_place_rounds: 'thirdPlaceRounds',
|
|
1369
|
+
teams_count: 'teamsCount',
|
|
1370
|
+
type: 'type',
|
|
1371
|
+
min_player_games_count: 'minPlayerGamesCount',
|
|
1372
|
+
min_player_time: 'minPlayerTime',
|
|
1373
|
+
},
|
|
1374
|
+
relation: {
|
|
1375
|
+
type: enumField(PlayoffTypes)
|
|
1376
|
+
}
|
|
1377
|
+
})
|
|
1378
|
+
], PlayoffSettings);
|
|
1379
|
+
let Playoff = class Playoff extends BaseModel {
|
|
1380
|
+
constructor() {
|
|
1381
|
+
super(...arguments);
|
|
1382
|
+
this.stages = [];
|
|
1383
|
+
}
|
|
1384
|
+
static toFront(data) { }
|
|
1385
|
+
static toBack(data) { }
|
|
1386
|
+
get stagesCount() {
|
|
1387
|
+
return Math.log(this.settings.teamsCount) / Math.log(2);
|
|
1388
|
+
}
|
|
1389
|
+
getPlayoffStages() {
|
|
1390
|
+
if (this.stages.length === 0 && this.settings.teamsCount) {
|
|
1391
|
+
const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);
|
|
1392
|
+
this.stages = generateArray(stagesCount).map(stage => {
|
|
1393
|
+
const playoffStage = this.settings.teamsCount / Math.pow(2, stage);
|
|
1394
|
+
let title = '';
|
|
1395
|
+
if (playoffStage === 1) {
|
|
1396
|
+
title = 'Финал';
|
|
1397
|
+
}
|
|
1398
|
+
else {
|
|
1399
|
+
title = `1 / ${playoffStage}`;
|
|
1400
|
+
}
|
|
1401
|
+
return {
|
|
1402
|
+
value: stage,
|
|
1403
|
+
title
|
|
1404
|
+
};
|
|
1405
|
+
});
|
|
1406
|
+
}
|
|
1407
|
+
return this.stages;
|
|
1408
|
+
}
|
|
1409
|
+
};
|
|
1410
|
+
__decorate([
|
|
1411
|
+
ToFrontHook
|
|
1412
|
+
], Playoff, "toFront", null);
|
|
1413
|
+
__decorate([
|
|
1414
|
+
ToBackHook
|
|
1415
|
+
], Playoff, "toBack", null);
|
|
1416
|
+
Playoff = __decorate([
|
|
1417
|
+
ModelInstance({
|
|
1418
|
+
mappingFields: {
|
|
1419
|
+
id: 'id',
|
|
1420
|
+
name: 'name',
|
|
1421
|
+
settings: 'settings',
|
|
1422
|
+
tournament_id: 'tournamentId',
|
|
1423
|
+
tournament_stage_id: 'tournamentStageId',
|
|
1424
|
+
is_official: 'isOfficial'
|
|
1425
|
+
},
|
|
1426
|
+
relation: {
|
|
1427
|
+
settings: PlayoffSettings
|
|
1428
|
+
}
|
|
1429
|
+
})
|
|
1430
|
+
], Playoff);
|
|
1431
|
+
|
|
1330
1432
|
var GameStatuses;
|
|
1331
1433
|
(function (GameStatuses) {
|
|
1332
1434
|
GameStatuses[GameStatuses["open"] = 1] = "open";
|
|
@@ -1414,6 +1516,7 @@ Game = __decorate([
|
|
|
1414
1516
|
playoff_stage: 'playoffStage',
|
|
1415
1517
|
tournament_stage_id: 'tournamentStageId',
|
|
1416
1518
|
tournament_playoff_id: 'tournamentPlayoffId',
|
|
1519
|
+
tournament_playoff: 'tournamentPlayoff',
|
|
1417
1520
|
tournament_court: 'tournamentCourt',
|
|
1418
1521
|
media_count: 'mediaCount',
|
|
1419
1522
|
media_live_count: 'mediaLiveCount',
|
|
@@ -1431,6 +1534,7 @@ Game = __decorate([
|
|
|
1431
1534
|
hockeyGameConfig: HockeyGameConfig,
|
|
1432
1535
|
footballGameConfig: FootballGameConfig,
|
|
1433
1536
|
handballGameConfig: HandballGameConfig,
|
|
1537
|
+
tournamentPlayoff: Playoff,
|
|
1434
1538
|
tournamentCourt: LeagueCourt,
|
|
1435
1539
|
media: listField(MediaItem),
|
|
1436
1540
|
tournament: Tournament,
|
|
@@ -2105,6 +2209,35 @@ GameUser = __decorate([
|
|
|
2105
2209
|
})
|
|
2106
2210
|
], GameUser);
|
|
2107
2211
|
|
|
2212
|
+
var GameUserLimitationTypes;
|
|
2213
|
+
(function (GameUserLimitationTypes) {
|
|
2214
|
+
GameUserLimitationTypes[GameUserLimitationTypes["min_user_games_count"] = 1] = "min_user_games_count";
|
|
2215
|
+
GameUserLimitationTypes[GameUserLimitationTypes["min_user_time"] = 2] = "min_user_time";
|
|
2216
|
+
})(GameUserLimitationTypes || (GameUserLimitationTypes = {}));
|
|
2217
|
+
let GameUserLimitations = class GameUserLimitations extends BaseModel {
|
|
2218
|
+
static toFront(data) {
|
|
2219
|
+
}
|
|
2220
|
+
static toBack(data) {
|
|
2221
|
+
}
|
|
2222
|
+
};
|
|
2223
|
+
__decorate([
|
|
2224
|
+
ToFrontHook
|
|
2225
|
+
], GameUserLimitations, "toFront", null);
|
|
2226
|
+
__decorate([
|
|
2227
|
+
ToBackHook
|
|
2228
|
+
], GameUserLimitations, "toBack", null);
|
|
2229
|
+
GameUserLimitations = __decorate([
|
|
2230
|
+
ModelInstance({
|
|
2231
|
+
mappingFields: {
|
|
2232
|
+
tournament_team_user_id: 'tournamentTeamUserId',
|
|
2233
|
+
limitations: 'limitations'
|
|
2234
|
+
},
|
|
2235
|
+
relation: {
|
|
2236
|
+
limitations: listField(enumField(GameUserLimitationTypes))
|
|
2237
|
+
}
|
|
2238
|
+
})
|
|
2239
|
+
], GameUserLimitations);
|
|
2240
|
+
|
|
2108
2241
|
let GameBaseApi = class GameBaseApi {
|
|
2109
2242
|
constructor(httpClient, configService) {
|
|
2110
2243
|
this.httpClient = httpClient;
|
|
@@ -2120,6 +2253,11 @@ let GameBaseApi = class GameBaseApi {
|
|
|
2120
2253
|
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/mvp/`).pipe(map(result => GameUser.toFront(result))).toPromise();
|
|
2121
2254
|
});
|
|
2122
2255
|
}
|
|
2256
|
+
getUsersLimitation(gameId) {
|
|
2257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2258
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users_limitation/`).pipe(map(result => GameUserLimitations.toFront(result))).toPromise();
|
|
2259
|
+
});
|
|
2260
|
+
}
|
|
2123
2261
|
};
|
|
2124
2262
|
GameBaseApi.ctorParameters = () => [
|
|
2125
2263
|
{ type: HttpClient },
|
|
@@ -3487,106 +3625,6 @@ TournamentStage = __decorate([
|
|
|
3487
3625
|
})
|
|
3488
3626
|
], TournamentStage);
|
|
3489
3627
|
|
|
3490
|
-
function generateArray(length) {
|
|
3491
|
-
if (length <= 0) {
|
|
3492
|
-
return [];
|
|
3493
|
-
}
|
|
3494
|
-
return Array.apply(null, Array(length)).map((_, i) => i + 1);
|
|
3495
|
-
}
|
|
3496
|
-
function getArrayChunks(array, length) {
|
|
3497
|
-
const chunks = [];
|
|
3498
|
-
const chunkLength = Math.ceil(array.length / length);
|
|
3499
|
-
if (chunkLength === 0) {
|
|
3500
|
-
return [array];
|
|
3501
|
-
}
|
|
3502
|
-
for (let i = 0; i < chunkLength; i++) {
|
|
3503
|
-
chunks.push(array.slice(i * length, (i + 1) * length));
|
|
3504
|
-
}
|
|
3505
|
-
return chunks;
|
|
3506
|
-
}
|
|
3507
|
-
|
|
3508
|
-
var PlayoffTypes;
|
|
3509
|
-
(function (PlayoffTypes) {
|
|
3510
|
-
PlayoffTypes["double_elimination"] = "double_elimination";
|
|
3511
|
-
PlayoffTypes["elimination"] = "elimination";
|
|
3512
|
-
})(PlayoffTypes || (PlayoffTypes = {}));
|
|
3513
|
-
let PlayoffSettings = class PlayoffSettings extends BaseModel {
|
|
3514
|
-
static toFront(data) { }
|
|
3515
|
-
static toBack(data) { }
|
|
3516
|
-
};
|
|
3517
|
-
__decorate([
|
|
3518
|
-
ToFrontHook
|
|
3519
|
-
], PlayoffSettings, "toFront", null);
|
|
3520
|
-
__decorate([
|
|
3521
|
-
ToBackHook
|
|
3522
|
-
], PlayoffSettings, "toBack", null);
|
|
3523
|
-
PlayoffSettings = __decorate([
|
|
3524
|
-
ModelInstance({
|
|
3525
|
-
mappingFields: {
|
|
3526
|
-
rounds: 'rounds',
|
|
3527
|
-
final_rounds: 'finalRounds',
|
|
3528
|
-
third_place_rounds: 'thirdPlaceRounds',
|
|
3529
|
-
teams_count: 'teamsCount',
|
|
3530
|
-
type: 'type',
|
|
3531
|
-
},
|
|
3532
|
-
relation: {
|
|
3533
|
-
type: enumField(PlayoffTypes)
|
|
3534
|
-
}
|
|
3535
|
-
})
|
|
3536
|
-
], PlayoffSettings);
|
|
3537
|
-
let Playoff = class Playoff extends BaseModel {
|
|
3538
|
-
constructor() {
|
|
3539
|
-
super(...arguments);
|
|
3540
|
-
this.stages = [];
|
|
3541
|
-
}
|
|
3542
|
-
static toFront(data) { }
|
|
3543
|
-
static toBack(data) { }
|
|
3544
|
-
get stagesCount() {
|
|
3545
|
-
return Math.log(this.settings.teamsCount) / Math.log(2);
|
|
3546
|
-
}
|
|
3547
|
-
getPlayoffStages() {
|
|
3548
|
-
if (this.stages.length === 0 && this.settings.teamsCount) {
|
|
3549
|
-
const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);
|
|
3550
|
-
this.stages = generateArray(stagesCount).map(stage => {
|
|
3551
|
-
const playoffStage = this.settings.teamsCount / Math.pow(2, stage);
|
|
3552
|
-
let title = '';
|
|
3553
|
-
if (playoffStage === 1) {
|
|
3554
|
-
title = 'Финал';
|
|
3555
|
-
}
|
|
3556
|
-
else {
|
|
3557
|
-
title = `1 / ${playoffStage}`;
|
|
3558
|
-
}
|
|
3559
|
-
return {
|
|
3560
|
-
value: stage,
|
|
3561
|
-
title
|
|
3562
|
-
};
|
|
3563
|
-
});
|
|
3564
|
-
}
|
|
3565
|
-
return this.stages;
|
|
3566
|
-
}
|
|
3567
|
-
};
|
|
3568
|
-
__decorate([
|
|
3569
|
-
ToFrontHook
|
|
3570
|
-
], Playoff, "toFront", null);
|
|
3571
|
-
__decorate([
|
|
3572
|
-
ToBackHook
|
|
3573
|
-
], Playoff, "toBack", null);
|
|
3574
|
-
Playoff = __decorate([
|
|
3575
|
-
ModelInstance({
|
|
3576
|
-
mappingFields: {
|
|
3577
|
-
id: 'id',
|
|
3578
|
-
name: 'name',
|
|
3579
|
-
settings: 'settings',
|
|
3580
|
-
tournament_id: 'tournamentId',
|
|
3581
|
-
tournament_stage_id: 'tournamentStageId',
|
|
3582
|
-
is_official: 'isOfficial'
|
|
3583
|
-
},
|
|
3584
|
-
relation: {
|
|
3585
|
-
settings: PlayoffSettings
|
|
3586
|
-
}
|
|
3587
|
-
})
|
|
3588
|
-
], Playoff);
|
|
3589
|
-
|
|
3590
3628
|
let VolleyballStatistic = class VolleyballStatistic extends BaseModel {
|
|
3591
3629
|
static toFront(data) { }
|
|
3592
3630
|
static toBack(data) { }
|
|
@@ -6770,6 +6808,11 @@ const VolleyballGameLogTypeLocalization = {
|
|
|
6770
6808
|
[VolleyballGameLogType.yellow_card]: 'Предупреждение',
|
|
6771
6809
|
};
|
|
6772
6810
|
|
|
6811
|
+
const GameUserLimitationTypeLocalization = {
|
|
6812
|
+
[GameUserLimitationTypes.min_user_games_count]: 'Минимальное количество матчей для допуска до плей-офф',
|
|
6813
|
+
[GameUserLimitationTypes.min_user_time]: 'Минимальное количество минут для допуска до плей-офф'
|
|
6814
|
+
};
|
|
6815
|
+
|
|
6773
6816
|
let LeaguePlaylist = class LeaguePlaylist extends BaseModel {
|
|
6774
6817
|
static toFront(data) { }
|
|
6775
6818
|
static toBack(data) { }
|
|
@@ -7162,5 +7205,5 @@ HttpCookieInterceptor = __decorate([
|
|
|
7162
7205
|
* Generated bundle index. Do not edit.
|
|
7163
7206
|
*/
|
|
7164
7207
|
|
|
7165
|
-
export { BannerLocation, BaseModel, BaseService, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameTeamStatistic, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, ReferenceApi, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
|
|
7208
|
+
export { BannerLocation, BaseModel, BaseService, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameTeamStatistic, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBaseApi, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameUserLimitationTypeLocalization, GameUserLimitationTypes, GameUserLimitations, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueDocument, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlayer, LeaguePlaylist, LocalStorageEngine, MODEL_MAPPING_FIELDS_KEY, MODEL_RELATION_KEY, MODEL_TO_BACK_KEY, MODEL_TO_FRONT_KEY, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, ReferenceApi, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballStatisticTypes, VolleyballWorkHand, VolleyballWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, patchItemInArray, penaltyTypeField, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
|
|
7166
7209
|
//# sourceMappingURL=mtgame-core.js.map
|