How to use the messaging-api-common.snakecaseKeysDeep function in messaging-api-common

To help you get started, we’ve selected a few messaging-api-common examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Yoctol / messaging-apis / packages / messaging-api-messenger / src / Messenger.ts View on Github external
options: { quickReplies?: Types.QuickReply[] } = {}
): FormData {
  const message: Types.FileDataMediaAttachmentMessage = {
    ...payload,
  };

  // snakecase support for backward compatibility
  const quickReplies = options.quickReplies || (options as any).quick_replies;

  if (quickReplies && Array.isArray(quickReplies) && quickReplies.length >= 1) {
    message.quickReplies = quickReplies;
  }

  const formdata = new FormData();

  formdata.append('message', JSON.stringify(snakecaseKeysDeep(message)));
  formdata.append(
    'filedata',
    filedata,
    // FIXME: use pick for formdata options
    omit(options, ['quickReplies'])
  );

  return formdata;
}
github Yoctol / messaging-apis / packages / messaging-api-slack / src / SlackOAuthClient.ts View on Github external
async callMethod(
    method: Types.AvailableMethod,
    inputBody: Record = {}
  ): Promise {
    try {
      const body = {
        ...omit(inputBody, ['token', 'accessToken']),
        token: inputBody.accessToken || inputBody.token || this._token,
      };

      const response = await this._axios.post(
        method,
        querystring.stringify(snakecaseKeysDeep(body) as any)
      );

      const data = (camelcaseKeysDeep(
        response.data
      ) as any) as Types.OAuthAPIResponse;

      if (!data.ok) {
        const { config, request } = response;

        throw new AxiosError(`Slack API - ${data.error}`, {
          config,
          request,
          response,
        });
      }
github Yoctol / messaging-apis / packages / messaging-api-messenger / src / MessengerClient.ts View on Github external
const recipient =
      typeof psidOrRecipient === 'string'
        ? {
            id: psidOrRecipient,
          }
        : psidOrRecipient;

    let messagingType = 'UPDATE';
    if (options.messagingType) {
      messagingType = options.messagingType;
    } else if (options.tag) {
      messagingType = 'MESSAGE_TAG';
    }

    formdata.append('messaging_type', messagingType);
    formdata.append('recipient', JSON.stringify(snakecaseKeysDeep(recipient)));

    return this._axios
      .post(
        `/me/messages?access_token=${options.accessToken || this._accessToken}`,
        formdata,
        {
          headers: formdata.getHeaders(),
        }
      )
      .then(res => res.data, handleError);
  }
github Yoctol / messaging-apis / packages / messaging-api-messenger / src / MessengerClient.ts View on Github external
.map(item => {
        if (item.body) {
          const body = snakecaseKeysDeep(item.body) as Record;
          return {
            ...item,
            body: Object.keys(body)
              .map(key => {
                const val = body[key];
                return `${encodeURIComponent(key)}=${encodeURIComponent(
                  typeof val === 'object' ? JSON.stringify(val) : val
                )}`;
              })
              .join('&'),
          };
        }
        return item;
      });
github Yoctol / messaging-apis / packages / messaging-api-messenger / src / MessengerClient.ts View on Github external
(data: any) =>
          data && isPlainObject(data) ? snakecaseKeysDeep(data) : data,
        ...(axios.defaults.transformRequest as AxiosTransformer[]),
github Yoctol / messaging-apis / packages / messaging-api-slack / src / SlackWebhookClient.ts View on Github external
sendRawBody(
    body: Record
  ): Promise {
    return this._axios.post('', snakecaseKeysDeep(body)).then(res => res.data);
  }