moysklad-helpers
Version:
Вспомогательные функции для работы с библиотекой moysklad
44 lines (43 loc) • 2.4 kB
TypeScript
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]; };
};