riassumere
TypeScript icon, indicating that this package has built-in type declarations

0.3.4 • Public • Published

riassumere

npm version build status github stars

Promise based website metadatas summarizer for browser and node.js.

Installing

$ npm install riassumere

Example

Import module with

  • Using TypeScript:
import riassumere from 'riassumere'
  • Using ES Modules with some transpiler (e.g. Babel):
import riassumere from 'riassumere'
  • Using CommonJS on Node.js:
const riassumere = require('riasummere').default
  • Using ES Modules on Node.js with expreimental-modules flag:
import riassumereModule from 'riassumere'
const riassumere = riassumereModule.default

and then,

riassumere('https://twitter.com/BarackObama')
  .then(metadata => {
    console.dir(metadata)
  })
/*
{ title: 'Barack Obama (@barakobama) | Twitter',
  canonical: 'https://twitter.com/barakobama',
  type: 'website',
  lang: 'en',
  icon: 'https://abs.twimg.com/favicons/favicon.ico' }
*/

That's all!

Signature

interface ISummary {
  title: string,
  canonical: string,
  type: string,
  lang?: string,
  icon?: string,
  image?: string,
  description?: string,
  site_name?: string
}
interface IRissumereOptionObject {
  url: string,
  lang?: string
}
type IRissumereOption = string | IRissumereOptionObject
/*
  if only one argument given returns Promise<ISummary>,
  else returns Promise<ISummary[]>
 */
export default (...IRissumereOption[]) => Promise<ISummary | ISummary[]>

FMI, open src/interfaces.ts!

Handling Errors

  • StatusCodeError: When server respond with status code greater than 400
import rissumere, { errors } from 'riassumere'
 
riassumere('https://twitter.com/BarackObama')
  .then(metadata => {
    console.dir(metadata)
  })
  .catch(e => {
    if (e intanceof errors.StatusCodeError) {
      /*
        error message from server.
        if no error message present, message equals to `e.code`.
      */ 
      console.log(e.message)
      // HTTP status message
      console.log(e.code)
    }
  })
}
  • SummarizerNotFoundError: When unsupported URL given.
import rissumere, { errors } from 'riassumere'
 
riassumere('ftp://twitter.com/BarackObama')
  .then(metadata => {
    console.dir(metadata)
  })
  .catch(e => {
    if (e intanceof errors.SummarizerNotFoundError) {
      // unsupported URL
      console.log(e.url)
    }
  })
}

FMI, open src/errors.ts!

Readme

Keywords

none

Package Sidebar

Install

npm i riassumere

Weekly Downloads

11

Version

0.3.4

License

Apache-2.0

Last publish

Collaborators

  • otofune