@umnico/api-contracts

0.0.3 • Public • Published

Библиотека содержит типы и классы для описания сообщений, а также используемые в системе value sets

создание произвольного вложения (вложение любого типа, есть валидация параметров)

import { MessageAttachment } from '@api-contracts/messaging';

const messageAttachment = new MessageAttachment({ type: 'photo', text: 'photo.png', url: 'example.url' });

создание вложения конкретного типа

import { DocAttachment } from '@api-contracts/messaging';

const docAttachment = new DocAttachment({ type: 'doc', text: 'example.pdf', url: 'example.url', filesize: 1024 });

фабрика для создания вложения в зависимости от типа

параметр softMode = true создаст MessageAttachment при неизвестном типе вложения

параметр softMode = false (default) выдаст ошибку при неизвестном типе вложения

import { createAttachment } from '@api-contracts/messaging';

const attachment = createAttachment({ type: 'photo', text: 'photo.png', url: 'example.url' }, true);

создание тела сообщения (event.message.message)

import { MessageContent } from '@api-contracts/messaging';

const content = new MessageContent({ text: 'example text', attachments: [{ type: 'photo', text: 'photo.png', url: 'example.url' }] });

создание объекта сообщения(передается на клиент)

import { Message } from '@api-contracts/messaging';

const message = new Message({ ... });

также можно использовать типы вложений

import { ATTACHMENT_TYPES } from '@api-contracts/messaging';

if (attachment.type === ATTACHMENT_TYPES.geo) { console.log('geo attachment'); }

использование value sets

import { SocialTypes } from '@api-contracts/value-sets';

console.log(SocialTypes['VK_GROUP']) // 'vk_group'

Readme

Keywords

none

Package Sidebar

Install

npm i @umnico/api-contracts

Weekly Downloads

793

Version

0.0.3

License

ISC

Unpacked Size

116 kB

Total Files

96

Last publish

Collaborators

  • justbenya
  • arthot
  • umnicoguryanov