UNPKG

moysklad-helpers

Version:

Вспомогательные функции для работы с библиотекой moysklad

44 lines (43 loc) 2.4 kB
import { DocumentPositionType, DocumentWithPositionsMetaType, MetaType, RemapApiHref } from 'moysklad-api-model'; import { EntityRef, HrefMetaType, Meta } from '../types'; export declare function getHelpers(ms: { buildUrl: (path: string) => string; }): { href: { (ref: null | undefined): undefined; <T extends `https://${string}` | null | undefined>(ref: T): T; <T_1 extends string | null | undefined>(ref: T_1): T_1 extends string ? `https://api.moysklad.ru/api/remap/${string}/${T_1}` : T_1; <T_2 extends EntityRef<M> | null | undefined, M extends MetaType>(entityRef: T_2): T_2 extends EntityRef<M> ? string : T_2; }; attr: <T_3>(path: string, value: T_3) => { meta: { type: "attributemetadata"; href: `https://api.moysklad.ru/api/remap/${string}/${string}`; }; value: T_3; }; fileAttr: <T_4>(path: string, file: T_4) => { meta: { type: "attributemetadata"; href: `https://api.moysklad.ru/api/remap/${string}/${string}`; }; file: T_4; }; meta: { <T_5 extends string>(path: T_5): Meta<HrefMetaType<T_5>>; <M_1 extends MetaType>(entityRef?: EntityRef<M_1> | undefined): Meta<M_1>; }; ref: { <T_6 extends string>(path: T_6): EntityRef<HrefMetaType<T_6>>; <T_7 extends string>(path: T_7 | undefined): EntityRef<HrefMetaType<T_7>> | undefined; <M_2 extends MetaType>(entityRef: EntityRef<M_2>): EntityRef<M_2>; <M_3 extends MetaType>(entityRef: EntityRef<M_3> | undefined): EntityRef<M_3> | undefined; }; positionRef: { <T_8 extends string>(documentRef: T_8, positionId: string): HrefMetaType<T_8> extends keyof DocumentPositionType ? EntityRef<DocumentPositionType[HrefMetaType<T_8>]> : never; <M_4 extends keyof DocumentPositionType>(documentRef: EntityRef<M_4>, positionId: string): EntityRef<DocumentPositionType[M_4]>; }; refEqual: (entityRef1: string | EntityRef | null | undefined, entityRef2: string | EntityRef | null | undefined) => boolean; copyFields: <T_9, K extends keyof T_9>(srcEntity: T_9, fieldNames: K[]) => { [P in K]: T_9[P]; }; copyFieldsRefs: <T_10, K_1 extends keyof T_10>(srcEntity: T_10, fieldNames: K_1[]) => { [P_1 in K_1]: T_10[P_1] extends EntityRef<infer M_5 extends string> ? EntityRef<M_5> : T_10[P_1]; }; };