UNPKG

@platform/cell.client

Version:

A strongly typed HTTP client for operating with a CellOS service end-point.

32 lines (31 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UploadEvent = void 0; var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var common_1 = require("../common"); function UploadEvent(args) { var uri = args.uri, total = args.total; var event$ = new rxjs_1.Subject(); var completed = 0; var tx = common_1.Schema.cuid(); var next = function (payload) { payload = common_1.value.deleteUndefined(payload); event$.next({ type: 'HttpClient/uploaded', payload: payload }); }; var fire = function (args) { if (args === void 0) { args = {}; } var file = args.file, error = args.error; if (file && !error) { completed++; } var done = completed >= total ? true : args.done || false; next({ uri: uri, tx: tx, file: file, total: total, completed: completed, done: done }); }; return { $: event$.pipe((0, operators_1.share)()), dispose: function () { return event$.complete(); }, fire: fire, }; } exports.UploadEvent = UploadEvent;