@ethlete/query 2.5.3 → 2.6.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/esm2020/index.mjs +2 -1
- package/esm2020/lib/auth/bearer-auth-provider.mjs +2 -2
- package/esm2020/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2020/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2020/lib/directives/query.directive.mjs +3 -3
- package/esm2020/lib/entity/entity-store.mjs +141 -0
- package/esm2020/lib/entity/entity.types.mjs +2 -0
- package/esm2020/lib/entity/index.mjs +3 -0
- package/esm2020/lib/infinite-query/infinity-query.mjs +17 -3
- package/esm2020/lib/query/query.mjs +76 -1
- package/esm2020/lib/query/query.types.mjs +1 -1
- package/esm2020/lib/query/query.utils.mjs +1 -1
- package/esm2020/lib/query-client/query-client.mjs +2 -2
- package/esm2020/lib/query-client/query-client.types.mjs +1 -1
- package/esm2020/lib/query-client/query-client.utils.mjs +2 -4
- package/esm2020/lib/query-store/query-store.mjs +2 -1
- package/fesm2015/ethlete-query.mjs +241 -20
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +245 -17
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/entity/entity-store.d.ts +33 -0
- package/lib/entity/entity.types.d.ts +10 -0
- package/lib/entity/index.d.ts +2 -0
- package/lib/infinite-query/infinity-query.d.ts +8 -6
- package/lib/query/query.d.ts +11 -5
- package/lib/query/query.types.d.ts +24 -9
- package/lib/query/query.utils.d.ts +7 -7
- package/lib/query-client/query-client.d.ts +8 -8
- package/lib/query-client/query-client.types.d.ts +12 -10
- package/lib/query-client/query-client.utils.d.ts +2 -2
- package/package.json +2 -2
|
@@ -17,6 +17,7 @@ export class QueryStore {
|
|
|
17
17
|
return this._store.get(id) ?? null;
|
|
18
18
|
}
|
|
19
19
|
remove(id) {
|
|
20
|
+
this.get(id)?._destroy();
|
|
20
21
|
this._store.delete(id);
|
|
21
22
|
this._logState(id, null, 'REMOVE');
|
|
22
23
|
}
|
|
@@ -126,4 +127,4 @@ export class QueryStore {
|
|
|
126
127
|
console.log(`%cGC: ${action}`, 'color: yellow; font-weight: bold');
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnktc3RvcmUvcXVlcnktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd6RCxNQUFNLE9BQU8sVUFBVTtJQU1yQixZQUNVLE9BS1A7UUFMTyxZQUFPLEdBQVAsT0FBTyxDQUtkO1FBWGMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQzlDLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQVV0QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUFlO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEdBQUcsQ0FBcUIsRUFBVTtRQUNoQyxPQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBTyxJQUFJLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FB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QUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUNuQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE1BQWM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsNkJBQTZCO1lBQUUsT0FBTztRQUV6RCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsTUFBTSxFQUFFLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIHRha2UsIHRha2VVbnRpbCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFueVF1ZXJ5IH0gZnJvbSAnLi4vcXVlcnknO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlTdG9yZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gbmV3IE1hcDxzdHJpbmcsIEFueVF1ZXJ5PigpO1xuICBwcml2YXRlIF9nYXJiYWdlQ29sbGVjdG9yOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaXNJbkxvd1Jlc291cmNlTW9kZSA9IGZhbHNlO1xuICBwcml2YXRlIF9sYXN0Qmx1clRpbWVzdGFtcCA9IERhdGUubm93KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY29uZmlnPzoge1xuICAgICAgZW5hYmxlQ2hhbmdlTG9nZ2luZz86IGJvb2xlYW47XG4gICAgICBlbmFibGVHYXJiYWdlQ29sbGVjdG9yTG9nZ2luZz86IGJvb2xlYW47XG4gICAgICBhdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVNtYXJ0UG9sbGluZz86IGJvb2xlYW47XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5faW5pdFNtYXJ0UXVlcnlIYW5kbGluZygpO1xuICB9XG5cbiAgYWRkKGlkOiBzdHJpbmcsIHF1ZXJ5OiBBbnlRdWVyeSkge1xuICAgIHRoaXMuX3N0b3JlLnNldChpZCwgcXVlcnkpO1xuXG4gICAgdGhpcy5faW5pdEdhcmJhZ2VDb2xsZWN0b3IoKTtcblxuICAgIHRoaXMuX2xvZ1N0YXRlKGlkLCBxdWVyeSwgJ1NFVCcpO1xuICB9XG5cbiAgZ2V0PFQgZXh0ZW5kcyBBbnlRdWVyeT4oaWQ6IHN0cmluZyk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gKHRoaXMuX3N0b3JlLmdldChpZCkgYXMgVCkgPz8gbnVsbDtcbiAgfVxuXG4gIHJlbW92ZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3RvcmUuZGVsZXRlKGlkKTtcblxuICAgIHRoaXMuX2xvZ1N0YXRlKGlkLCBudWxsLCAnUkVNT1ZFJyk7XG4gIH1cblxuICBmb3JFYWNoKGNhbGxiYWNrOiAodmFsdWU6IEFueVF1ZXJ5LCBrZXk6IHN0cmluZykgPT4gdm9pZCkge1xuICAgIGZvciAoY29uc3QgW2tleSwgcXVlcnldIG9mIHRoaXMuX3N0b3JlKSB7XG4gICAgICBjYWxsYmFjayhxdWVyeSwga2V5KTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoUXVlcmllc0luVXNlKGNvbmZpZz86IHsgaWdub3JlQ2FjaGVWYWxpZGl0eT86IGJvb2xlYW47IHB1cmdlVW51c2VkPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc3QgeyBpZ25vcmVDYWNoZVZhbGlkaXR5LCBwdXJnZVVudXNlZCB9ID0gY29uZmlnID8/IHt9O1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBxdWVyeV0gb2YgdGhpcy5fc3RvcmUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcXVlcnkuaXNJblVzZSAmJlxuICAgICAgICAocXVlcnkuaXNFeHBpcmVkIHx8IGlnbm9yZUNhY2hlVmFsaWRpdHkpICYmXG4gICAgICAgIHF1ZXJ5LmF1dG9SZWZyZXNoT25Db25maWcucXVlcnlDbGllbnREZWZhdWx0SGVhZGVyc0NoYW5nZVxuICAgICAgKSB7XG4gICAgICAgIHF1ZXJ5LmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUsIF90cmlnZ2VyZWRWaWE6ICdhdXRvJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAocHVyZ2VVbnVzZWQgJiYgIXF1ZXJ5LmlzSW5Vc2UpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0U21hcnRRdWVyeUhhbmRsaW5nKCkge1xuICAgIGNvbnN0IHdpbmRvd0JsdXIkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdibHVyJyk7XG4gICAgY29uc3Qgd2luZG93Rm9jdXMkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdmb2N1cycpO1xuXG4gICAgd2luZG93Qmx1ciQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRpbWVyKDUwMDApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh3aW5kb3dGb2N1cyQpLCB0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9sYXN0Qmx1clRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fc3RvcEdhcmJhZ2VDb2xsZWN0b3IoKTtcblxuICAgICAgICAgIGlmICh0aGlzLl9jb25maWc/LmVuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgdGhpcy5mb3JFYWNoKChxdWVyeSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXF1ZXJ5LmlzUG9sbGluZyB8fCAhcXVlcnkuX2VuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHF1ZXJ5LnBhdXNlUG9sbGluZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHdpbmRvd0ZvY3VzJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9pc0luTG93UmVzb3VyY2VNb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IGZhbHNlO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgfHwgdGhpcy5fY29uZmlnPy5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgJiYgcXVlcnkuX2lzUG9sbGluZ1BhdXNlZCkge1xuICAgICAgICAgICAgcXVlcnkucmVzdW1lUG9sbGluZygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gdGhpcy5fbGFzdEJsdXJUaW1lc3RhbXAgPiAxNTAwMCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLl9jb25maWc/LmF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXMgJiZcbiAgICAgICAgICAgICAgcXVlcnkuaXNFeHBpcmVkICYmXG4gICAgICAgICAgICAgIHF1ZXJ5LmlzSW5Vc2UgJiZcbiAgICAgICAgICAgICAgcXVlcnkuYXV0b1JlZnJlc2hPbkNvbmZpZy53aW5kb3dGb2N1c1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUsIF90cmlnZ2VyZWRWaWE6ICdhdXRvJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pbml0R2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nU3RhdGUoa2V5OiBzdHJpbmcgfCBudWxsLCBpdGVtOiBBbnlRdWVyeSB8IG51bGwsIG9wZXJhdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmVuYWJsZUNoYW5nZUxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnN0IHN0YXRlQXNKc29uOiBSZWNvcmQ8c3RyaW5nLCBBbnlRdWVyeT4gPSB7fTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIHN0YXRlQXNKc29uW2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKGAlY1ske29wZXJhdGlvbn1dICR7a2V5fWAsICdmb250LXdlaWdodDogYm9sZCcpO1xuXG4gICAgY29uc29sZS5sb2coeyBvcGVyYXRpb24sIGtleSwgaXRlbSB9KTtcbiAgICBjb25zb2xlLmxvZyhzdGF0ZUFzSnNvbik7XG4gIH1cblxuICBwcml2YXRlIF9pbml0R2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0YXJ0Jyk7XG5cbiAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuX3J1bkdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgICB9LCAxNTAwMCk7XG4gIH1cblxuICBwcml2YXRlIF9zdG9wR2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fZ2FyYmFnZUNvbGxlY3Rvcik7XG4gICAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gbnVsbDtcbiAgICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0b3AnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ydW5HYXJiYWdlQ29sbGVjdG9yKCkge1xuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3RpbmcuLi4nKTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaXNFeHBpcmVkICYmICFpdGVtLmlzSW5Vc2UpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3Rpb24gZG9uZScpO1xuXG4gICAgaWYgKCF0aGlzLl9zdG9yZS5zaXplKSB7XG4gICAgICB0aGlzLl9zdG9wR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uZW5hYmxlR2FyYmFnZUNvbGxlY3RvckxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGAlY0dDOiAke2FjdGlvbn1gLCAnY29sb3I6IHllbGxvdzsgZm9udC13ZWlnaHQ6IGJvbGQnKTtcbiAgfVxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnktc3RvcmUvcXVlcnktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd6RCxNQUFNLE9BQU8sVUFBVTtJQU1yQixZQUNVLE9BS1A7UUFMTyxZQUFPLEdBQVAsT0FBTyxDQUtkO1FBWGMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQzlDLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQVV0QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUFlO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEdBQUcsQ0FBcUIsRUFBVTtRQUNoQyxPQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBTyxJQUFJLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FB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QyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBYztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSw2QkFBNkI7WUFBRSxPQUFPO1FBRXpELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLEVBQUUsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgdGFrZSwgdGFrZVVudGlsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW55UXVlcnkgfSBmcm9tICcuLi9xdWVyeSc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVN0b3JlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBuZXcgTWFwPHN0cmluZywgQW55UXVlcnk+KCk7XG4gIHByaXZhdGUgX2dhcmJhZ2VDb2xsZWN0b3I6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pc0luTG93UmVzb3VyY2VNb2RlID0gZmFsc2U7XG4gIHByaXZhdGUgX2xhc3RCbHVyVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jb25maWc/OiB7XG4gICAgICBlbmFibGVDaGFuZ2VMb2dnaW5nPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nPzogYm9vbGVhbjtcbiAgICAgIGF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXM/OiBib29sZWFuO1xuICAgICAgZW5hYmxlU21hcnRQb2xsaW5nPzogYm9vbGVhbjtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLl9pbml0U21hcnRRdWVyeUhhbmRsaW5nKCk7XG4gIH1cblxuICBhZGQoaWQ6IHN0cmluZywgcXVlcnk6IEFueVF1ZXJ5KSB7XG4gICAgdGhpcy5fc3RvcmUuc2V0KGlkLCBxdWVyeSk7XG5cbiAgICB0aGlzLl9pbml0R2FyYmFnZUNvbGxlY3RvcigpO1xuXG4gICAgdGhpcy5fbG9nU3RhdGUoaWQsIHF1ZXJ5LCAnU0VUJyk7XG4gIH1cblxuICBnZXQ8VCBleHRlbmRzIEFueVF1ZXJ5PihpZDogc3RyaW5nKTogVCB8IG51bGwge1xuICAgIHJldHVybiAodGhpcy5fc3RvcmUuZ2V0KGlkKSBhcyBUKSA/PyBudWxsO1xuICB9XG5cbiAgcmVtb3ZlKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmdldChpZCk/Ll9kZXN0cm95KCk7XG4gICAgdGhpcy5fc3RvcmUuZGVsZXRlKGlkKTtcblxuICAgIHRoaXMuX2xvZ1N0YXRlKGlkLCBudWxsLCAnUkVNT1ZFJyk7XG4gIH1cblxuICBmb3JFYWNoKGNhbGxiYWNrOiAodmFsdWU6IEFueVF1ZXJ5LCBrZXk6IHN0cmluZykgPT4gdm9pZCkge1xuICAgIGZvciAoY29uc3QgW2tleSwgcXVlcnldIG9mIHRoaXMuX3N0b3JlKSB7XG4gICAgICBjYWxsYmFjayhxdWVyeSwga2V5KTtcbiAgICB9XG4gIH1cblxuICByZWZyZXNoUXVlcmllc0luVXNlKGNvbmZpZz86IHsgaWdub3JlQ2FjaGVWYWxpZGl0eT86IGJvb2xlYW47IHB1cmdlVW51c2VkPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc3QgeyBpZ25vcmVDYWNoZVZhbGlkaXR5LCBwdXJnZVVudXNlZCB9ID0gY29uZmlnID8/IHt9O1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBxdWVyeV0gb2YgdGhpcy5fc3RvcmUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgcXVlcnkuaXNJblVzZSAmJlxuICAgICAgICAocXVlcnkuaXNFeHBpcmVkIHx8IGlnbm9yZUNhY2hlVmFsaWRpdHkpICYmXG4gICAgICAgIHF1ZXJ5LmF1dG9SZWZyZXNoT25Db25maWcucXVlcnlDbGllbnREZWZhdWx0SGVhZGVyc0NoYW5nZVxuICAgICAgKSB7XG4gICAgICAgIHF1ZXJ5LmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUsIF90cmlnZ2VyZWRWaWE6ICdhdXRvJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAocHVyZ2VVbnVzZWQgJiYgIXF1ZXJ5LmlzSW5Vc2UpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0U21hcnRRdWVyeUhhbmRsaW5nKCkge1xuICAgIGNvbnN0IHdpbmRvd0JsdXIkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdibHVyJyk7XG4gICAgY29uc3Qgd2luZG93Rm9jdXMkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdmb2N1cycpO1xuXG4gICAgd2luZG93Qmx1ciQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRpbWVyKDUwMDApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh3aW5kb3dGb2N1cyQpLCB0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9sYXN0Qmx1clRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fc3RvcEdhcmJhZ2VDb2xsZWN0b3IoKTtcblxuICAgICAgICAgIGlmICh0aGlzLl9jb25maWc/LmVuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgdGhpcy5mb3JFYWNoKChxdWVyeSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXF1ZXJ5LmlzUG9sbGluZyB8fCAhcXVlcnkuX2VuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHF1ZXJ5LnBhdXNlUG9sbGluZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHdpbmRvd0ZvY3VzJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9pc0luTG93UmVzb3VyY2VNb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IGZhbHNlO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgfHwgdGhpcy5fY29uZmlnPy5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgJiYgcXVlcnkuX2lzUG9sbGluZ1BhdXNlZCkge1xuICAgICAgICAgICAgcXVlcnkucmVzdW1lUG9sbGluZygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gdGhpcy5fbGFzdEJsdXJUaW1lc3RhbXAgPiAxNTAwMCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLl9jb25maWc/LmF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXMgJiZcbiAgICAgICAgICAgICAgcXVlcnkuaXNFeHBpcmVkICYmXG4gICAgICAgICAgICAgIHF1ZXJ5LmlzSW5Vc2UgJiZcbiAgICAgICAgICAgICAgcXVlcnkuYXV0b1JlZnJlc2hPbkNvbmZpZy53aW5kb3dGb2N1c1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUsIF90cmlnZ2VyZWRWaWE6ICdhdXRvJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pbml0R2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nU3RhdGUoa2V5OiBzdHJpbmcgfCBudWxsLCBpdGVtOiBBbnlRdWVyeSB8IG51bGwsIG9wZXJhdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmVuYWJsZUNoYW5nZUxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnN0IHN0YXRlQXNKc29uOiBSZWNvcmQ8c3RyaW5nLCBBbnlRdWVyeT4gPSB7fTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIHN0YXRlQXNKc29uW2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKGAlY1ske29wZXJhdGlvbn1dICR7a2V5fWAsICdmb250LXdlaWdodDogYm9sZCcpO1xuXG4gICAgY29uc29sZS5sb2coeyBvcGVyYXRpb24sIGtleSwgaXRlbSB9KTtcbiAgICBjb25zb2xlLmxvZyhzdGF0ZUFzSnNvbik7XG4gIH1cblxuICBwcml2YXRlIF9pbml0R2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0YXJ0Jyk7XG5cbiAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuX3J1bkdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgICB9LCAxNTAwMCk7XG4gIH1cblxuICBwcml2YXRlIF9zdG9wR2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fZ2FyYmFnZUNvbGxlY3Rvcik7XG4gICAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gbnVsbDtcbiAgICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0b3AnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ydW5HYXJiYWdlQ29sbGVjdG9yKCkge1xuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3RpbmcuLi4nKTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaXNFeHBpcmVkICYmICFpdGVtLmlzSW5Vc2UpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3Rpb24gZG9uZScpO1xuXG4gICAgaWYgKCF0aGlzLl9zdG9yZS5zaXplKSB7XG4gICAgICB0aGlzLl9zdG9wR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uZW5hYmxlR2FyYmFnZUNvbGxlY3RvckxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGAlY0dDOiAke2FjdGlvbn1gLCAnY29sb3I6IHllbGxvdzsgZm9udC13ZWlnaHQ6IGJvbGQnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BehaviorSubjectWithSubscriberCount, getCookie, setCookie, deleteCookie, DestroyService, equal, clone } from '@ethlete/core';
|
|
2
|
-
import { Observable, filter, takeWhile, switchMap, of, BehaviorSubject, Subject, takeUntil, interval, startWith, finalize, tap, timer, fromEvent, take, concat,
|
|
2
|
+
import { Observable, filter, takeWhile, switchMap, of, BehaviorSubject, Subject, takeUntil, interval, startWith, finalize, tap, timer, map, fromEvent, debounceTime, take, concat, combineLatest, distinctUntilChanged } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Directive, Input, InjectionToken, inject, ChangeDetectorRef, ViewContainerRef, TemplateRef, ErrorHandler, ElementRef } from '@angular/core';
|
|
5
5
|
import { FormGroup } from '@angular/forms';
|
|
@@ -712,13 +712,19 @@ class Query {
|
|
|
712
712
|
var _a;
|
|
713
713
|
return (_a = this._queryConfig.enableSmartPolling) !== null && _a !== void 0 ? _a : true;
|
|
714
714
|
}
|
|
715
|
+
get store() {
|
|
716
|
+
var _a, _b;
|
|
717
|
+
return (_b = (_a = this._queryConfig.entity) === null || _a === void 0 ? void 0 : _a.store) !== null && _b !== void 0 ? _b : null;
|
|
718
|
+
}
|
|
715
719
|
constructor(_client, _queryConfig, _routeWithParams, _args) {
|
|
720
|
+
var _a;
|
|
716
721
|
this._client = _client;
|
|
717
722
|
this._queryConfig = _queryConfig;
|
|
718
723
|
this._routeWithParams = _routeWithParams;
|
|
719
724
|
this._args = _args;
|
|
720
725
|
this._currentId = 0;
|
|
721
726
|
this._pollingSubscription = null;
|
|
727
|
+
this._entitySubscription = null;
|
|
722
728
|
this._onAbort$ = new Subject();
|
|
723
729
|
this._currentPollConfig = null;
|
|
724
730
|
/**
|
|
@@ -729,6 +735,49 @@ class Query {
|
|
|
729
735
|
type: "PREPARED" /* QueryStateType.Prepared */,
|
|
730
736
|
meta: { id: this._currentId, triggeredVia: 'program' },
|
|
731
737
|
});
|
|
738
|
+
if ((_a = this._queryConfig.entity) === null || _a === void 0 ? void 0 : _a.store) {
|
|
739
|
+
this._entitySubscription = this._queryConfig.entity.store.events$.subscribe((event) => {
|
|
740
|
+
var _a, _b, _c;
|
|
741
|
+
if (event.type !== 'update' && event.type !== 'set') {
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
if (!isQueryStateSuccess(this.state)) {
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
const response = this.state.response;
|
|
748
|
+
const rawResponse = this.state.rawResponse;
|
|
749
|
+
const key = (_a = this._queryConfig.entity) === null || _a === void 0 ? void 0 : _a.store.config.idKey;
|
|
750
|
+
if (!key) {
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
const currentValue = (_b = this._queryConfig.entity) === null || _b === void 0 ? void 0 : _b.valueSelector({
|
|
754
|
+
args: this._args,
|
|
755
|
+
response,
|
|
756
|
+
rawResponse,
|
|
757
|
+
});
|
|
758
|
+
const newData = (_c = this._queryConfig.entity) === null || _c === void 0 ? void 0 : _c.store.getOne(event.key);
|
|
759
|
+
if (Array.isArray(currentValue)) {
|
|
760
|
+
const index = currentValue.findIndex((item) => item[key] === event.key);
|
|
761
|
+
if (index === -1) {
|
|
762
|
+
return;
|
|
763
|
+
}
|
|
764
|
+
const newValue = [...currentValue];
|
|
765
|
+
if (newData) {
|
|
766
|
+
newValue[index] = newData;
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
newValue.splice(index, 1);
|
|
770
|
+
}
|
|
771
|
+
this._state$.next(Object.assign(Object.assign({}, this.state), { response: newValue, meta: Object.assign(Object.assign({}, this.state.meta), { triggeredVia: 'auto' }) }));
|
|
772
|
+
}
|
|
773
|
+
else {
|
|
774
|
+
if ((currentValue === null || currentValue === void 0 ? void 0 : currentValue[key]) !== event.key) {
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
this._state$.next(Object.assign(Object.assign({}, this.state), { response: newData, meta: Object.assign(Object.assign({}, this.state.meta), { triggeredVia: 'auto' }) }));
|
|
778
|
+
}
|
|
779
|
+
});
|
|
780
|
+
}
|
|
732
781
|
}
|
|
733
782
|
clone() {
|
|
734
783
|
return this._client.fetch(this._queryConfig);
|
|
@@ -774,6 +823,7 @@ class Query {
|
|
|
774
823
|
.pipe(takeUntil(this._onAbort$))
|
|
775
824
|
.subscribe({
|
|
776
825
|
next: (state) => {
|
|
826
|
+
var _a, _b;
|
|
777
827
|
if (state.type === 'start' || state.type === 'delay-retry') {
|
|
778
828
|
const newMeta = Object.assign(Object.assign({}, meta), { isWaitingForRetry: state.type === 'delay-retry', retryDelay: state.retryDelay, retryNumber: state.retryNumber });
|
|
779
829
|
this._state$.next({
|
|
@@ -813,6 +863,12 @@ class Query {
|
|
|
813
863
|
const transformedResponse = this._queryConfig.responseTransformer
|
|
814
864
|
? this._queryConfig.responseTransformer(responseData)
|
|
815
865
|
: responseData;
|
|
866
|
+
(_b = (_a = this._queryConfig.entity) === null || _a === void 0 ? void 0 : _a.successAction) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
867
|
+
args: this._args,
|
|
868
|
+
rawResponse: state.response,
|
|
869
|
+
response: transformedResponse,
|
|
870
|
+
store: this._queryConfig.entity.store,
|
|
871
|
+
});
|
|
816
872
|
this._state$.next({
|
|
817
873
|
type: "SUCCESS" /* QueryStateType.Success */,
|
|
818
874
|
rawResponse: state.response,
|
|
@@ -902,6 +958,16 @@ class Query {
|
|
|
902
958
|
}))
|
|
903
959
|
.subscribe();
|
|
904
960
|
}
|
|
961
|
+
/**
|
|
962
|
+
* @internal
|
|
963
|
+
*/
|
|
964
|
+
_destroy() {
|
|
965
|
+
var _a, _b;
|
|
966
|
+
this._state$.complete();
|
|
967
|
+
this._onAbort$.complete();
|
|
968
|
+
(_a = this._pollingSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
969
|
+
(_b = this._entitySubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
970
|
+
}
|
|
905
971
|
}
|
|
906
972
|
|
|
907
973
|
const isBasicAuthProvider = (authProvider) => authProvider instanceof BasicAuthProvider;
|
|
@@ -962,7 +1028,7 @@ class BearerAuthProvider {
|
|
|
962
1028
|
}
|
|
963
1029
|
if (this.tokens.token) {
|
|
964
1030
|
this._prepareForRefresh();
|
|
965
|
-
if (this.tokens.refreshToken && ((_g = this._config.refreshConfig) === null || _g === void 0 ? void 0 : _g.cookieName)) {
|
|
1031
|
+
if (this.tokens.refreshToken && ((_g = this._config.refreshConfig) === null || _g === void 0 ? void 0 : _g.cookieName) && cookieEnabled) {
|
|
966
1032
|
setCookie(this._config.refreshConfig.cookieName, this.tokens.refreshToken);
|
|
967
1033
|
}
|
|
968
1034
|
}
|
|
@@ -1157,9 +1223,9 @@ class QueryDirective {
|
|
|
1157
1223
|
}
|
|
1158
1224
|
}
|
|
1159
1225
|
}
|
|
1160
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1161
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1226
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1227
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
1228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: QueryDirective, decorators: [{
|
|
1163
1229
|
type: Directive,
|
|
1164
1230
|
args: [{
|
|
1165
1231
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1221,6 +1287,7 @@ class InfinityQuery {
|
|
|
1221
1287
|
this._currentQuery$ = new BehaviorSubject(null);
|
|
1222
1288
|
this._data$ = new BehaviorSubject([]);
|
|
1223
1289
|
this._subscriptions = [];
|
|
1290
|
+
this._responsiveDataSubscription = null;
|
|
1224
1291
|
}
|
|
1225
1292
|
nextPage() {
|
|
1226
1293
|
var _a, _b, _c, _d, _e;
|
|
@@ -1258,13 +1325,15 @@ class InfinityQuery {
|
|
|
1258
1325
|
* @internal
|
|
1259
1326
|
*/
|
|
1260
1327
|
_clearSubscriptions() {
|
|
1328
|
+
var _a;
|
|
1261
1329
|
this._subscriptions.forEach((sub) => sub.unsubscribe());
|
|
1262
1330
|
this._subscriptions = [];
|
|
1331
|
+
(_a = this._responsiveDataSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
1263
1332
|
}
|
|
1264
1333
|
_handleNewQuery(query) {
|
|
1265
1334
|
const stateChangesSub = query.state$.pipe(takeUntilResponse(), filterSuccess()).subscribe({
|
|
1266
1335
|
next: (state) => {
|
|
1267
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1336
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
1268
1337
|
let newData = (_a = this._config) === null || _a === void 0 ? void 0 : _a.response.valueExtractor(state.response);
|
|
1269
1338
|
if (this._config.response.reverse) {
|
|
1270
1339
|
newData = [...newData].reverse();
|
|
@@ -1275,11 +1344,23 @@ class InfinityQuery {
|
|
|
1275
1344
|
else {
|
|
1276
1345
|
newData = [...this.data, ...newData];
|
|
1277
1346
|
}
|
|
1278
|
-
|
|
1279
|
-
|
|
1347
|
+
if (query.store) {
|
|
1348
|
+
(_b = this._responsiveDataSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
1349
|
+
const key = query.store.idKey;
|
|
1350
|
+
const responsiveData = query.store.entities$.pipe(map((entities) => newData.map((item) => {
|
|
1351
|
+
// TODO(TRB): This is kind of unsafe. The entity array keys might not be the same as the response keys
|
|
1352
|
+
const index = entities.values.findIndex((entity) => entity[key] === item[key]);
|
|
1353
|
+
return index > -1 ? entities.values[index] : item;
|
|
1354
|
+
})));
|
|
1355
|
+
this._responsiveDataSubscription = responsiveData.subscribe((data) => this._data$.next(data));
|
|
1356
|
+
}
|
|
1357
|
+
else {
|
|
1358
|
+
this._data$.next(newData);
|
|
1359
|
+
}
|
|
1360
|
+
const totalPages = (_g = (_e = (_d = (_c = this._config.response).totalPagesExtractor) === null || _d === void 0 ? void 0 : _d.call(_c, {
|
|
1280
1361
|
response: state.response,
|
|
1281
1362
|
itemsPerPage: this.itemsPerPage,
|
|
1282
|
-
})) !== null &&
|
|
1363
|
+
})) !== null && _e !== void 0 ? _e : (_f = state.response) === null || _f === void 0 ? void 0 : _f.totalPages) !== null && _g !== void 0 ? _g : null;
|
|
1283
1364
|
this._totalPages$.next(totalPages);
|
|
1284
1365
|
},
|
|
1285
1366
|
complete: () => {
|
|
@@ -1484,9 +1565,9 @@ class InfinityQueryDirective {
|
|
|
1484
1565
|
this._data$.next([]);
|
|
1485
1566
|
}
|
|
1486
1567
|
}
|
|
1487
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1488
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1568
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1569
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
1570
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
1490
1571
|
type: Directive,
|
|
1491
1572
|
args: [{
|
|
1492
1573
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1537,9 +1618,9 @@ class InfinityQueryTriggerDirective {
|
|
|
1537
1618
|
this._observer.observe(this._elementRef.nativeElement);
|
|
1538
1619
|
}
|
|
1539
1620
|
}
|
|
1540
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1541
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1621
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1622
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
1623
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
1543
1624
|
type: Directive,
|
|
1544
1625
|
args: [{
|
|
1545
1626
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1550,6 +1631,146 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
1550
1631
|
type: Input
|
|
1551
1632
|
}] } });
|
|
1552
1633
|
|
|
1634
|
+
class EntityStore {
|
|
1635
|
+
get events$() {
|
|
1636
|
+
return this._events$.asObservable();
|
|
1637
|
+
}
|
|
1638
|
+
get keys() {
|
|
1639
|
+
return [...this._keys];
|
|
1640
|
+
}
|
|
1641
|
+
get values() {
|
|
1642
|
+
return [...this._dictionary.values()];
|
|
1643
|
+
}
|
|
1644
|
+
get size() {
|
|
1645
|
+
return this._keys.size;
|
|
1646
|
+
}
|
|
1647
|
+
get isEmpty() {
|
|
1648
|
+
return this.size === 0;
|
|
1649
|
+
}
|
|
1650
|
+
get config() {
|
|
1651
|
+
return this._config;
|
|
1652
|
+
}
|
|
1653
|
+
get idKey() {
|
|
1654
|
+
return this._config.idKey || 'id';
|
|
1655
|
+
}
|
|
1656
|
+
constructor(_config) {
|
|
1657
|
+
this._config = _config;
|
|
1658
|
+
this._dictionary = new Map();
|
|
1659
|
+
this._keys = new Set();
|
|
1660
|
+
this._events$ = new Subject();
|
|
1661
|
+
this.entities$ = this.events$.pipe(startWith(null), debounceTime(0), map(() => ({
|
|
1662
|
+
keys: this.keys,
|
|
1663
|
+
values: this.values,
|
|
1664
|
+
})));
|
|
1665
|
+
}
|
|
1666
|
+
getOne(key) {
|
|
1667
|
+
const value = this._dictionary.get(key);
|
|
1668
|
+
if (!value) {
|
|
1669
|
+
console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for get`);
|
|
1670
|
+
return null;
|
|
1671
|
+
}
|
|
1672
|
+
if (this._config.logActions) {
|
|
1673
|
+
console.log(`EntityStore: ${this._config.name || 'unknown'}: get "${key}"`);
|
|
1674
|
+
}
|
|
1675
|
+
return value;
|
|
1676
|
+
}
|
|
1677
|
+
getMany(keys) {
|
|
1678
|
+
return keys.map((key) => this.getOne(key));
|
|
1679
|
+
}
|
|
1680
|
+
addOne(value) {
|
|
1681
|
+
const key = this.getKey(value);
|
|
1682
|
+
if (this._dictionary.has(key)) {
|
|
1683
|
+
console.error(`EntityStore: ${this._config.name || 'unknown'}: duplicate key "${key}" for add`);
|
|
1684
|
+
return null;
|
|
1685
|
+
}
|
|
1686
|
+
this._dictionary.set(key, value);
|
|
1687
|
+
this._keys.add(key);
|
|
1688
|
+
const event = { type: 'add', key };
|
|
1689
|
+
this._events$.next(event);
|
|
1690
|
+
if (this._config.logActions) {
|
|
1691
|
+
console.log(`EntityStore: ${this._config.name || 'unknown'}: add "${key}"`);
|
|
1692
|
+
}
|
|
1693
|
+
return event;
|
|
1694
|
+
}
|
|
1695
|
+
addMany(values) {
|
|
1696
|
+
const events = values.map((value) => this.addOne(value));
|
|
1697
|
+
return events;
|
|
1698
|
+
}
|
|
1699
|
+
updateOne(value) {
|
|
1700
|
+
const key = this.getKey(value);
|
|
1701
|
+
const existing = this._dictionary.get(key);
|
|
1702
|
+
if (!existing) {
|
|
1703
|
+
console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for update`);
|
|
1704
|
+
return null;
|
|
1705
|
+
}
|
|
1706
|
+
this._dictionary.set(key, value);
|
|
1707
|
+
const event = { type: 'update', key };
|
|
1708
|
+
this._events$.next(event);
|
|
1709
|
+
if (this._config.logActions) {
|
|
1710
|
+
console.log(`EntityStore: ${this._config.name || 'unknown'}: update "${key}"`);
|
|
1711
|
+
}
|
|
1712
|
+
return event;
|
|
1713
|
+
}
|
|
1714
|
+
updateMany(values) {
|
|
1715
|
+
const events = values.map((value) => this.updateOne(value));
|
|
1716
|
+
return events;
|
|
1717
|
+
}
|
|
1718
|
+
setOne(value) {
|
|
1719
|
+
const key = this.getKey(value);
|
|
1720
|
+
this._dictionary.set(key, value);
|
|
1721
|
+
this._keys.add(key);
|
|
1722
|
+
const event = { type: 'set', key };
|
|
1723
|
+
this._events$.next(event);
|
|
1724
|
+
if (this._config.logActions) {
|
|
1725
|
+
console.log(`EntityStore: ${this._config.name || 'unknown'}: set "${key}"`);
|
|
1726
|
+
}
|
|
1727
|
+
return event;
|
|
1728
|
+
}
|
|
1729
|
+
setMany(values) {
|
|
1730
|
+
const events = values.map((value) => this.setOne(value));
|
|
1731
|
+
return events;
|
|
1732
|
+
}
|
|
1733
|
+
removeOne(key) {
|
|
1734
|
+
if (!this._dictionary.has(key)) {
|
|
1735
|
+
console.error(`EntityStore: ${this._config.name || 'unknown'}: missing key "${key}" for remove`);
|
|
1736
|
+
return null;
|
|
1737
|
+
}
|
|
1738
|
+
this._dictionary.delete(key);
|
|
1739
|
+
this._keys.delete(key);
|
|
1740
|
+
const event = { type: 'remove', key };
|
|
1741
|
+
this._events$.next(event);
|
|
1742
|
+
if (this._config.logActions) {
|
|
1743
|
+
console.log(`EntityStore: ${this._config.name || 'unknown'}: remove "${key}"`);
|
|
1744
|
+
}
|
|
1745
|
+
return event;
|
|
1746
|
+
}
|
|
1747
|
+
removeMany(keys) {
|
|
1748
|
+
const events = keys.map((key) => this.removeOne(key));
|
|
1749
|
+
return events;
|
|
1750
|
+
}
|
|
1751
|
+
has(key) {
|
|
1752
|
+
return this._dictionary.has(key);
|
|
1753
|
+
}
|
|
1754
|
+
clear() {
|
|
1755
|
+
this._dictionary.clear();
|
|
1756
|
+
this._keys.clear();
|
|
1757
|
+
}
|
|
1758
|
+
getKey(value) {
|
|
1759
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1760
|
+
const key = value[this._config.idKey || 'id'];
|
|
1761
|
+
if (key === undefined) {
|
|
1762
|
+
throw new Error(`EntityStore: ${this._config.name || 'unknown'}: missing key`);
|
|
1763
|
+
}
|
|
1764
|
+
return key;
|
|
1765
|
+
}
|
|
1766
|
+
logState() {
|
|
1767
|
+
console.log('EntityStore:', this._config.name, {
|
|
1768
|
+
dictionary: this._dictionary,
|
|
1769
|
+
keys: this._keys,
|
|
1770
|
+
});
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
|
|
1553
1774
|
class QueryStore {
|
|
1554
1775
|
constructor(_config) {
|
|
1555
1776
|
this._config = _config;
|
|
@@ -1569,6 +1790,8 @@ class QueryStore {
|
|
|
1569
1790
|
return (_a = this._store.get(id)) !== null && _a !== void 0 ? _a : null;
|
|
1570
1791
|
}
|
|
1571
1792
|
remove(id) {
|
|
1793
|
+
var _a;
|
|
1794
|
+
(_a = this.get(id)) === null || _a === void 0 ? void 0 : _a._destroy();
|
|
1572
1795
|
this._store.delete(id);
|
|
1573
1796
|
this._logState(id, null, 'REMOVE');
|
|
1574
1797
|
}
|
|
@@ -1687,9 +1910,7 @@ class QueryStore {
|
|
|
1687
1910
|
const shouldCacheQuery = (method) => {
|
|
1688
1911
|
return method === 'GET' || method === 'OPTIONS' || method === 'HEAD' || method === 'GQL_QUERY';
|
|
1689
1912
|
};
|
|
1690
|
-
const buildGqlCacheKey = (
|
|
1691
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1692
|
-
config, args) => {
|
|
1913
|
+
const buildGqlCacheKey = (config, args) => {
|
|
1693
1914
|
const { query } = config;
|
|
1694
1915
|
const variables = (args === null || args === void 0 ? void 0 : args.variables) || {};
|
|
1695
1916
|
const queryWithoutNewLinesAndWhitespace = query.replace(/\s/g, '');
|
|
@@ -1738,7 +1959,7 @@ class QueryClient {
|
|
|
1738
1959
|
return existingQuery;
|
|
1739
1960
|
}
|
|
1740
1961
|
}
|
|
1741
|
-
const query = new Query(this, queryConfig, route, args);
|
|
1962
|
+
const query = new Query(this, queryConfig, route, args !== null && args !== void 0 ? args : {});
|
|
1742
1963
|
if (shouldCacheQuery(queryConfig.method)) {
|
|
1743
1964
|
this._store.add(cacheKey, query);
|
|
1744
1965
|
}
|
|
@@ -2030,5 +2251,5 @@ const def = () => null;
|
|
|
2030
2251
|
* Generated bundle index. Do not edit.
|
|
2031
2252
|
*/
|
|
2032
2253
|
|
|
2033
|
-
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, createInfinityQueryConfig, createQueryCollection, decryptBearer, deepFreeze, def, detectContentTypeHeader, extractExpiresInSeconds, extractQuery, filterFailure, filterInvalidParams, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getResponseUrl, gql, hasHeader, ignoreAutoRefresh, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQuery, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, parseAllXhrResponseHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, serializeBody, shouldCacheQuery, shouldRetryRequest, skipPaginationPageParamCalculator, switchQueryCollectionState, switchQueryState, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
2254
|
+
export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, EntityStore, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, Query, QueryClient, QueryDirective, QueryError, QueryField, QueryForm, QueryStore, buildErrorMessage, buildGqlCacheKey, buildQueryArrayString, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, createInfinityQueryConfig, createQueryCollection, decryptBearer, deepFreeze, def, detectContentTypeHeader, extractExpiresInSeconds, extractQuery, filterFailure, filterInvalidParams, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getResponseUrl, gql, hasHeader, ignoreAutoRefresh, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isCustomHeaderAuthProvider, isFetchResponse, isGqlQueryConfig, isParamValid, isQuery, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, mergeHeaders, parseAllXhrResponseHeaders, pathParamsMissingInRouteFunctionError, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, request, serializeBody, shouldCacheQuery, shouldRetryRequest, skipPaginationPageParamCalculator, switchQueryCollectionState, switchQueryState, takeUntilResponse, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
|
|
2034
2255
|
//# sourceMappingURL=ethlete-query.mjs.map
|