open-index/open-npm huggingface dataset:
npm package: @feedlify/feed-aggregator
Description: Builds a feed file with fresh data
Author: Marco Pegoraro
Latest version: 0.0.0

# @feedlifly/feed-aggregator
============================

This module fetches Twitter public data:

    yarn add @feedlifly/feed-aggregator

You can use `sourceTwitter` to scrape multiple profiles at the same time:

    import feedAggregator from '@feedlifly/feed-aggregator'

    const data = await feedAggregator({
        origins: [
            {
                type: 'twitter',
                source: 'GettyImages',
            },
            {
                type: 'twitter',
                source: 'thepeg',
            },
            {
                type: 'instagram',
                source: 'mpeg',
            },
            {
                type: 'instagram',
                source: 'i_love_being_healthy_88',
            },
        ]
    }, {
        debug: false,
        limit: 5,
        limitOrigins: 5,
    })

The resulting dataset is organized as follow:

    {
        timeline: [
            {
                type: 'twitter::tweet',
                origin: 'twitter::GettyImages',
                author: 'twitter::GettyImages',
                ctime: new Date(2019-03-27T20:57:40.000Z),
                title: 'Tweet by @GettyImages',
                text: 'Thanks @shondarhimes. We\'re proud of being a part of this powerful initiative.',
                url: 'https://twitter.com/shondarhimes/status/1110912567487029249',
                preview: null,
                hashtags: [],
                __meta: [Object]
            }
        ],
        profiles: {
            'twitter::GettyImages': {
                id: 'twitter::GettyImages',
                username: 'GettyImages',
                pic: 'https://pbs.twimg.com/profile_images/1016315371484114944/hxz9PNy6_400x400.jpg',
                url: 'https://twitter.com/GettyImages',
                __meta: []
            }
        }
    }

`timeline` contains a list of contents as feedlify normalized data structure.  
The items are sorted by date from the most recent.

You can use `timeline.[].author` as index in the `profiles` bucket to retrieve
informations that are relevant to the whom has produced the content.

The field `__meta` contains original data that was extracted from the original sources.
This field is not available if `debug = false`.

The `options.limit` regulates how many concurrent http request can be done against
a single origin.
npm package: @feedlify/source-instagram
Description: Retrieves Instagram public data for @feedlify
Author: Marco Pegoraro
Latest version: 0.0.0

# @feedlifly/source-instagram
=============================

This module fetches Twitter public data:

    yarn add @feedlifly/source-instagram

You can use `sourceInstagram` to scrape multiple profiles at the same time:

    import sourceInstagram from '@feedlifly/source-instagram'

    const items = await sourceInstagram([
        {
            source: 'mpeg',
            limit: 20,
            exclude: [{
                rule: 'tag',
                value: [ 'tag1', 'tag2', '...' ],
            }]
        },
        {
            source: 'foo',
            ...
        }
    ])

The resulting dataset is organized as follow:

    {
        timeline: [
            {
                type: 'instagram::media',
                origin: 'instagram::mpeg',
                author: 'instagram::mpeg',
                ctime: 2017-05-19T09:38:37.000Z,
                title: 'Media by @mpeg',
                text: '#bbq #weber #ribs',
                url: 'https://www.instagram.com/p/BUROlKpAjSX/',
                preview: 'https://scontent-arn2-1.cdninstagram.com/vp/bf5bb1f21554be4a7d2a57b43fde2a27/5D41CF3F/t51.2885-15/e35/c0.0.611.611/18512375_1923014867981898_3206383443709526016_n.jpg?_nc_ht=scontent-arn2-1.cdninstagram.com',
                hashtags: [ 'bbq', 'weber', 'ribs' ],
            }
        ],
        profiles: {
            'instagram::mpeg': {
                id: 'instagram::mpeg',
                username: 'mpeg',
                pic: 'https://scontent-arn2-1.cdninstagram.com/vp/ff4ebcf53e0a3dca7b4b4ec0d0082bde/5D4611BF/t51.2885-19/11311132_958407607554863_1903430048_a.jpg?_nc_ht=scontent-arn2-1.cdninstagram.com',
                url: 'https://instagram.com/mpeg',
            }
        }
    }

`timeline` contains a list of contents as feedlify normalized data structure.  
The items are sorted by date from the most recent.

You can use `timeline.[].author` as index in the `profiles` bucket to retrieve
informations that are relevant to the whom has produced the content.

