@decaf-ts/core 0.5.22 → 0.5.24
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/dist/core.cjs +383 -374
- package/dist/core.esm.cjs +381 -373
- package/lib/esm/identity/utils.d.ts +1 -0
- package/lib/esm/identity/utils.js +7 -3
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +5 -4
- package/lib/esm/persistence/Adapter.d.ts +8 -5
- package/lib/esm/persistence/Adapter.js +14 -12
- package/lib/esm/persistence/Dispatch.d.ts +6 -11
- package/lib/esm/persistence/Dispatch.js +4 -3
- package/lib/esm/persistence/index.d.ts +1 -1
- package/lib/esm/persistence/index.js +3 -2
- package/lib/esm/persistence/types.d.ts +5 -0
- package/lib/esm/persistence/types.js +1 -1
- package/lib/esm/repository/Repository.js +5 -4
- package/lib/esm/repository/utils.js +3 -3
- package/lib/identity/utils.cjs +8 -3
- package/lib/identity/utils.d.ts +1 -0
- package/lib/index.cjs +6 -5
- package/lib/index.d.ts +2 -2
- package/lib/persistence/Adapter.cjs +14 -12
- package/lib/persistence/Adapter.d.ts +8 -5
- package/lib/persistence/Dispatch.cjs +4 -3
- package/lib/persistence/Dispatch.d.ts +6 -11
- package/lib/persistence/index.cjs +3 -2
- package/lib/persistence/index.d.ts +1 -1
- package/lib/persistence/types.cjs +1 -1
- package/lib/persistence/types.d.ts +5 -0
- package/lib/repository/Repository.cjs +4 -3
- package/lib/repository/utils.cjs +3 -3
- package/package.json +1 -1
@@ -138,14 +138,13 @@ class Dispatch extends logging_1.LoggedClass {
|
|
138
138
|
/**
|
139
139
|
* @description Starts observing an adapter
|
140
140
|
* @summary Connects this dispatch to an adapter to monitor its operations
|
141
|
-
* @param {Adapter<
|
141
|
+
* @param {Adapter<any, any, any, any>} observer - The adapter to observe
|
142
142
|
* @return {void}
|
143
143
|
*/
|
144
144
|
observe(observer) {
|
145
145
|
if (!(observer instanceof Adapter_1.Adapter))
|
146
146
|
throw new errors_1.UnsupportedError("Only Adapters can be observed by dispatch");
|
147
147
|
this.adapter = observer;
|
148
|
-
this.native = observer.config;
|
149
148
|
this.models = Adapter_1.Adapter.models(this.adapter.alias);
|
150
149
|
this.initialize().then(() => this.log.verbose(`Dispatch initialized for ${this.adapter.alias} adapter`));
|
151
150
|
}
|
@@ -180,4 +179,6 @@ class Dispatch extends logging_1.LoggedClass {
|
|
180
179
|
}
|
181
180
|
}
|
182
181
|
exports.Dispatch = Dispatch;
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvRGlzcGF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBSWlDO0FBR2pDLDJDQUFvQztBQUNwQyx5Q0FBNEM7QUFFNUMsK0NBQWdEO0FBRWhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBYSxRQUFZLFNBQVEscUJBQVc7SUFtQjFDOzs7T0FHRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUNHO0lBQ08sS0FBSyxDQUFDLFVBQVU7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2YsTUFBTSxJQUFJLDZCQUFhLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBb0MsQ0FBQztRQUV4RDtZQUNFLDZCQUFhLENBQUMsTUFBTTtZQUNwQiw2QkFBYSxDQUFDLE1BQU07WUFDcEIsNkJBQWEsQ0FBQyxNQUFNO1lBQ3BCLHFDQUFxQixDQUFDLFVBQVU7WUFDaEMscUNBQXFCLENBQUMsVUFBVTtZQUNoQyxxQ0FBcUIsQ0FBQyxVQUFVO1NBRW5DLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSw2QkFBYSxDQUNyQixVQUFVLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxLQUFLLHVDQUF1QyxDQUN0RixDQUFDO1lBRUosSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssR0FBUSxPQUFPLENBQUM7WUFDekIsT0FBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUVELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNaLHlCQUF5QixNQUFNLCtCQUErQixDQUMvRCxDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1lBQ0QsU0FBUyxZQUFZLENBQUMsTUFBYztnQkFDbEMsUUFBUSxNQUFNLEVBQUUsQ0FBQztvQkFDZixLQUFLLHFDQUFxQixDQUFDLFVBQVU7d0JBQ25DLE9BQU8sNkJBQWEsQ0FBQyxNQUFNLENBQUM7b0JBQzlCLEtBQUsscUNBQXFCLENBQUMsVUFBVTt3QkFDbkMsT0FBTyw2QkFBYSxDQUFDLE1BQU0sQ0FBQztvQkFDOUIsS0FBSyxxQ0FBcUIsQ0FBQyxVQUFVO3dCQUNuQyxPQUFPLDZCQUFhLENBQUMsTUFBTSxDQUFDO29CQUM5Qjt3QkFDRSxPQUFPLE1BQU0sQ0FBQztnQkFDbEIsQ0FBQztZQUNILENBQUM7WUFDRCwwREFBMEQ7WUFDMUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDM0MsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFXLEVBQUUsT0FBTyxFQUFFLFFBQWUsRUFBRSxFQUFFO29CQUNyRCxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztvQkFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQWUsQ0FBQzt5QkFDbkUsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDZCxrQ0FBa0MsTUFBTSxRQUFRLFNBQVMsRUFBRSxDQUM1RCxDQUFDO3dCQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDaEMsQ0FBQyxDQUFDO3lCQUNELEtBQUssQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNaLDJDQUEyQyxNQUFNLE9BQU8sU0FBUyxLQUFLLENBQUMsRUFBRSxDQUMxRSxDQUNGLENBQUM7b0JBQ0osT0FBTyxNQUFNLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUs7UUFDVCwwRUFBMEU7SUFDNUUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLFFBQW1DO1FBQ3pDLElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSxpQkFBTyxDQUFDO1lBQ2hDLE1BQU0sSUFBSSx5QkFBZ0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQ2QsNEJBQTRCLElBQUksQ0FBQyxPQUFRLENBQUMsS0FBSyxVQUFVLENBQzFELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxRQUFrQjtRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUMzQixNQUFNLElBQUkseUJBQWdCLENBQ3hCLDZEQUE2RCxDQUM5RCxDQUFDO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUNuQixLQUFhLEVBQ2IsS0FBcUQsRUFDckQsRUFBWTtRQUVaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNmLE1BQU0sSUFBSSw2QkFBYSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFqTUQsNEJBaU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbiAgQnVsa0NydWRPcGVyYXRpb25LZXlzLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBBZGFwdGVyIH0gZnJvbSBcIi4vQWRhcHRlclwiO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgRXZlbnRJZHMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2VkQ2xhc3MgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGlzcGF0Y2hlcyBkYXRhYmFzZSBvcGVyYXRpb24gZXZlbnRzIHRvIG9ic2VydmVyc1xuICogQHN1bW1hcnkgVGhlIERpc3BhdGNoIGNsYXNzIGltcGxlbWVudHMgdGhlIE9ic2VydmFibGUgaW50ZXJmYWNlIGFuZCBpcyByZXNwb25zaWJsZSBmb3IgaW50ZXJjZXB0aW5nXG4gKiBkYXRhYmFzZSBvcGVyYXRpb25zIGZyb20gYW4gQWRhcHRlciBhbmQgbm90aWZ5aW5nIG9ic2VydmVycyB3aGVuIGNoYW5nZXMgb2NjdXIuIEl0IHVzZXMgcHJveGllcyB0b1xuICogd3JhcCB0aGUgYWRhcHRlcidzIENSVUQgbWV0aG9kcyBhbmQgYXV0b21hdGljYWxseSB0cmlnZ2VyIG9ic2VydmVyIHVwZGF0ZXMgYWZ0ZXIgb3BlcmF0aW9ucyBjb21wbGV0ZS5cbiAqIEB0ZW1wbGF0ZSBZIC0gVGhlIG5hdGl2ZSBkYXRhYmFzZSBkcml2ZXIgdHlwZVxuICogQHBhcmFtIHt2b2lkfSAtIE5vIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnNcbiAqIEBjbGFzcyBEaXNwYXRjaFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0aW5nIGFuZCB1c2luZyBhIERpc3BhdGNoIGluc3RhbmNlXG4gKiBjb25zdCBkaXNwYXRjaCA9IG5ldyBEaXNwYXRjaDxQb3N0Z3Jlc0RyaXZlcj4oKTtcbiAqXG4gKiAvLyBDb25uZWN0IGl0IHRvIGFuIGFkYXB0ZXJcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgUG9zdGdyZXNBZGFwdGVyKGNvbm5lY3Rpb24pO1xuICogZGlzcGF0Y2gub2JzZXJ2ZShhZGFwdGVyKTtcbiAqXG4gKiAvLyBOb3cgYW55IENSVUQgb3BlcmF0aW9ucyBvbiB0aGUgYWRhcHRlciB3aWxsIGF1dG9tYXRpY2FsbHlcbiAqIC8vIHRyaWdnZXIgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uc1xuICogYXdhaXQgYWRhcHRlci5jcmVhdGUoJ3VzZXJzJywgMTIzLCB1c2VyTW9kZWwpO1xuICogLy8gT2JzZXJ2ZXJzIHdpbGwgYmUgbm90aWZpZWQgYWJvdXQgdGhlIGNyZWF0aW9uXG4gKlxuICogLy8gV2hlbiBkb25lLCB5b3UgY2FuIGRpc2Nvbm5lY3RcbiAqIGRpc3BhdGNoLnVuT2JzZXJ2ZShhZGFwdGVyKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRGlzcGF0Y2g8WT4gZXh0ZW5kcyBMb2dnZWRDbGFzcyBpbXBsZW1lbnRzIE9ic2VydmFibGUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBhZGFwdGVyIGJlaW5nIG9ic2VydmVkXG4gICAqIEBzdW1tYXJ5IFJlZmVyZW5jZSB0byB0aGUgZGF0YWJhc2UgYWRhcHRlciB3aG9zZSBvcGVyYXRpb25zIGFyZSBiZWluZyBtb25pdG9yZWRcbiAgICovXG4gIHByb3RlY3RlZCBhZGFwdGVyPzogQWRhcHRlcjxZLCBhbnksIGFueSwgYW55PjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBuYXRpdmUgZGF0YWJhc2UgZHJpdmVyXG4gICAqIEBzdW1tYXJ5IFJlZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBkYXRhYmFzZSBkcml2ZXIgZnJvbSB0aGUgYWRhcHRlclxuICAgKi9cbiAgcHJvdGVjdGVkIG5hdGl2ZT86IFk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaXN0IG9mIG1vZGVsIGNvbnN0cnVjdG9yc1xuICAgKiBAc3VtbWFyeSBBcnJheSBvZiBtb2RlbCBjb25zdHJ1Y3RvcnMgdGhhdCBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhZGFwdGVyXG4gICAqL1xuICBwcm90ZWN0ZWQgbW9kZWxzITogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+W107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IERpc3BhdGNoIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgbmV3IERpc3BhdGNoIGluc3RhbmNlIHdpdGhvdXQgYW55IGFkYXB0ZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBkaXNwYXRjaCBieSBwcm94eWluZyBhZGFwdGVyIG1ldGhvZHNcbiAgICogQHN1bW1hcnkgU2V0cyB1cCBwcm94aWVzIG9uIHRoZSBhZGFwdGVyJ3MgQ1JVRCBtZXRob2RzIHRvIGludGVyY2VwdCBvcGVyYXRpb25zIGFuZCBub3RpZnkgb2JzZXJ2ZXJzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIGFuIGFkYXB0ZXIgaXMgb2JzZXJ2ZWQuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGVcbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgRGlzcGF0Y2hcbiAgICogICBwYXJ0aWNpcGFudCBBZGFwdGVyXG4gICAqICAgcGFydGljaXBhbnQgUHJveHlcbiAgICpcbiAgICogICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBpbml0aWFsaXplKClcbiAgICogICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBDaGVjayBpZiBhZGFwdGVyIGV4aXN0c1xuICAgKiAgIGFsdCBObyBhZGFwdGVyXG4gICAqICAgICBEaXNwYXRjaC0tPj5EaXNwYXRjaDogVGhyb3cgSW50ZXJuYWxFcnJvclxuICAgKiAgIGVuZFxuICAgKlxuICAgKiAgIGxvb3AgRm9yIGVhY2ggQ1JVRCBtZXRob2RcbiAgICogICAgIERpc3BhdGNoLT4+QWRhcHRlcjogQ2hlY2sgaWYgbWV0aG9kIGV4aXN0c1xuICAgKiAgICAgYWx0IE1ldGhvZCBkb2Vzbid0IGV4aXN0XG4gICAqICAgICAgIERpc3BhdGNoLS0+PkRpc3BhdGNoOiBUaHJvdyBJbnRlcm5hbEVycm9yXG4gICAqICAgICBlbmRcbiAgICpcbiAgICogICAgIERpc3BhdGNoLT4+QWRhcHRlcjogR2V0IHByb3BlcnR5IGRlc2NyaXB0b3JcbiAgICogICAgIGxvb3AgV2hpbGUgZGVzY3JpcHRvciBub3QgZm91bmRcbiAgICogICAgICAgRGlzcGF0Y2gtPj5BZGFwdGVyOiBDaGVjayBwcm90b3R5cGUgY2hhaW5cbiAgICogICAgIGVuZFxuICAgKlxuICAgKiAgICAgYWx0IERlc2NyaXB0b3Igbm90IGZvdW5kIG9yIG5vdCB3cml0YWJsZVxuICAgKiAgICAgICBEaXNwYXRjaC0+PkRpc3BhdGNoOiBMb2cgZXJyb3IgYW5kIGNvbnRpbnVlXG4gICAqICAgICBlbHNlIERlc2NyaXB0b3IgZm91bmQgYW5kIHdyaXRhYmxlXG4gICAqICAgICAgIERpc3BhdGNoLT4+UHJveHk6IENyZWF0ZSBwcm94eSBmb3IgbWV0aG9kXG4gICAqICAgICAgIERpc3BhdGNoLT4+QWRhcHRlcjogUmVwbGFjZSBtZXRob2Qgd2l0aCBwcm94eVxuICAgKiAgICAgZW5kXG4gICAqICAgZW5kXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaGApO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFkYXB0ZXIgYXMgQWRhcHRlcjxZLCBhbnksIGFueSwgYW55PjtcbiAgICAoXG4gICAgICBbXG4gICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLFxuICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCxcbiAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsXG4gICAgICBdIGFzIChrZXlvZiBBZGFwdGVyPFksIGFueSwgYW55LCBhbnk+KVtdXG4gICAgKS5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgICAgIGlmICghYWRhcHRlclttZXRob2RdKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgTWV0aG9kICR7bWV0aG9kfSBub3QgZm91bmQgaW4gJHthZGFwdGVyLmFsaWFzfSBhZGFwdGVyIHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgXG4gICAgICAgICk7XG5cbiAgICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhZGFwdGVyLCBtZXRob2QpO1xuICAgICAgbGV0IHByb3RvOiBhbnkgPSBhZGFwdGVyO1xuICAgICAgd2hpbGUgKCFkZXNjcmlwdG9yICYmIHByb3RvICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAgICAgIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKTtcbiAgICAgICAgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIG1ldGhvZCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZGVzY3JpcHRvciB8fCAhZGVzY3JpcHRvci53cml0YWJsZSkge1xuICAgICAgICB0aGlzLmxvZy5lcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgbWV0aG9kICR7bWV0aG9kfSB0byBiaW5kIE9ic2VydmFibGVzIERpc3BhdGNoYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBidWxrVG9TaW5nbGUobWV0aG9kOiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMOlxuICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuQ1JFQVRFO1xuICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLlVQREFURV9BTEw6XG4gICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5VUERBVEU7XG4gICAgICAgICAgY2FzZSBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuREVMRVRFX0FMTDpcbiAgICAgICAgICAgIHJldHVybiBPcGVyYXRpb25LZXlzLkRFTEVURTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG1ldGhvZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBiZWNhdXNlIHRoZXJlIGFyZSByZWFkIG9ubHkgcHJvcGVydGllc1xuICAgICAgYWRhcHRlclttZXRob2RdID0gbmV3IFByb3h5KGFkYXB0ZXJbbWV0aG9kXSwge1xuICAgICAgICBhcHBseTogYXN5bmMgKHRhcmdldDogYW55LCB0aGlzQXJnLCBhcmdBcnJheTogYW55W10pID0+IHtcbiAgICAgICAgICBjb25zdCBbdGFibGVOYW1lLCBpZHNdID0gYXJnQXJyYXk7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGFyZ2V0LmFwcGx5KHRoaXNBcmcsIGFyZ0FycmF5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZU9ic2VydmVycyh0YWJsZU5hbWUsIGJ1bGtUb1NpbmdsZShtZXRob2QpLCBpZHMgYXMgRXZlbnRJZHMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nLnZlcmJvc2UoXG4gICAgICAgICAgICAgICAgYE9ic2VydmVyIHJlZnJlc2ggZGlzcGF0Y2hlZCBieSAke21ldGhvZH0gZm9yICR7dGFibGVOYW1lfWBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2cuZGVidWcoYHBrczogJHtpZHN9YCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlOiB1bmtub3duKSA9PlxuICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIGRpc3BhdGNoIG9ic2VydmVyIHJlZnJlc2ggZm9yICR7bWV0aG9kfSBvbiAke3RhYmxlTmFtZX06ICR7ZX1gXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDbG9zZXMgdGhlIGRpc3BhdGNoXG4gICAqIEBzdW1tYXJ5IFBlcmZvcm1zIGFueSBuZWNlc3NhcnkgY2xlYW51cCB3aGVuIHRoZSBkaXNwYXRjaCBpcyBubyBsb25nZXIgbmVlZGVkXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gY2xvc2luZyBpcyBjb21wbGV0ZVxuICAgKi9cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgLy8gdG8gbm90aGluZyBpbiB0aGlzIGluc3RhbmNlIGJ1dCBtYXkgYmUgcmVxdWlyZWQgZm9yIGNsb3NpbmcgY29ubmVjdGlvbnNcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3RhcnRzIG9ic2VydmluZyBhbiBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IENvbm5lY3RzIHRoaXMgZGlzcGF0Y2ggdG8gYW4gYWRhcHRlciB0byBtb25pdG9yIGl0cyBvcGVyYXRpb25zXG4gICAqIEBwYXJhbSB7QWRhcHRlcjxZLCBhbnksIGFueSwgYW55Pn0gb2JzZXJ2ZXIgLSBUaGUgYWRhcHRlciB0byBvYnNlcnZlXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBvYnNlcnZlKG9ic2VydmVyOiBBZGFwdGVyPFksIGFueSwgYW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKCEob2JzZXJ2ZXIgaW5zdGFuY2VvZiBBZGFwdGVyKSlcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiT25seSBBZGFwdGVycyBjYW4gYmUgb2JzZXJ2ZWQgYnkgZGlzcGF0Y2hcIik7XG4gICAgdGhpcy5hZGFwdGVyID0gb2JzZXJ2ZXI7XG4gICAgdGhpcy5uYXRpdmUgPSBvYnNlcnZlci5jb25maWc7XG4gICAgdGhpcy5tb2RlbHMgPSBBZGFwdGVyLm1vZGVscyh0aGlzLmFkYXB0ZXIuYWxpYXMpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKCkgPT5cbiAgICAgIHRoaXMubG9nLnZlcmJvc2UoXG4gICAgICAgIGBEaXNwYXRjaCBpbml0aWFsaXplZCBmb3IgJHt0aGlzLmFkYXB0ZXIhLmFsaWFzfSBhZGFwdGVyYFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0b3BzIG9ic2VydmluZyBhbiBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IERpc2Nvbm5lY3RzIHRoaXMgZGlzcGF0Y2ggZnJvbSBhbiBhZGFwdGVyXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIGFkYXB0ZXIgdG8gc3RvcCBvYnNlcnZpbmdcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHVuT2JzZXJ2ZShvYnNlcnZlcjogT2JzZXJ2ZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGFwdGVyICE9PSBvYnNlcnZlcilcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgICBcIk9ubHkgdGhlIGFkYXB0ZXIgdGhhdCB3YXMgdXNlZCB0byBvYnNlcnZlIGNhbiBiZSB1bm9ic2VydmVkXCJcbiAgICAgICk7XG4gICAgdGhpcy5hZGFwdGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIG9ic2VydmVycyBhYm91dCBhIGRhdGFiYXNlIGV2ZW50XG4gICAqIEBzdW1tYXJ5IE5vdGlmaWVzIG9ic2VydmVycyBhYm91dCBhIGNoYW5nZSBpbiB0aGUgZGF0YWJhc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHdoZXJlIHRoZSBjaGFuZ2Ugb2NjdXJyZWRcbiAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzfEJ1bGtDcnVkT3BlcmF0aW9uS2V5c3xzdHJpbmd9IGV2ZW50IC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIHRoYXQgb2NjdXJyZWRcbiAgICogQHBhcmFtIHtFdmVudElkc30gaWQgLSBUaGUgaWRlbnRpZmllcihzKSBvZiB0aGUgYWZmZWN0ZWQgcmVjb3JkKHMpXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIG9ic2VydmVycyBoYXZlIGJlZW4gbm90aWZpZWRcbiAgICovXG4gIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaGApO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIucmVmcmVzaCh0YWJsZSwgZXZlbnQsIGlkKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggZGlzcGF0Y2g6ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
182
|
+
if (Adapter_1.Adapter)
|
183
|
+
Adapter_1.Adapter["_baseDispatch"] = Dispatch;
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvRGlzcGF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBSWlDO0FBR2pDLDJDQUFvQztBQUNwQyx5Q0FBNEM7QUFFNUMsK0NBQWdEO0FBR2hEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBYSxRQUFTLFNBQVEscUJBQVc7SUFhdkM7OztPQUdHO0lBQ0g7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQ0c7SUFDTyxLQUFLLENBQUMsVUFBVTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZixNQUFNLElBQUksNkJBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFzQyxDQUFDO1FBRTFEO1lBQ0UsNkJBQWEsQ0FBQyxNQUFNO1lBQ3BCLDZCQUFhLENBQUMsTUFBTTtZQUNwQiw2QkFBYSxDQUFDLE1BQU07WUFDcEIscUNBQXFCLENBQUMsVUFBVTtZQUNoQyxxQ0FBcUIsQ0FBQyxVQUFVO1lBQ2hDLHFDQUFxQixDQUFDLFVBQVU7U0FFbkMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDbEIsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLFVBQVUsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLEtBQUssdUNBQXVDLENBQ3RGLENBQUM7WUFFSixJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLElBQUksS0FBSyxHQUFRLE9BQU8sQ0FBQztZQUN6QixPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUssS0FBSyxNQUFN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QUMsT0FBTyxLQUFLLFFBQVE7WUFDM0IsTUFBTSxJQUFJLHlCQUFnQixDQUN4Qiw2REFBNkQsQ0FDOUQsQ0FBQztRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsS0FBYSxFQUNiLEtBQXFELEVBQ3JELEVBQVk7UUFFWixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZixNQUFNLElBQUksNkJBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksNkJBQWEsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBMUxELDRCQTBMQztBQUVELElBQUksaUJBQU87SUFBRSxpQkFBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEludGVybmFsRXJyb3IsXG4gIE9wZXJhdGlvbktleXMsXG4gIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNb2RlbENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgT2JzZXJ2ZXIgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuL0FkYXB0ZXJcIjtcbmltcG9ydCB7IFVuc3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IEFkYXB0ZXJEaXNwYXRjaCwgRXZlbnRJZHMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTG9nZ2VkQ2xhc3MgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiLi4vcmVwb3NpdG9yeS9pbmRleFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEaXNwYXRjaGVzIGRhdGFiYXNlIG9wZXJhdGlvbiBldmVudHMgdG8gb2JzZXJ2ZXJzXG4gKiBAc3VtbWFyeSBUaGUgRGlzcGF0Y2ggY2xhc3MgaW1wbGVtZW50cyB0aGUgT2JzZXJ2YWJsZSBpbnRlcmZhY2UgYW5kIGlzIHJlc3BvbnNpYmxlIGZvciBpbnRlcmNlcHRpbmdcbiAqIGRhdGFiYXNlIG9wZXJhdGlvbnMgZnJvbSBhbiBBZGFwdGVyIGFuZCBub3RpZnlpbmcgb2JzZXJ2ZXJzIHdoZW4gY2hhbmdlcyBvY2N1ci4gSXQgdXNlcyBwcm94aWVzIHRvXG4gKiB3cmFwIHRoZSBhZGFwdGVyJ3MgQ1JVRCBtZXRob2RzIGFuZCBhdXRvbWF0aWNhbGx5IHRyaWdnZXIgb2JzZXJ2ZXIgdXBkYXRlcyBhZnRlciBvcGVyYXRpb25zIGNvbXBsZXRlLlxuICogQHRlbXBsYXRlIFkgLSBUaGUgbmF0aXZlIGRhdGFiYXNlIGRyaXZlciB0eXBlXG4gKiBAcGFyYW0ge3ZvaWR9IC0gTm8gY29uc3RydWN0b3IgcGFyYW1ldGVyc1xuICogQGNsYXNzIERpc3BhdGNoXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRpbmcgYW5kIHVzaW5nIGEgRGlzcGF0Y2ggaW5zdGFuY2VcbiAqIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoPFBvc3RncmVzRHJpdmVyPigpO1xuICpcbiAqIC8vIENvbm5lY3QgaXQgdG8gYW4gYWRhcHRlclxuICogY29uc3QgYWRhcHRlciA9IG5ldyBQb3N0Z3Jlc0FkYXB0ZXIoY29ubmVjdGlvbik7XG4gKiBkaXNwYXRjaC5vYnNlcnZlKGFkYXB0ZXIpO1xuICpcbiAqIC8vIE5vdyBhbnkgQ1JVRCBvcGVyYXRpb25zIG9uIHRoZSBhZGFwdGVyIHdpbGwgYXV0b21hdGljYWxseVxuICogLy8gdHJpZ2dlciBvYnNlcnZlciBub3RpZmljYXRpb25zXG4gKiBhd2FpdCBhZGFwdGVyLmNyZWF0ZSgndXNlcnMnLCAxMjMsIHVzZXJNb2RlbCk7XG4gKiAvLyBPYnNlcnZlcnMgd2lsbCBiZSBub3RpZmllZCBhYm91dCB0aGUgY3JlYXRpb25cbiAqXG4gKiAvLyBXaGVuIGRvbmUsIHlvdSBjYW4gZGlzY29ubmVjdFxuICogZGlzcGF0Y2gudW5PYnNlcnZlKGFkYXB0ZXIpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaCBleHRlbmRzIExvZ2dlZENsYXNzIGltcGxlbWVudHMgQWRhcHRlckRpc3BhdGNoIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgYWRhcHRlciBiZWluZyBvYnNlcnZlZFxuICAgKiBAc3VtbWFyeSBSZWZlcmVuY2UgdG8gdGhlIGRhdGFiYXNlIGFkYXB0ZXIgd2hvc2Ugb3BlcmF0aW9ucyBhcmUgYmVpbmcgbW9uaXRvcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYWRhcHRlcj86IEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTGlzdCBvZiBtb2RlbCBjb25zdHJ1Y3RvcnNcbiAgICogQHN1bW1hcnkgQXJyYXkgb2YgbW9kZWwgY29uc3RydWN0b3JzIHRoYXQgYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYWRhcHRlclxuICAgKi9cbiAgcHJvdGVjdGVkIG1vZGVscyE6IE1vZGVsQ29uc3RydWN0b3I8YW55PltdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBEaXNwYXRjaCBpbnN0YW5jZVxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyBhIG5ldyBEaXNwYXRjaCBpbnN0YW5jZSB3aXRob3V0IGFueSBhZGFwdGVyXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplcyB0aGUgZGlzcGF0Y2ggYnkgcHJveHlpbmcgYWRhcHRlciBtZXRob2RzXG4gICAqIEBzdW1tYXJ5IFNldHMgdXAgcHJveGllcyBvbiB0aGUgYWRhcHRlcidzIENSVUQgbWV0aG9kcyB0byBpbnRlcmNlcHQgb3BlcmF0aW9ucyBhbmQgbm90aWZ5IG9ic2VydmVycy5cbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBhZGFwdGVyIGlzIG9ic2VydmVkLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IERpc3BhdGNoXG4gICAqICAgcGFydGljaXBhbnQgQWRhcHRlclxuICAgKiAgIHBhcnRpY2lwYW50IFByb3h5XG4gICAqXG4gICAqICAgRGlzcGF0Y2gtPj5EaXNwYXRjaDogaW5pdGlhbGl6ZSgpXG4gICAqICAgRGlzcGF0Y2gtPj5EaXNwYXRjaDogQ2hlY2sgaWYgYWRhcHRlciBleGlzdHNcbiAgICogICBhbHQgTm8gYWRhcHRlclxuICAgKiAgICAgRGlzcGF0Y2gtLT4+RGlzcGF0Y2g6IFRocm93IEludGVybmFsRXJyb3JcbiAgICogICBlbmRcbiAgICpcbiAgICogICBsb29wIEZvciBlYWNoIENSVUQgbWV0aG9kXG4gICAqICAgICBEaXNwYXRjaC0+PkFkYXB0ZXI6IENoZWNrIGlmIG1ldGhvZCBleGlzdHNcbiAgICogICAgIGFsdCBNZXRob2QgZG9lc24ndCBleGlzdFxuICAgKiAgICAgICBEaXNwYXRjaC0tPj5EaXNwYXRjaDogVGhyb3cgSW50ZXJuYWxFcnJvclxuICAgKiAgICAgZW5kXG4gICAqXG4gICAqICAgICBEaXNwYXRjaC0+PkFkYXB0ZXI6IEdldCBwcm9wZXJ0eSBkZXNjcmlwdG9yXG4gICAqICAgICBsb29wIFdoaWxlIGRlc2NyaXB0b3Igbm90IGZvdW5kXG4gICAqICAgICAgIERpc3BhdGNoLT4+QWRhcHRlcjogQ2hlY2sgcHJvdG90eXBlIGNoYWluXG4gICAqICAgICBlbmRcbiAgICpcbiAgICogICAgIGFsdCBEZXNjcmlwdG9yIG5vdCBmb3VuZCBvciBub3Qgd3JpdGFibGVcbiAgICogICAgICAgRGlzcGF0Y2gtPj5EaXNwYXRjaDogTG9nIGVycm9yIGFuZCBjb250aW51ZVxuICAgKiAgICAgZWxzZSBEZXNjcmlwdG9yIGZvdW5kIGFuZCB3cml0YWJsZVxuICAgKiAgICAgICBEaXNwYXRjaC0+PlByb3h5OiBDcmVhdGUgcHJveHkgZm9yIG1ldGhvZFxuICAgKiAgICAgICBEaXNwYXRjaC0+PkFkYXB0ZXI6IFJlcGxhY2UgbWV0aG9kIHdpdGggcHJveHlcbiAgICogICAgIGVuZFxuICAgKiAgIGVuZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgTm8gYWRhcHRlciBvYnNlcnZlZCBmb3IgZGlzcGF0Y2hgKTtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hZGFwdGVyIGFzIEFkYXB0ZXI8YW55LCBhbnksIGFueSwgYW55PjtcbiAgICAoXG4gICAgICBbXG4gICAgICAgIE9wZXJhdGlvbktleXMuQ1JFQVRFLFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgICAgIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5DUkVBVEVfQUxMLFxuICAgICAgICBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTCxcbiAgICAgICAgQnVsa0NydWRPcGVyYXRpb25LZXlzLkRFTEVURV9BTEwsXG4gICAgICBdIGFzIChrZXlvZiBBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT4pW11cbiAgICApLmZvckVhY2goKG1ldGhvZCkgPT4ge1xuICAgICAgaWYgKCFhZGFwdGVyW21ldGhvZF0pXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBNZXRob2QgJHttZXRob2R9IG5vdCBmb3VuZCBpbiAke2FkYXB0ZXIuYWxpYXN9IGFkYXB0ZXIgdG8gYmluZCBPYnNlcnZhYmxlcyBEaXNwYXRjaGBcbiAgICAgICAgKTtcblxuICAgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFkYXB0ZXIsIG1ldGhvZCk7XG4gICAgICBsZXQgcHJvdG86IGFueSA9IGFkYXB0ZXI7XG4gICAgICB3aGlsZSAoIWRlc2NyaXB0b3IgJiYgcHJvdG8gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICAgICAgICBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgbWV0aG9kKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8ICFkZXNjcmlwdG9yLndyaXRhYmxlKSB7XG4gICAgICAgIHRoaXMubG9nLmVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgZmluZCBtZXRob2QgJHttZXRob2R9IHRvIGJpbmQgT2JzZXJ2YWJsZXMgRGlzcGF0Y2hgXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGJ1bGtUb1NpbmdsZShtZXRob2Q6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgIGNhc2UgQnVsa0NydWRPcGVyYXRpb25LZXlzLkNSRUFURV9BTEw6XG4gICAgICAgICAgICByZXR1cm4gT3BlcmF0aW9uS2V5cy5DUkVBVEU7XG4gICAgICAgICAgY2FzZSBCdWxrQ3J1ZE9wZXJhdGlvbktleXMuVVBEQVRFX0FMTDpcbiAgICAgICAgICAgIHJldHVybiBPcGVyYXRpb25LZXlzLlVQREFURTtcbiAgICAgICAgICBjYXNlIEJ1bGtDcnVkT3BlcmF0aW9uS2V5cy5ERUxFVEVfQUxMOlxuICAgICAgICAgICAgcmV0dXJuIE9wZXJhdGlvbktleXMuREVMRVRFO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbWV0aG9kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGJlY2F1c2UgdGhlcmUgYXJlIHJlYWQgb25seSBwcm9wZXJ0aWVzXG4gICAgICBhZGFwdGVyW21ldGhvZF0gPSBuZXcgUHJveHkoYWRhcHRlclttZXRob2RdLCB7XG4gICAgICAgIGFwcGx5OiBhc3luYyAodGFyZ2V0OiBhbnksIHRoaXNBcmcsIGFyZ0FycmF5OiBhbnlbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IFt0YWJsZU5hbWUsIGlkc10gPSBhcmdBcnJheTtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0YXJnZXQuYXBwbHkodGhpc0FyZywgYXJnQXJyYXkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlT2JzZXJ2ZXJzKHRhYmxlTmFtZSwgYnVsa1RvU2luZ2xlKG1ldGhvZCksIGlkcyBhcyBFdmVudElkcylcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2cudmVyYm9zZShcbiAgICAgICAgICAgICAgICBgT2JzZXJ2ZXIgcmVmcmVzaCBkaXNwYXRjaGVkIGJ5ICR7bWV0aG9kfSBmb3IgJHt0YWJsZU5hbWV9YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgcGtzOiAke2lkc31gKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGU6IHVua25vd24pID0+XG4gICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gZGlzcGF0Y2ggb2JzZXJ2ZXIgcmVmcmVzaCBmb3IgJHttZXRob2R9IG9uICR7dGFibGVOYW1lfTogJHtlfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENsb3NlcyB0aGUgZGlzcGF0Y2hcbiAgICogQHN1bW1hcnkgUGVyZm9ybXMgYW55IG5lY2Vzc2FyeSBjbGVhbnVwIHdoZW4gdGhlIGRpc3BhdGNoIGlzIG5vIGxvbmdlciBuZWVkZWRcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBjbG9zaW5nIGlzIGNvbXBsZXRlXG4gICAqL1xuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyB0byBub3RoaW5nIGluIHRoaXMgaW5zdGFuY2UgYnV0IG1heSBiZSByZXF1aXJlZCBmb3IgY2xvc2luZyBjb25uZWN0aW9uc1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTdGFydHMgb2JzZXJ2aW5nIGFuIGFkYXB0ZXJcbiAgICogQHN1bW1hcnkgQ29ubmVjdHMgdGhpcyBkaXNwYXRjaCB0byBhbiBhZGFwdGVyIHRvIG1vbml0b3IgaXRzIG9wZXJhdGlvbnNcbiAgICogQHBhcmFtIHtBZGFwdGVyPGFueSwgYW55LCBhbnksIGFueT59IG9ic2VydmVyIC0gVGhlIGFkYXB0ZXIgdG8gb2JzZXJ2ZVxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgb2JzZXJ2ZShvYnNlcnZlcjogQWRhcHRlcjxhbnksIGFueSwgYW55LCBhbnk+KTogdm9pZCB7XG4gICAgaWYgKCEob2JzZXJ2ZXIgaW5zdGFuY2VvZiBBZGFwdGVyKSlcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiT25seSBBZGFwdGVycyBjYW4gYmUgb2JzZXJ2ZWQgYnkgZGlzcGF0Y2hcIik7XG4gICAgdGhpcy5hZGFwdGVyID0gb2JzZXJ2ZXI7XG4gICAgdGhpcy5tb2RlbHMgPSBBZGFwdGVyLm1vZGVscyh0aGlzLmFkYXB0ZXIuYWxpYXMpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpLnRoZW4oKCkgPT5cbiAgICAgIHRoaXMubG9nLnZlcmJvc2UoXG4gICAgICAgIGBEaXNwYXRjaCBpbml0aWFsaXplZCBmb3IgJHt0aGlzLmFkYXB0ZXIhLmFsaWFzfSBhZGFwdGVyYFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0b3BzIG9ic2VydmluZyBhbiBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IERpc2Nvbm5lY3RzIHRoaXMgZGlzcGF0Y2ggZnJvbSBhbiBhZGFwdGVyXG4gICAqIEBwYXJhbSB7T2JzZXJ2ZXJ9IG9ic2VydmVyIC0gVGhlIGFkYXB0ZXIgdG8gc3RvcCBvYnNlcnZpbmdcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHVuT2JzZXJ2ZShvYnNlcnZlcjogT2JzZXJ2ZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGFwdGVyICE9PSBvYnNlcnZlcilcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgICBcIk9ubHkgdGhlIGFkYXB0ZXIgdGhhdCB3YXMgdXNlZCB0byBvYnNlcnZlIGNhbiBiZSB1bm9ic2VydmVkXCJcbiAgICAgICk7XG4gICAgdGhpcy5hZGFwdGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIG9ic2VydmVycyBhYm91dCBhIGRhdGFiYXNlIGV2ZW50XG4gICAqIEBzdW1tYXJ5IE5vdGlmaWVzIG9ic2VydmVycyBhYm91dCBhIGNoYW5nZSBpbiB0aGUgZGF0YWJhc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHdoZXJlIHRoZSBjaGFuZ2Ugb2NjdXJyZWRcbiAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzfEJ1bGtDcnVkT3BlcmF0aW9uS2V5c3xzdHJpbmd9IGV2ZW50IC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIHRoYXQgb2NjdXJyZWRcbiAgICogQHBhcmFtIHtFdmVudElkc30gaWQgLSBUaGUgaWRlbnRpZmllcihzKSBvZiB0aGUgYWZmZWN0ZWQgcmVjb3JkKHMpXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIG9ic2VydmVycyBoYXZlIGJlZW4gbm90aWZpZWRcbiAgICovXG4gIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuYWRhcHRlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBhZGFwdGVyIG9ic2VydmVkIGZvciBkaXNwYXRjaGApO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIucmVmcmVzaCh0YWJsZSwgZXZlbnQsIGlkKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggZGlzcGF0Y2g6ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cblxuaWYgKEFkYXB0ZXIpIEFkYXB0ZXJbXCJfYmFzZURpc3BhdGNoXCJdID0gRGlzcGF0Y2g7XG4iXX0=
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { OperationKeys, BulkCrudOperationKeys } from "@decaf-ts/db-decorators";
|
2
2
|
import { ModelConstructor } from "@decaf-ts/decorator-validation";
|
3
|
-
import {
|
3
|
+
import { Observer } from "../interfaces";
|
4
4
|
import { Adapter } from "./Adapter";
|
5
|
-
import { EventIds } from "./types";
|
5
|
+
import { AdapterDispatch, EventIds } from "./types";
|
6
6
|
import { LoggedClass } from "@decaf-ts/logging";
|
7
7
|
/**
|
8
8
|
* @description Dispatches database operation events to observers
|
@@ -30,17 +30,12 @@ import { LoggedClass } from "@decaf-ts/logging";
|
|
30
30
|
* dispatch.unObserve(adapter);
|
31
31
|
* ```
|
32
32
|
*/
|
33
|
-
export declare class Dispatch
|
33
|
+
export declare class Dispatch extends LoggedClass implements AdapterDispatch {
|
34
34
|
/**
|
35
35
|
* @description The adapter being observed
|
36
36
|
* @summary Reference to the database adapter whose operations are being monitored
|
37
37
|
*/
|
38
|
-
protected adapter?: Adapter<
|
39
|
-
/**
|
40
|
-
* @description The native database driver
|
41
|
-
* @summary Reference to the underlying database driver from the adapter
|
42
|
-
*/
|
43
|
-
protected native?: Y;
|
38
|
+
protected adapter?: Adapter<any, any, any, any, any>;
|
44
39
|
/**
|
45
40
|
* @description List of model constructors
|
46
41
|
* @summary Array of model constructors that are registered with the adapter
|
@@ -97,10 +92,10 @@ export declare class Dispatch<Y> extends LoggedClass implements Observable {
|
|
97
92
|
/**
|
98
93
|
* @description Starts observing an adapter
|
99
94
|
* @summary Connects this dispatch to an adapter to monitor its operations
|
100
|
-
* @param {Adapter<
|
95
|
+
* @param {Adapter<any, any, any, any>} observer - The adapter to observe
|
101
96
|
* @return {void}
|
102
97
|
*/
|
103
|
-
observe(observer: Adapter<
|
98
|
+
observe(observer: Adapter<any, any, any, any>): void;
|
104
99
|
/**
|
105
100
|
* @description Stops observing an adapter
|
106
101
|
* @summary Disconnects this dispatch from an adapter
|
@@ -14,12 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
// purposely in first place
|
18
|
+
__exportStar(require("./Dispatch.cjs"), exports);
|
17
19
|
__exportStar(require("./Adapter.cjs"), exports);
|
18
20
|
__exportStar(require("./constants.cjs"), exports);
|
19
21
|
__exportStar(require("./decorators.cjs"), exports);
|
20
|
-
__exportStar(require("./Dispatch.cjs"), exports);
|
21
22
|
__exportStar(require("./errors.cjs"), exports);
|
22
23
|
__exportStar(require("./ObserverHandler.cjs"), exports);
|
23
24
|
__exportStar(require("./Sequence.cjs"), exports);
|
24
25
|
__exportStar(require("./types.cjs"), exports);
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUEyQjtBQUMzQixpREFBMkI7QUFFM0IsZ0RBQTBCO0FBQzFCLGtEQUE0QjtBQUM1QixtREFBNkI7QUFDN0IsK0NBQXlCO0FBQ3pCLHdEQUFrQztBQUNsQyxpREFBMkI7QUFDM0IsOENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gcHVycG9zZWx5IGluIGZpcnN0IHBsYWNlXG5leHBvcnQgKiBmcm9tIFwiLi9EaXNwYXRjaFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9BZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vT2JzZXJ2ZXJIYW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TZXF1ZW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
|
@@ -1,3 +1,3 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGVyc2lzdGVuY2UvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cywgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQWRhcHRlciB9IGZyb20gXCIuL0FkYXB0ZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9pbmRleFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIHJlcHJlc2VudGluZyBwb3NzaWJsZSBJRCBmb3JtYXRzIGZvciBkYXRhYmFzZSBldmVudHNcbiAqIEBzdW1tYXJ5IEEgdW5pb24gdHlwZSB0aGF0IGRlZmluZXMgdGhlIHBvc3NpYmxlIGZvcm1hdHMgZm9yIGV2ZW50IGlkZW50aWZpZXJzIGluIHRoZSBwZXJzaXN0ZW5jZSBsYXllci5cbiAqIFRoZXNlIGNhbiBiZSBzaW5nbGUgdmFsdWVzIChzdHJpbmcsIG51bWJlciwgYmlnaW50KSBvciBhcnJheXMgb2YgdGhlc2UgdHlwZXMuXG4gKiBAdHlwZWRlZiB7KHN0cmluZ3xudW1iZXJ8YmlnaW50fHN0cmluZ1tdfG51bWJlcltdfGJpZ2ludFtdKX0gRXZlbnRJZHNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgdHlwZSBFdmVudElkcyA9XG4gIHwgc3RyaW5nXG4gIHwgbnVtYmVyXG4gIHwgYmlnaW50XG4gIHwgc3RyaW5nW11cbiAgfCBudW1iZXJbXVxuICB8IGJpZ2ludFtdO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiB0eXBlIGZvciBmaWx0ZXJpbmcgb2JzZXJ2ZXIgbm90aWZpY2F0aW9uc1xuICogQHN1bW1hcnkgQSBmdW5jdGlvbiB0eXBlIHRoYXQgZGVmaW5lcyBhIHByZWRpY2F0ZSB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIGFuIG9ic2VydmVyIHNob3VsZCBiZSBub3RpZmllZFxuICogYWJvdXQgYSBzcGVjaWZpYyBkYXRhYmFzZSBldmVudC4gVGhlIGZpbHRlciBleGFtaW5lcyB0aGUgdGFibGUgbmFtZSwgZXZlbnQgdHlwZSwgYW5kIGFmZmVjdGVkIElEcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSB0YWJsZSB3aGVyZSB0aGUgZXZlbnQgb2NjdXJyZWRcbiAqIEBwYXJhbSB7KE9wZXJhdGlvbktleXN8QnVsa0NydWRPcGVyYXRpb25LZXlzfHN0cmluZyl9IGV2ZW50IC0gVGhlIHR5cGUgb2Ygb3BlcmF0aW9uIHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudFxuICogQHBhcmFtIHtFdmVudElkc30gaWQgLSBUaGUgaWRlbnRpZmllcihzKSBvZiB0aGUgYWZmZWN0ZWQgcmVjb3JkKHMpXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBvYnNlcnZlciBzaG91bGQgYmUgbm90aWZpZWQsIGZhbHNlIG90aGVyd2lzZVxuICogQHR5cGVkZWYge0Z1bmN0aW9ufSBPYnNlcnZlckZpbHRlclxuICogQG1lbWJlck9mIG1vZHVsZTpjb3JlXG4gKi9cbmV4cG9ydCB0eXBlIE9ic2VydmVyRmlsdGVyID0gKFxuICB0YWJsZTogc3RyaW5nLFxuICBldmVudDogT3BlcmF0aW9uS2V5cyB8IEJ1bGtDcnVkT3BlcmF0aW9uS2V5cyB8IHN0cmluZyxcbiAgaWQ6IEV2ZW50SWRzXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIEluZmVycmVkQWRhcHRlckNvbmZpZzxBPiA9XG4gIEEgZXh0ZW5kcyBBZGFwdGVyPGluZmVyIENPTkYsIGFueSwgYW55LCBhbnk+ID8gQ09ORiA6IG5ldmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJEaXNwYXRjaCBleHRlbmRzIE9ic2VydmFibGUge1xuICBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIHVwZGF0ZU9ic2VydmVycyhcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBFdmVudElkc1xuICApOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
2
2
|
import { Adapter } from "./Adapter";
|
3
|
+
import { Observable } from "../interfaces/index";
|
3
4
|
/**
|
4
5
|
* @description Type representing possible ID formats for database events
|
5
6
|
* @summary A union type that defines the possible formats for event identifiers in the persistence layer.
|
@@ -21,3 +22,7 @@ export type EventIds = string | number | bigint | string[] | number[] | bigint[]
|
|
21
22
|
*/
|
22
23
|
export type ObserverFilter = (table: string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds) => boolean;
|
23
24
|
export type InferredAdapterConfig<A> = A extends Adapter<infer CONF, any, any, any> ? CONF : never;
|
25
|
+
export interface AdapterDispatch extends Observable {
|
26
|
+
close(): Promise<void>;
|
27
|
+
updateObservers(table: string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds): Promise<void>;
|
28
|
+
}
|