amocrm-client
Advanced tools
Comparing version 0.0.58 to 0.0.59
import { IResourceEntity, IResourceFactory } from './interfaces/api'; | ||
export declare const delay: (ms: number) => Promise<unknown>; | ||
export declare function applyMixins(baseClass: any, mixins: any[]): any; | ||
export declare function TypeCollection<TE extends IResourceEntity<TF>, TF extends IResourceFactory<TE>, RE extends IResourceEntity<RF>, RF extends IResourceFactory<RE>>(currentEntity: TE, factory: new (...args: any) => RF): PropertyDecorator; | ||
export declare function TypeCollection<CurrentEntity extends IResourceEntity<CurrentFactory>, CurrentFactory extends IResourceFactory<CurrentEntity>, ReturnTypeEntity extends IResourceEntity<ReturnFactoty>, ReturnFactoty extends IResourceFactory<ReturnTypeEntity>>(currentEntity: CurrentEntity, returnEntityFactory: new (...args: any) => ReturnFactoty): PropertyDecorator; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.TypeCollection = exports.applyMixins = exports.delay = void 0; | ||
const class_transformer_1 = require("class-transformer"); | ||
const ResourceCollection_1 = require("./api/ResourceCollection"); | ||
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms)); | ||
@@ -15,27 +13,27 @@ exports.delay = delay; | ||
exports.applyMixins = applyMixins; | ||
function TypeCollection(currentEntity, factory) { | ||
return (0, class_transformer_1.Transform)(({ value, key, obj, options, type }) => { | ||
const f = new factory(currentEntity.getFactory().getRequest()); | ||
const data = value.map((item) => f.from(item)); | ||
return new ResourceCollection_1.ResourceCollection(data); | ||
}); | ||
// export function TypeCollection<TE extends IResourceEntity<TF>, TF extends IResourceFactory<TE>, RE extends IResourceEntity<RF>, RF extends IResourceFactory<RE>>(currentEntity: TE, factory: new (...args: any) => RF): PropertyDecorator { | ||
// return Transform(({ value, key, obj, options, type }) => { | ||
// const f = new factory(currentEntity.getFactory().getRequest()); | ||
// const data = value.map((item: any) => f.from(item)); | ||
// return new ResourceCollection(data); | ||
// }); | ||
// } | ||
function TypeCollection(currentEntity, returnEntityFactory) { | ||
return (target, propertyKey) => { | ||
const type = Reflect.getMetadata('design:type', target, propertyKey); | ||
return { | ||
configurable: true, | ||
enumerable: true, | ||
get: function () { | ||
return this[propertyKey]; | ||
}, | ||
set: function (value) { | ||
const factory = new returnEntityFactory(currentEntity.getFactory().getRequest()); | ||
const data = value.map((item) => factory.from(item)); | ||
return data; | ||
}, | ||
}; | ||
}; | ||
} | ||
exports.TypeCollection = TypeCollection; | ||
// export function TypeCollection<CurrentEntity extends IResourceEntity<CurrentFactory>, CurrentFactory extends IResourceFactory<CurrentEntity>, ReturnTypeEntity extends IResourceEntity<ReturnFactoty>, ReturnFactoty extends IResourceFactory<ReturnTypeEntity>>(currentEntity: CurrentEntity, returnEntity: new (...args: any) => ReturnTypeEntity, returnEntityFactory: new (...args: any) => ReturnFactoty): PropertyDecorator { | ||
// return (target, propertyKey) => { | ||
// const type = Reflect.getMetadata('design:type', target, propertyKey); | ||
// return { | ||
// configurable: true, | ||
// enumerable: true, | ||
// get: function () { | ||
// return this[propertyKey]; | ||
// }, | ||
// set: function (value: any[]) { | ||
// const factory = new returnEntityFactory(currentEntity.getFactory().getRequest()); | ||
// const data: ReturnTypeEntity[] = value.map((item: any) => factory.from(item)); | ||
// return data; | ||
// }, | ||
// }; | ||
// } | ||
// } | ||
//# sourceMappingURL=util.js.map |
{ | ||
"name": "amocrm-client", | ||
"version": "0.0.58", | ||
"version": "0.0.59", | ||
"description": "JS Library for AmoCRM", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
Sorry, the diff of this file is not supported yet
517772
5625