The filed `__meta` contains original data that was extracted from Twitter.
npm package: @feedlify/source-twitter
Description: Retrieves Twitter public data for @feedlify
Author: Marco Pegoraro
Latest version: 0.0.1

# @feedlifly/source-twitter
===========================

This module fetches Twitter public data:

    yarn add @feedlifly/source-twitter

You can use `sourceTwitter` to scrape multiple profiles at the same time:

    import sourceTwitter from '@feedlifly/source-twitter'

    const items = await sourceTwitter([
        {
            source: 'thepeg',
            limit: 20,
            exclude: [{
                rule: 'username',
                value: [ 'username1', 'username2', '...' ],
            }]
        },
        {
            source: 'foo',
            ...
        }
    ])

The resulting dataset is organized as follow:

    {
        timeline: [
            {
                type: 'twitter::tweet',
                origin: 'twitter::GettyImages',
                author: 'twitter::GettyImages',
                ctime: new Date(2019-03-27T20:57:40.000Z),
                title: 'Tweet by @GettyImages',
                text: 'Thanks @shondarhimes. We\'re proud of being a part of this powerful initiative.',
                url: 'https://twitter.com/shondarhimes/status/1110912567487029249',
                preview: null,
                hashtags: [],
                __meta: [Object]
            }
        ],
        profiles: {
            'twitter::GettyImages': {
                id: 'twitter::GettyImages',
                username: 'GettyImages',
                pic: 'https://pbs.twimg.com/profile_images/1016315371484114944/hxz9PNy6_400x400.jpg',
                url: 'https://twitter.com/GettyImages',
                __meta: []
            }
        }
    }

`timeline` contains a list of contents as feedlify normalized data structure.  
The items are sorted by date from the most recent.

You can use `timeline.[].author` as index in the `profiles` bucket to retrieve
informations that are relevant to the whom has produced the content.

The filed `__meta` contains original data that was extracted from Twitter.
npm package: @feedlify/target-fs
Description: Keeps up-to-date a @feedlify repository from a local file system
Author: Marco Pegoraro
Latest version: 0.0.2

# @feedlifly/target-fs
======================

This module is capable of updating a repository that lies on the local file system

    yarn add @feedlify/target-fs

You can use `target-fs` to update a repository:

    import targetFs from '@feedlify/target-fs
    const report = await targetFs('/repo-root')

The file structure should be something like:

    index.json
    feed1/
      feed.json
      index.json
      data/
        0000.json
        0001.json
    feed2/
      ...

Basically a repository is a list of feed, each feed is a list of origins.
At every level there is an `index.json` file that contains informations
regarding the level itself.

At the root of the repository the `index.json` lists the available feeds:

    {
      "feeds": [
        {
          "ref": "general",
          "name": "general",
          "ctime": "2019-04-06T09:54:08.235Z",
          "mtime": "2019-04-06T12:09:10.946Z",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 156,
          "data_files_count": 3
        },
        {
          "ref": "tech",
          "name": "tech",
          "ctime": "2019-04-06T11:41:18.489Z",
          "mtime": "2019-04-06T12:09:10.948Z",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 104,
          "data_files_count": 2
        }
      ]
    }

Inside each feed folder we find the `feed.json` which contains the list of the
origins to be fetched, as well as the rules to apply.

All the data that is collected during updates is then stored into the `/data`
folder in json files named by date.

