@decaf-ts/core 0.5.21 → 0.5.23
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/README.md +251 -603
- package/dist/core.cjs +433 -225
- package/dist/core.esm.cjs +434 -226
- package/lib/esm/identity/decorators.js +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/model/types.d.ts +0 -9
- package/lib/esm/model/types.js +1 -1
- package/lib/esm/persistence/Adapter.d.ts +61 -51
- package/lib/esm/persistence/Adapter.js +120 -47
- package/lib/esm/persistence/Dispatch.d.ts +2 -13
- package/lib/esm/persistence/Dispatch.js +7 -15
- package/lib/esm/persistence/errors.d.ts +2 -2
- package/lib/esm/persistence/errors.js +4 -4
- package/lib/esm/persistence/types.d.ts +2 -0
- package/lib/esm/persistence/types.js +1 -1
- package/lib/esm/query/Condition.d.ts +8 -0
- package/lib/esm/query/Condition.js +9 -1
- package/lib/esm/query/Paginator.d.ts +2 -2
- package/lib/esm/query/Paginator.js +1 -1
- package/lib/esm/query/Statement.d.ts +4 -3
- package/lib/esm/query/Statement.js +4 -2
- package/lib/esm/query/errors.d.ts +3 -3
- package/lib/esm/query/errors.js +6 -6
- package/lib/esm/ram/RamAdapter.d.ts +8 -14
- package/lib/esm/ram/RamAdapter.js +44 -33
- package/lib/esm/ram/RamContext.d.ts +14 -6
- package/lib/esm/ram/RamContext.js +15 -7
- package/lib/esm/ram/constants.d.ts +1 -2
- package/lib/esm/ram/constants.js +2 -3
- package/lib/esm/ram/types.d.ts +3 -0
- package/lib/esm/ram/types.js +1 -1
- package/lib/esm/repository/Repository.d.ts +8 -7
- package/lib/esm/repository/Repository.js +8 -8
- package/lib/esm/repository/constants.d.ts +5 -4
- package/lib/esm/repository/constants.js +6 -5
- package/lib/esm/repository/decorators.js +2 -1
- package/lib/esm/repository/errors.d.ts +2 -2
- package/lib/esm/repository/errors.js +4 -4
- package/lib/esm/repository/injectables.d.ts +82 -11
- package/lib/esm/repository/injectables.js +137 -28
- package/lib/esm/repository/utils.d.ts +28 -6
- package/lib/esm/repository/utils.js +29 -7
- package/lib/esm/utils/errors.d.ts +5 -5
- package/lib/esm/utils/errors.js +9 -9
- package/lib/identity/decorators.cjs +1 -1
- package/lib/index.cjs +4 -4
- package/lib/index.d.ts +1 -1
- package/lib/model/types.cjs +1 -1
- package/lib/model/types.d.ts +0 -9
- package/lib/persistence/Adapter.cjs +119 -46
- package/lib/persistence/Adapter.d.ts +61 -51
- package/lib/persistence/Dispatch.cjs +6 -14
- package/lib/persistence/Dispatch.d.ts +2 -13
- package/lib/persistence/errors.cjs +3 -3
- package/lib/persistence/errors.d.ts +2 -2
- package/lib/persistence/types.cjs +1 -1
- package/lib/persistence/types.d.ts +2 -0
- package/lib/query/Condition.cjs +9 -1
- package/lib/query/Condition.d.ts +8 -0
- package/lib/query/Paginator.cjs +1 -1
- package/lib/query/Paginator.d.ts +2 -2
- package/lib/query/Statement.cjs +4 -2
- package/lib/query/Statement.d.ts +4 -3
- package/lib/query/errors.cjs +5 -5
- package/lib/query/errors.d.ts +3 -3
- package/lib/ram/RamAdapter.cjs +43 -32
- package/lib/ram/RamAdapter.d.ts +8 -14
- package/lib/ram/RamContext.cjs +15 -7
- package/lib/ram/RamContext.d.ts +14 -6
- package/lib/ram/constants.cjs +2 -3
- package/lib/ram/constants.d.ts +1 -2
- package/lib/ram/types.cjs +1 -1
- package/lib/ram/types.d.ts +3 -0
- package/lib/repository/Repository.cjs +8 -8
- package/lib/repository/Repository.d.ts +8 -7
- package/lib/repository/constants.cjs +6 -5
- package/lib/repository/constants.d.ts +5 -4
- package/lib/repository/decorators.cjs +2 -1
- package/lib/repository/errors.cjs +3 -3
- package/lib/repository/errors.d.ts +2 -2
- package/lib/repository/injectables.cjs +137 -28
- package/lib/repository/injectables.d.ts +82 -11
- package/lib/repository/utils.cjs +29 -7
- package/lib/repository/utils.d.ts +28 -6
- package/lib/utils/errors.cjs +8 -8
- package/lib/utils/errors.d.ts +5 -5
- package/package.json +1 -1
@@ -105,4 +105,4 @@ export function pk(opts = DefaultSequenceOptions) {
|
|
105
105
|
})
|
106
106
|
.apply();
|
107
107
|
}
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZGVudGl0eS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBRVYsWUFBWSxFQUNaLFFBQVEsR0FDVCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsMkNBQXNDO0FBQ3ZDLE9BQU8sRUFDTCxNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsRUFDUixRQUFRLEdBRVQsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQVEsVUFBVSxFQUFFLHNDQUFpQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLGlDQUE0QjtBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQWdCO0FBRy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUNBQXNCO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FROUIsT0FBbUIsRUFDbkIsSUFBTyxFQUNQLEdBQVksRUFDWixLQUFRO0lBRVIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxVQUN6QixNQUFTLEVBQ1QsV0FBbUIsRUFDbkIsS0FBK0I7UUFFL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO1lBQ3pDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsWUFBWSxFQUFFLElBQUk7WUFDbEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7UUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxJQUFJLFFBQWtCLENBQUM7SUFDdkIsSUFBSSxDQUFDO1FBQ0gsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0NBQWtDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEdBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsRUFBRSxDQUNoQixPQUdJLHNCQUFzQjtJQUUxQixJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFO1FBQ3JELFNBQVMsRUFDUCxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXO1lBQ2hELENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksc0JBQXNCLENBQUMsU0FBUztLQUN6RCxDQUFvQixDQUFDO0lBRXRCLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLFNBQVMsS0FBSyxDQUFDLE9BQXdCO1FBQ3JDLE9BQU8sU0FBUyxLQUFLLENBQUMsR0FBUSxFQUFFLElBQVM7WUFDdkMsT0FBTyxLQUFLLENBQ1YsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDL0MsUUFBUSxFQUFFLEVBQ1YsUUFBUSxFQUFFLEVBQ1YsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFDMUIsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFDN0IsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQzlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDdkIsTUFBTSxDQUFDO1FBQ04sU0FBUyxFQUFFLEtBQUs7UUFDaEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ2IsQ0FBQztTQUNELEtBQUssRUFBRSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlY29yYXRpb24sXG4gIE1vZGVsLFxuICBwcm9wTWV0YWRhdGEsXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0U2VxdWVuY2VPcHRpb25zLFxuICBTZXF1ZW5jZU9wdGlvbnMsXG59IGZyb20gXCIuLi9pbnRlcmZhY2VzL1NlcXVlbmNlT3B0aW9uc1wiO1xuaW1wb3J0IHtcbiAgREJLZXlzLFxuICBJbnRlcm5hbEVycm9yLFxuICBvbkNyZWF0ZSxcbiAgcmVhZG9ubHksXG4gIFJlcG9zaXRvcnlGbGFncyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBSZXBvLCBSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvUmVwb3NpdG9yeVwiO1xuaW1wb3J0IHsgaW5kZXggfSBmcm9tIFwiLi4vbW9kZWwvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgc2VxdWVuY2VOYW1lRm9yTW9kZWwgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgU2VxdWVuY2UgfSBmcm9tIFwiLi4vcGVyc2lzdGVuY2UvU2VxdWVuY2VcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE9yZGVyRGlyZWN0aW9uIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnlcIjtcbmltcG9ydCB7IGFwcGx5IH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBwcmltYXJ5IGtleSBjcmVhdGlvblxuICogQHN1bW1hcnkgSGFuZGxlcyB0aGUgY3JlYXRpb24gb2YgcHJpbWFyeSBrZXkgdmFsdWVzIGZvciBtb2RlbHMgdXNpbmcgc2VxdWVuY2VzXG4gKiBAdGVtcGxhdGUgTSAtIFR5cGUgdGhhdCBleHRlbmRzIE1vZGVsXG4gKiBAdGVtcGxhdGUgUiAtIFR5cGUgdGhhdCBleHRlbmRzIFJlcG88TSwgRiwgQz5cbiAqIEB0ZW1wbGF0ZSBWIC0gVHlwZSB0aGF0IGV4dGVuZHMgU2VxdWVuY2VPcHRpb25zXG4gKiBAdGVtcGxhdGUgRiAtIFR5cGUgdGhhdCBleHRlbmRzIFJlcG9zaXRvcnlGbGFnc1xuICogQHRlbXBsYXRlIEMgLSBUeXBlIHRoYXQgZXh0ZW5kcyBDb250ZXh0PEY+XG4gKiBAcGFyYW0ge0NvbnRleHQ8Rj59IGNvbnRleHQgLSBUaGUgZXhlY3V0aW9uIGNvbnRleHRcbiAqIEBwYXJhbSB7Vn0gZGF0YSAtIFRoZSBzZXF1ZW5jZSBvcHRpb25zXG4gKiBAcGFyYW0ga2V5IC0gVGhlIHByb3BlcnR5IGtleSB0byBzZXQgYXMgcHJpbWFyeSBrZXlcbiAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2VcbiAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHByaW1hcnkga2V5IGlzIHNldFxuICogQGZ1bmN0aW9uIHBrT25DcmVhdGVcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHBrT25DcmVhdGVcbiAqICAgcGFydGljaXBhbnQgQWRhcHRlclxuICogICBwYXJ0aWNpcGFudCBTZXF1ZW5jZVxuICpcbiAqICAgTW9kZWwtPj5wa09uQ3JlYXRlOiBDYWxsIHdpdGggbW9kZWwgaW5zdGFuY2VcbiAqICAgTm90ZSBvdmVyIHBrT25DcmVhdGU6IENoZWNrIGlmIGtleSBhbHJlYWR5IGV4aXN0c1xuICogICBhbHQgS2V5IGV4aXN0cyBvciBubyB0eXBlIHNwZWNpZmllZFxuICogICAgIHBrT25DcmVhdGUtLT4+TW9kZWw6IFJldHVybiBlYXJseVxuICogICBlbHNlIEtleSBuZWVkcyB0byBiZSBjcmVhdGVkXG4gKiAgICAgcGtPbkNyZWF0ZS0+PnBrT25DcmVhdGU6IEdlbmVyYXRlIHNlcXVlbmNlIG5hbWUgaWYgbm90IHByb3ZpZGVkXG4gKiAgICAgcGtPbkNyZWF0ZS0+PkFkYXB0ZXI6IFJlcXVlc3QgU2VxdWVuY2UoZGF0YSlcbiAqICAgICBBZGFwdGVyLT4+U2VxdWVuY2U6IENyZWF0ZSBzZXF1ZW5jZVxuICogICAgIFNlcXVlbmNlLS0+PnBrT25DcmVhdGU6IFJldHVybiBzZXF1ZW5jZVxuICogICAgIHBrT25DcmVhdGUtPj5TZXF1ZW5jZTogQ2FsbCBuZXh0KClcbiAqICAgICBTZXF1ZW5jZS0tPj5wa09uQ3JlYXRlOiBSZXR1cm4gbmV4dCB2YWx1ZVxuICogICAgIHBrT25DcmVhdGUtPj5Nb2RlbDogU2V0IHByaW1hcnkga2V5IHZhbHVlXG4gKiAgIGVuZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGtPbkNyZWF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgUmVwbzxNLCBGLCBDPixcbiAgViBleHRlbmRzIFNlcXVlbmNlT3B0aW9ucyxcbiAgRiBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyxcbiAgQyBleHRlbmRzIENvbnRleHQ8Rj4sXG4+KFxuICB0aGlzOiBSLFxuICBjb250ZXh0OiBDb250ZXh0PEY+LFxuICBkYXRhOiBWLFxuICBrZXk6IGtleW9mIE0sXG4gIG1vZGVsOiBNXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKCFkYXRhLnR5cGUgfHwgIWRhdGEuZ2VuZXJhdGVkIHx8IG1vZGVsW2tleV0pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzZXRQcmltYXJ5S2V5VmFsdWUgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPihcbiAgICB0YXJnZXQ6IE0sXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgIH0pO1xuICB9O1xuXG4gIGlmICghZGF0YS5uYW1lKSBkYXRhLm5hbWUgPSBzZXF1ZW5jZU5hbWVGb3JNb2RlbChtb2RlbCwgXCJwa1wiKTtcbiAgbGV0IHNlcXVlbmNlOiBTZXF1ZW5jZTtcbiAgdHJ5IHtcbiAgICBzZXF1ZW5jZSA9IGF3YWl0IHRoaXMuYWRhcHRlci5TZXF1ZW5jZShkYXRhKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIGluc3RhbnRpYXRlIFNlcXVlbmNlICR7ZGF0YS5uYW1lfTogJHtlfWBcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbmV4dCA9IGF3YWl0IHNlcXVlbmNlLm5leHQoKTtcbiAgc2V0UHJpbWFyeUtleVZhbHVlKG1vZGVsLCBrZXkgYXMgc3RyaW5nLCBuZXh0KTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUHJpbWFyeSBLZXkgRGVjb3JhdG9yXG4gKiBAc3VtbWFyeSBNYXJrcyBhIHByb3BlcnR5IGFzIHRoZSBtb2RlbCdzIHByaW1hcnkga2V5IHdpdGggYXV0b21hdGljIHNlcXVlbmNlIGdlbmVyYXRpb25cbiAqIFRoaXMgZGVjb3JhdG9yIGNvbWJpbmVzIG11bHRpcGxlIGJlaGF2aW9yczogaXQgbWFya3MgdGhlIHByb3BlcnR5IGFzIHVuaXF1ZSwgcmVxdWlyZWQsXG4gKiBhbmQgZW5zdXJlcyB0aGUgaW5kZXggaXMgY3JlYXRlZCBwcm9wZXJseSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNlcXVlbmNlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge09taXQ8U2VxdWVuY2VPcHRpb25zLCBcImN5Y2xlXCIgfCBcInN0YXJ0V2l0aFwiIHwgXCJpbmNyZW1lbnRCeVwiPn0gb3B0cyAtIE9wdGlvbnMgZm9yIHRoZSBzZXF1ZW5jZSBnZW5lcmF0aW9uXG4gKiBAcmV0dXJuIHtQcm9wZXJ0eURlY29yYXRvcn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBtb2RlbCBwcm9wZXJ0aWVzXG4gKiBAZnVuY3Rpb24gcGtcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgVXNlciBleHRlbmRzIEJhc2VNb2RlbCB7XG4gKiAgIEBwaygpXG4gKiAgIGlkITogc3RyaW5nO1xuICpcbiAqICAgQHJlcXVpcmVkKClcbiAqICAgdXNlcm5hbWUhOiBzdHJpbmc7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBrKFxuICBvcHRzOiBPbWl0PFxuICAgIFNlcXVlbmNlT3B0aW9ucyxcbiAgICBcImN5Y2xlXCIgfCBcInN0YXJ0V2l0aFwiIHwgXCJpbmNyZW1lbnRCeVwiXG4gID4gPSBEZWZhdWx0U2VxdWVuY2VPcHRpb25zXG4pIHtcbiAgb3B0cyA9IE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRTZXF1ZW5jZU9wdGlvbnMsIG9wdHMsIHtcbiAgICBnZW5lcmF0ZWQ6XG4gICAgICBvcHRzLnR5cGUgJiYgdHlwZW9mIG9wdHMuZ2VuZXJhdGVkID09PSBcInVuZGVmaW5lZFwiXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IG9wdHMuZ2VuZXJhdGVkIHx8IERlZmF1bHRTZXF1ZW5jZU9wdGlvbnMuZ2VuZXJhdGVkLFxuICB9KSBhcyBTZXF1ZW5jZU9wdGlvbnM7XG5cbiAgY29uc3Qga2V5ID0gUmVwb3NpdG9yeS5rZXkoREJLZXlzLklEKTtcbiAgZnVuY3Rpb24gcGtEZWMob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHBrRGVjKG9iajogYW55LCBhdHRyOiBhbnkpIHtcbiAgICAgIHJldHVybiBhcHBseShcbiAgICAgICAgaW5kZXgoW09yZGVyRGlyZWN0aW9uLkFTQywgT3JkZXJEaXJlY3Rpb24uRFNDXSksXG4gICAgICAgIHJlcXVpcmVkKCksXG4gICAgICAgIHJlYWRvbmx5KCksXG4gICAgICAgIHByb3BNZXRhZGF0YShrZXksIG9wdGlvbnMpLFxuICAgICAgICBvbkNyZWF0ZShwa09uQ3JlYXRlLCBvcHRpb25zKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKERCS2V5cy5JRCwgYXR0cilcbiAgICAgICkob2JqLCBhdHRyKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBEZWNvcmF0aW9uLmZvcihrZXkpXG4gICAgLmRlZmluZSh7XG4gICAgICBkZWNvcmF0b3I6IHBrRGVjLFxuICAgICAgYXJnczogW29wdHNdLFxuICAgIH0pXG4gICAgLmFwcGx5KCk7XG59XG4iXX0=
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* model definitions, repository patterns, persistence layer, query building, and utility functions.
|
6
6
|
* It exports functionality from various submodules and sets up the injectable registry for repository decorators.
|
7
7
|
*/
|
8
|
-
import { InjectablesRegistry } from "./repository/
|
8
|
+
import { InjectablesRegistry } from "./repository/injectables.js";
|
9
9
|
import { Injectables } from "@decaf-ts/injectable-decorators";
|
10
10
|
// overrides the previous Injectables registry to enable the @repository decorator
|
11
11
|
Injectables.setRegistry(new InjectablesRegistry());
|
@@ -23,5 +23,5 @@ export * from "./persistence/index.js";
|
|
23
23
|
* @const VERSION
|
24
24
|
* @memberOf module:core
|
25
25
|
*/
|
26
|
-
export const VERSION = "0.5.
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
export const VERSION = "0.5.23";
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9DQUFpQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsa0ZBQWtGO0FBQ2xGLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFbkQsb0NBQTJCO0FBQzNCLHNDQUE2QjtBQUM3QixpQ0FBd0I7QUFDeEIsaUNBQXdCO0FBQ3hCLHNDQUE2QjtBQUM3QixpQ0FBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLHVDQUE4QjtBQUU5Qjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgY29yZVxuICogQGRlc2NyaXB0aW9uIENvcmUgbW9kdWxlIGZvciB0aGUgRGVjYWYgVHlwZVNjcmlwdCBmcmFtZXdvcmtcbiAqIEBzdW1tYXJ5IFRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBmb3VuZGF0aW9uYWwgY29tcG9uZW50cyBvZiB0aGUgRGVjYWYgZnJhbWV3b3JrLCBpbmNsdWRpbmcgaWRlbnRpdHkgbWFuYWdlbWVudCxcbiAqIG1vZGVsIGRlZmluaXRpb25zLCByZXBvc2l0b3J5IHBhdHRlcm5zLCBwZXJzaXN0ZW5jZSBsYXllciwgcXVlcnkgYnVpbGRpbmcsIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy5cbiAqIEl0IGV4cG9ydHMgZnVuY3Rpb25hbGl0eSBmcm9tIHZhcmlvdXMgc3VibW9kdWxlcyBhbmQgc2V0cyB1cCB0aGUgaW5qZWN0YWJsZSByZWdpc3RyeSBmb3IgcmVwb3NpdG9yeSBkZWNvcmF0b3JzLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGVzUmVnaXN0cnkgfSBmcm9tIFwiLi9yZXBvc2l0b3J5L2luamVjdGFibGVzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlcyB9IGZyb20gXCJAZGVjYWYtdHMvaW5qZWN0YWJsZS1kZWNvcmF0b3JzXCI7XG5cbi8vIG92ZXJyaWRlcyB0aGUgcHJldmlvdXMgSW5qZWN0YWJsZXMgcmVnaXN0cnkgdG8gZW5hYmxlIHRoZSBAcmVwb3NpdG9yeSBkZWNvcmF0b3JcbkluamVjdGFibGVzLnNldFJlZ2lzdHJ5KG5ldyBJbmplY3RhYmxlc1JlZ2lzdHJ5KCkpO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9pZGVudGl0eVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3F1ZXJ5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXBvc2l0b3J5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuLy9sZWZ0IHRvIGxhc3Qgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vcGVyc2lzdGVuY2VcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIHRoZSBjdXJyZW50IHBhY2thZ2UgdmVyc2lvblxuICogQHN1bW1hcnkgQSBjb25zdGFudCByZXByZXNlbnRpbmcgdGhlIHZlcnNpb24gb2YgdGhlIGNvcmUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Y29yZVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
|
package/lib/esm/model/types.d.ts
CHANGED
@@ -47,15 +47,6 @@ export type JoinTableMultipleColumnsOptions = {
|
|
47
47
|
*/
|
48
48
|
inverseJoinColumns?: JoinColumnOptions[];
|
49
49
|
};
|
50
|
-
/**
|
51
|
-
* @description Metadata for model relationships
|
52
|
-
* @summary Type definition for storing metadata about relationships between models
|
53
|
-
* @property {string} class - The name of the related model class
|
54
|
-
* @property {CascadeMetadata} cascade - Configuration for cascade operations (create, update, delete)
|
55
|
-
* @property {boolean} populate - Whether to automatically populate the relationship when retrieving the model
|
56
|
-
* @typedef {Object} RelationsMetadata
|
57
|
-
* @memberOf module:model
|
58
|
-
*/
|
59
50
|
export type RelationsMetadata = {
|
60
51
|
class: string | (() => Constructor<any>);
|
61
52
|
cascade: CascadeMetadata;
|
package/lib/esm/model/types.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2NhZGVNZXRhZGF0YSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuLyoqXG4gKiBEZXNjcmliZXMgam9pbiBjb2x1bW4gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgSm9pbkNvbHVtbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb2x1bW4uXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29sdW1uIGluIHRoZSBlbnRpdHkgdG8gd2hpY2ggdGhpcyBjb2x1bW4gaXMgcmVmZXJlbmNlZC5cbiAgICovXG4gIHJlZmVyZW5jZWRDb2x1bW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZm9yZWlnbiBrZXkgY29uc3RyYWludC5cbiAgICovXG4gIGZvcmVpZ25LZXlDb25zdHJhaW50TmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEpvaW5UYWJsZU9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0YWJsZSB0aGF0IHdpbGwgYmUgY3JlYXRlZCB0byBzdG9yZSB2YWx1ZXMgb2YgdGhlIGJvdGggdGFibGVzIChqb2luIHRhYmxlKS5cbiAgICogQnkgZGVmYXVsdCBpcyBhdXRvIGdlbmVyYXRlZC5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGaXJzdCBjb2x1bW4gb2YgdGhlIGpvaW4gdGFibGUuXG4gICAqL1xuICBqb2luQ29sdW1uPzogSm9pbkNvbHVtbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBTZWNvbmQgKGludmVyc2UpIGNvbHVtbiBvZiB0aGUgam9pbiB0YWJsZS5cbiAgICovXG4gIGludmVyc2VKb2luQ29sdW1uPzogSm9pbkNvbHVtbk9wdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBKb2luVGFibGVNdWx0aXBsZUNvbHVtbnNPcHRpb25zID0ge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGFibGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdG8gc3RvcmUgdmFsdWVzIG9mIHRoZSBib3RoIHRhYmxlcyAoam9pbiB0YWJsZSkuXG4gICAqIEJ5IGRlZmF1bHQgaXMgYXV0byBnZW5lcmF0ZWQuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRmlyc3QgY29sdW1uIG9mIHRoZSBqb2luIHRhYmxlLlxuICAgKi9cbiAgam9pbkNvbHVtbnM/OiBKb2luQ29sdW1uT3B0aW9uc1tdO1xuICAvKipcbiAgICogU2Vjb25kIChpbnZlcnNlKSBjb2x1bW4gb2YgdGhlIGpvaW4gdGFibGUuXG4gICAqL1xuICBpbnZlcnNlSm9pbkNvbHVtbnM/
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhc2NhZGVNZXRhZGF0YSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuLyoqXG4gKiBEZXNjcmliZXMgam9pbiBjb2x1bW4gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgSm9pbkNvbHVtbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjb2x1bW4uXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29sdW1uIGluIHRoZSBlbnRpdHkgdG8gd2hpY2ggdGhpcyBjb2x1bW4gaXMgcmVmZXJlbmNlZC5cbiAgICovXG4gIHJlZmVyZW5jZWRDb2x1bW5OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZm9yZWlnbiBrZXkgY29uc3RyYWludC5cbiAgICovXG4gIGZvcmVpZ25LZXlDb25zdHJhaW50TmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEpvaW5UYWJsZU9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0YWJsZSB0aGF0IHdpbGwgYmUgY3JlYXRlZCB0byBzdG9yZSB2YWx1ZXMgb2YgdGhlIGJvdGggdGFibGVzIChqb2luIHRhYmxlKS5cbiAgICogQnkgZGVmYXVsdCBpcyBhdXRvIGdlbmVyYXRlZC5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGaXJzdCBjb2x1bW4gb2YgdGhlIGpvaW4gdGFibGUuXG4gICAqL1xuICBqb2luQ29sdW1uPzogSm9pbkNvbHVtbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBTZWNvbmQgKGludmVyc2UpIGNvbHVtbiBvZiB0aGUgam9pbiB0YWJsZS5cbiAgICovXG4gIGludmVyc2VKb2luQ29sdW1uPzogSm9pbkNvbHVtbk9wdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBKb2luVGFibGVNdWx0aXBsZUNvbHVtbnNPcHRpb25zID0ge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgdGFibGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdG8gc3RvcmUgdmFsdWVzIG9mIHRoZSBib3RoIHRhYmxlcyAoam9pbiB0YWJsZSkuXG4gICAqIEJ5IGRlZmF1bHQgaXMgYXV0byBnZW5lcmF0ZWQuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRmlyc3QgY29sdW1uIG9mIHRoZSBqb2luIHRhYmxlLlxuICAgKi9cbiAgam9pbkNvbHVtbnM/OiBKb2luQ29sdW1uT3B0aW9uc1tdO1xuICAvKipcbiAgICogU2Vjb25kIChpbnZlcnNlKSBjb2x1bW4gb2YgdGhlIGpvaW4gdGFibGUuXG4gICAqL1xuICBpbnZlcnNlSm9pbkNvbHVtbnM/OiBKb2luQ29sdW1uT3B0aW9uc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25zTWV0YWRhdGEgPSB7XG4gIGNsYXNzOiBzdHJpbmcgfCAoKCkgPT4gQ29uc3RydWN0b3I8YW55Pik7XG4gIGNhc2NhZGU6IENhc2NhZGVNZXRhZGF0YTtcbiAgcG9wdWxhdGU6IGJvb2xlYW47XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGpvaW5UYWJsZT86IEpvaW5UYWJsZU9wdGlvbnM7XG59O1xuIl19
|
@@ -8,29 +8,29 @@ import { Repository } from "../repository/Repository";
|
|
8
8
|
import { Sequence } from "./Sequence";
|
9
9
|
import { ErrorParser } from "../interfaces";
|
10
10
|
import { Statement } from "../query/Statement";
|
11
|
-
import { Logger } from "@decaf-ts/logging";
|
12
11
|
import { Dispatch } from "./Dispatch";
|
13
12
|
import { type EventIds, type ObserverFilter } from "./types";
|
14
13
|
import { ObserverHandler } from "./ObserverHandler";
|
14
|
+
import { LoggedClass } from "@decaf-ts/logging";
|
15
15
|
/**
|
16
|
-
* @description Abstract
|
16
|
+
* @description Abstract Facade class for persistence adapters
|
17
17
|
* @summary Provides the foundation for all database adapters in the persistence layer. This class
|
18
18
|
* implements several interfaces to provide a consistent API for database operations, observer
|
19
19
|
* pattern support, and error handling. It manages adapter registration, CRUD operations, and
|
20
20
|
* observer notifications.
|
21
|
-
* @template
|
22
|
-
* @template
|
23
|
-
* @template
|
24
|
-
* @template
|
25
|
-
* @param {
|
21
|
+
* @template CONFIG - The underlying persistence driver config
|
22
|
+
* @template QUERY - The query object type used by the adapter
|
23
|
+
* @template FLAGS - The repository flags type
|
24
|
+
* @template CONTEXT - The context type
|
25
|
+
* @param {CONFIG} _config - The underlying persistence driver config
|
26
26
|
* @param {string} flavour - The identifier for this adapter type
|
27
27
|
* @param {string} [_alias] - Optional alternative name for this adapter
|
28
28
|
* @class Adapter
|
29
29
|
* @example
|
30
30
|
* ```typescript
|
31
31
|
* // Implementing a concrete adapter
|
32
|
-
* class PostgresAdapter extends Adapter<pg.
|
33
|
-
* constructor(client: pg.
|
32
|
+
* class PostgresAdapter extends Adapter<pg.PoolConfig, pg.Query, PostgresFlags, PostgresContext> {
|
33
|
+
* constructor(client: pg.PoolConfig) {
|
34
34
|
* super(client, 'postgres');
|
35
35
|
* }
|
36
36
|
*
|
@@ -104,27 +104,22 @@ import { ObserverHandler } from "./ObserverHandler";
|
|
104
104
|
* Adapter --|> Observer
|
105
105
|
* Adapter --|> ErrorParser
|
106
106
|
*/
|
107
|
-
export declare abstract class Adapter<
|
108
|
-
private readonly
|
107
|
+
export declare abstract class Adapter<CONF, CONN, QUERY, FLAGS extends RepositoryFlags = RepositoryFlags, CONTEXT extends Context<FLAGS> = Context<FLAGS>> extends LoggedClass implements RawExecutor<QUERY>, Contextual<FLAGS, CONTEXT>, Observable, Observer, ErrorParser {
|
108
|
+
private readonly _config;
|
109
109
|
readonly flavour: string;
|
110
110
|
private readonly _alias?;
|
111
111
|
private static _currentFlavour;
|
112
112
|
private static _cache;
|
113
|
-
|
114
|
-
protected dispatch?: Dispatch<Y>;
|
113
|
+
protected dispatch?: Dispatch<CONF>;
|
115
114
|
protected readonly observerHandler?: ObserverHandler;
|
115
|
+
protected _client?: CONN;
|
116
116
|
/**
|
117
|
-
* @description
|
118
|
-
* @summary
|
119
|
-
* @
|
117
|
+
* @description Gets the native persistence config
|
118
|
+
* @summary Provides access to the underlying persistence driver config
|
119
|
+
* @template CONF
|
120
|
+
* @return {CONF} The native persistence driver config
|
120
121
|
*/
|
121
|
-
|
122
|
-
/**
|
123
|
-
* @description Gets the native database driver
|
124
|
-
* @summary Provides access to the underlying database driver instance
|
125
|
-
* @return {Y} The native database driver
|
126
|
-
*/
|
127
|
-
get native(): Y;
|
122
|
+
get config(): CONF;
|
128
123
|
/**
|
129
124
|
* @description Gets the adapter's alias or flavor name
|
130
125
|
* @summary Returns the alias if set, otherwise returns the flavor name
|
@@ -135,27 +130,35 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
135
130
|
* @description Gets the repository constructor for this adapter
|
136
131
|
* @summary Returns the constructor for creating repositories that work with this adapter
|
137
132
|
* @template M - The model type
|
138
|
-
* @return {Constructor<Repository<M,
|
133
|
+
* @return {Constructor<Repository<M, QUERY, Adapter<CONF, CONN, QUERY, FLAGS, CONTEXT>, FLAGS, CONTEXT>>} The repository constructor
|
134
|
+
*/
|
135
|
+
repository<M extends Model<boolean>>(): Constructor<Repository<M, QUERY, Adapter<CONF, CONN, QUERY, FLAGS, CONTEXT>, FLAGS, CONTEXT>>;
|
136
|
+
protected shutdownProxies(k?: string): Promise<void>;
|
137
|
+
/**
|
138
|
+
* @description Shuts down the adapter
|
139
|
+
* @summary Performs any necessary cleanup tasks, such as closing connections
|
140
|
+
* When overriding this method, ensure to call the base method first
|
141
|
+
* @return {Promise<void>} A promise that resolves when shutdown is complete
|
139
142
|
*/
|
140
|
-
|
143
|
+
shutdown(): Promise<void>;
|
141
144
|
/**
|
142
145
|
* @description Creates a new adapter instance
|
143
146
|
* @summary Initializes the adapter with the native driver and registers it in the adapter cache
|
144
147
|
*/
|
145
|
-
protected constructor(
|
148
|
+
protected constructor(_config: CONF, flavour: string, _alias?: string | undefined);
|
146
149
|
/**
|
147
150
|
* @description Creates a new statement builder for a model
|
148
151
|
* @summary Returns a statement builder that can be used to construct queries for a specific model
|
149
152
|
* @template M - The model type
|
150
153
|
* @return {Statement} A statement builder for the model
|
151
154
|
*/
|
152
|
-
abstract Statement<M extends Model>(): Statement<
|
155
|
+
abstract Statement<M extends Model>(): Statement<QUERY, M, any>;
|
153
156
|
/**
|
154
157
|
* @description Creates a new dispatch instance
|
155
158
|
* @summary Factory method that creates a dispatch instance for this adapter
|
156
159
|
* @return {Dispatch<Y>} A new dispatch instance
|
157
160
|
*/
|
158
|
-
protected Dispatch(): Dispatch<
|
161
|
+
protected Dispatch(): Dispatch<CONF>;
|
159
162
|
/**
|
160
163
|
* @description Creates a new observer handler
|
161
164
|
* @summary Factory method that creates an observer handler for this adapter
|
@@ -182,7 +185,7 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
182
185
|
* @param {...any[]} args - Initialization arguments
|
183
186
|
* @return {Promise<void>} A promise that resolves when initialization is complete
|
184
187
|
*/
|
185
|
-
|
188
|
+
initialize(...args: any[]): Promise<void>;
|
186
189
|
/**
|
187
190
|
* @description Creates a sequence generator
|
188
191
|
* @summary Factory method that creates a sequence generator for generating sequential values
|
@@ -201,17 +204,17 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
201
204
|
* @param {...any[]} args - Additional arguments
|
202
205
|
* @return {Promise<F>} The complete set of flags
|
203
206
|
*/
|
204
|
-
protected flags<M extends Model>(operation: OperationKeys, model: Constructor<M>, flags: Partial<
|
207
|
+
protected flags<M extends Model>(operation: OperationKeys, model: Constructor<M>, flags: Partial<FLAGS>, ...args: any[]): Promise<FLAGS>;
|
205
208
|
/**
|
206
209
|
* @description The context constructor for this adapter
|
207
210
|
* @summary Reference to the context class constructor used by this adapter
|
208
211
|
*/
|
209
212
|
protected Context: {
|
210
|
-
new (): Context<
|
213
|
+
new (): Context<FLAGS>;
|
211
214
|
factory: import("@decaf-ts/db-decorators").ContextFactory<any>;
|
212
|
-
childFrom<
|
213
|
-
from<M extends Model,
|
214
|
-
args<M extends Model<any>,
|
215
|
+
childFrom<F extends RepositoryFlags, C extends Context<F>>(context: C, overrides?: Partial<F>): C;
|
216
|
+
from<M extends Model, F extends RepositoryFlags, C extends Context<F>>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, overrides: Partial<F>, model: Constructor<M>, ...args: any[]): Promise<C>;
|
217
|
+
args<M extends Model<any>, C extends Context<F>, F extends RepositoryFlags>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, model: Constructor<M>, args: any[], contextual?: Contextual<F>, overrides?: Partial<F>): Promise<import("@decaf-ts/db-decorators").ContextArgs<F, C>>;
|
215
218
|
};
|
216
219
|
/**
|
217
220
|
* @description Creates a context for a database operation
|
@@ -224,7 +227,7 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
224
227
|
* @param {...any[]} args - Additional arguments
|
225
228
|
* @return {Promise<C>} A promise that resolves to the context object
|
226
229
|
*/
|
227
|
-
context<M extends Model>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, overrides: Partial<
|
230
|
+
context<M extends Model>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, overrides: Partial<FLAGS>, model: Constructor<M>, ...args: any[]): Promise<CONTEXT>;
|
228
231
|
/**
|
229
232
|
* @description Prepares a model for persistence
|
230
233
|
* @summary Converts a model instance into a format suitable for database storage,
|
@@ -337,7 +340,7 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
337
340
|
* @param {...any[]} args - Additional arguments specific to the adapter implementation
|
338
341
|
* @return {Promise<R>} A promise that resolves to the query result
|
339
342
|
*/
|
340
|
-
abstract raw<R>(rawInput:
|
343
|
+
abstract raw<R>(rawInput: QUERY, ...args: any[]): Promise<R>;
|
341
344
|
/**
|
342
345
|
* @description Registers an observer for database events
|
343
346
|
* @summary Adds an observer to be notified about database changes. The observer can optionally
|
@@ -399,14 +402,15 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
399
402
|
/**
|
400
403
|
* @description Gets an adapter by flavor
|
401
404
|
* @summary Retrieves a registered adapter by its flavor name
|
402
|
-
* @template
|
403
|
-
* @template
|
404
|
-
* @template
|
405
|
-
* @template
|
405
|
+
* @template CONF - The database driver config
|
406
|
+
* @template CONN - The database driver instance
|
407
|
+
* @template QUERY - The query type
|
408
|
+
* @template CCONTEXT - The context type
|
409
|
+
* @template FLAGS - The repository flags type
|
406
410
|
* @param {string} flavour - The flavor name of the adapter to retrieve
|
407
|
-
* @return {Adapter<
|
411
|
+
* @return {Adapter<CONF, CONN, QUERY, CONTEXT, FLAGS> | undefined} The adapter instance or undefined if not found
|
408
412
|
*/
|
409
|
-
static get<
|
413
|
+
static get<CONF, CONN, QUERY, CONTEXT extends Context<FLAGS>, FLAGS extends RepositoryFlags>(flavour?: any): Adapter<CONF, CONN, QUERY, FLAGS, CONTEXT> | undefined;
|
410
414
|
/**
|
411
415
|
* @description Sets the current default adapter
|
412
416
|
* @summary Changes which adapter is used as the default for operations
|
@@ -430,13 +434,19 @@ export declare abstract class Adapter<Y, Q, F extends RepositoryFlags, C extends
|
|
430
434
|
*/
|
431
435
|
static models<M extends Model>(flavour: string): ModelConstructor<any>[];
|
432
436
|
static decoration(): void;
|
433
|
-
|
434
|
-
|
435
|
-
* @
|
436
|
-
* @
|
437
|
-
* @
|
438
|
-
* @
|
439
|
-
* @
|
440
|
-
|
441
|
-
|
437
|
+
protected proxies?: Record<string, typeof this>;
|
438
|
+
/**
|
439
|
+
* @description Returns the client instance for the adapter
|
440
|
+
* @summary This method should be overridden by subclasses to return the client instance for the adapter.
|
441
|
+
* @template CON - The type of the client instance
|
442
|
+
* @return {CON} The client instance for the adapter
|
443
|
+
* @abstract
|
444
|
+
* @function getClient
|
445
|
+
* @memberOf module:core
|
446
|
+
* @instance
|
447
|
+
* @protected
|
448
|
+
*/
|
449
|
+
protected abstract getClient(): CONN;
|
450
|
+
get client(): CONN;
|
451
|
+
for(config: Partial<CONF>, ...args: any[]): typeof this;
|
442
452
|
}
|