Another `index.json` helps listing all the available data files:

    {
      "ctime": "2019-04-06T09:54:08.235Z",
      "mtime": "2019-04-06T12:09:10.946Z",
      "from": "2019-03-02T18:20:20.000Z",
      "to": "2019-04-05T16:07:26.000Z",
      "count": 156,
      "data": [
        {
          "ctime": "2019-04-06T12:09:10.945Z",
          "fname": "20190406020910.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        },
        {
          "ctime": "2019-04-06T09:54:08.235Z",
          "fname": "20190406115408.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        },
        {
          "ctime": "2019-04-06T08:42:01.392Z",
          "fname": "20190406104201.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        }
      ]
    }

Using this index file is then possible to build the full dataset for a given feed.
npm package: @feedlify/target-git
Description: Keeps up-to-date a @feedlify repository from a git compatible location
Author: Marco Pegoraro
Latest version: 0.0.2

# @feedlifly/target-fs
======================

This module is capable of updating a repository that lies on the local file system

    yarn add @feedlify/target-fs

You can use `target-fs` to update a repository:

    import targetFs from '@feedlify/target-fs
    const report = await targetFs('/repo-root')

The file structure should be something like:

    index.json
    feed1/
      feed.json
      index.json
      data/
        0000.json
        0001.json
    feed2/
      ...

Basically a repository is a list of feed, each feed is a list of origins.
At every level there is an `index.json` file that contains informations
regarding the level itself.

At the root of the repository the `index.json` lists the available feeds:

    {
      "feeds": [
        {
          "ref": "general",
          "name": "general",
          "ctime": "2019-04-06T09:54:08.235Z",
          "mtime": "2019-04-06T12:09:10.946Z",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 156,
          "data_files_count": 3
        },
        {
          "ref": "tech",
          "name": "tech",
          "ctime": "2019-04-06T11:41:18.489Z",
          "mtime": "2019-04-06T12:09:10.948Z",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 104,
          "data_files_count": 2
        }
      ]
    }

Inside each feed folder we find the `feed.json` which contains the list of the
origins to be fetched, as well as the rules to apply.

All the data that is collected during updates is then stored into the `/data`
folder in json files named by date.

Another `index.json` helps listing all the available data files:

    {
      "ctime": "2019-04-06T09:54:08.235Z",
      "mtime": "2019-04-06T12:09:10.946Z",
      "from": "2019-03-02T18:20:20.000Z",
      "to": "2019-04-05T16:07:26.000Z",
      "count": 156,
      "data": [
        {
          "ctime": "2019-04-06T12:09:10.945Z",
          "fname": "20190406020910.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        },
        {
          "ctime": "2019-04-06T09:54:08.235Z",
          "fname": "20190406115408.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        },
        {
          "ctime": "2019-04-06T08:42:01.392Z",
          "fname": "20190406104201.json",
          "from": "2019-03-02T18:20:20.000Z",
          "to": "2019-04-05T16:07:26.000Z",
          "count": 52
        }
      ]
    }

Using this index file is then possible to build the full dataset for a given feed.
npm package: @feedloop/qore-sdk
Description: ``` 1. Jalankan qore engine 2. docker-compose -f docker-compose-standalone.yml up -d --build di qore-engine 3. ke packages/sdk, jalankan command:    - sh generate-client.sh    - yarn build 4. ke root: yarn lerna link(jika tidak bisa, jalankan :    - yarn 
Latest version: 2.0.0-alpha.2
Deprecated: please use the latest version instead
npm package: @feedma/http-service
Description: A class based HTTP client built on top of axios
Author: Feedma
Latest version: 1.0.2

[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
[![npm version](https://badge.fury.io/js/@feedma%2Fhttp-service.svg)](https://badge.fury.io/js/@feedma%2Fhttp-service)


# Quickstart

**Installation**

See the full [documentation](https://feedma.github.io/ts-http-service)

NPM
```shell
npm i axios @feedma/http-service
```

YARN
```shell
yarn add axios @feedma/http-service
```

**Create a service**

Typescript
```ts
// JsonPlaceHolderService.ts

import { HttpService } from '@feedma/http-service';
import { AxiosRequestConfig } from 'axios';

export class JsonPlaceHolderService extends HttpService {
  protected config: AxiosRequestConfig = { 
    baseURL: "https://jsonplaceholder.typicode.com" ,
  };
  
  async fetchUsers(): Promise<AxiosResponse> {
    return this.client.get('/users');
  }
  // Yor request methods here ...
}
```

Javascript
```js
// JsonPlaceHolderService.js

import { HttpService } from '@feedma/http-service';

export class JsonPlaceHolderService extends HttpService {
  
  constructor(requestInterceptors = [], responseInterceptors = []) {
    super(requestInterceptors, responseInterceptors);
    this.config = {
      baseURL: "https://jsonplaceholder.typicode.com",
    };
  }
  
  async fetchUsers() {
    return this.client.get('/users');
  }
  // Yor request methods here ...
}
```

**Make request**

Typescript
```ts
// app.ts

import { JsonPlaceHolderService } from './JsonPlaceHolderService';

const service: JsonPlaceHolderService = new JsonPlaceHolderService();

const app = async () => {
  const { data } = await service.fetchUsers();
};
```

Javascript
```js
// app.js

import { JsonPlaceHolderService } from './JsonPlaceHolderService';

const service = new JsonPlaceHolderService();

const app = async () => {
  const { data } = await service.fetchUsers();
};
```