@thescaffold/jsx-blobs 0.0.6 → 0.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,17 +4,6 @@
4
4
 
5
5
  ### Introduction
6
6
 
7
- This is the javascript SDK for scaffold platform. It covers APIs for the following services:
8
-
9
- - Events
10
- - Files
11
- - Forms
12
- - Jobs
13
- - Logs
14
- - Messages
15
- - Motion
16
- - Webhooks
17
-
18
7
  ### Supported Platforms
19
8
 
20
9
  - Browser
@@ -30,25 +30,6 @@ export interface Config {
30
30
  * SourceId
31
31
  */
32
32
  sourceId: string;
33
- batch?: {
34
- /**
35
- * events and logs are sent to server in batches
36
- * use interval to set the interval of flushing in mils
37
- *
38
- * Default to 5000mils
39
- */
40
- interval?: number;
41
- /**
42
- * The length of time to wait after a failure before retry
43
- */
44
- backoff?: number;
45
- /**
46
- * The number of retries before given up
47
- *
48
- * default to 3
49
- */
50
- limit?: number;
51
- };
52
33
  /**
53
34
  * log display filter
54
35
  */
package/index.d.ts CHANGED
@@ -4,6 +4,5 @@ import { download, upload } from './files/index';
4
4
  */
5
5
  export { init } from './common/init/index';
6
6
  export * from './common/utils/values';
7
- export * from './platform/index';
8
7
  export * from './request/index';
9
8
  export { download, upload };
@@ -78,9 +78,6 @@ function _extends() {
78
78
  return n;
79
79
  }, _extends.apply(null, arguments);
80
80
  }
81
- function _inheritsLoose(t, o) {
82
- t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
83
- }
84
81
  function _regeneratorRuntime() {
85
82
  _regeneratorRuntime = function () {
86
83
  return e;
@@ -382,11 +379,6 @@ function _regeneratorRuntime() {
382
379
  }
383
380
  }, e;
384
381
  }
385
- function _setPrototypeOf(t, e) {
386
- return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
387
- return t.__proto__ = e, t;
388
- }, _setPrototypeOf(t, e);
389
- }
390
382
 
391
383
  var config = {
392
384
  server: '',
@@ -540,11 +532,6 @@ var managedLog = function managedLog(title, message, config) {
540
532
  }
541
533
  });
542
534
  };
543
- var sleep = function sleep(ms) {
544
- return new Promise(function (resolve) {
545
- setTimeout(resolve, ms);
546
- });
547
- };
548
535
  var isFunction = function isFunction(value) {
549
536
  return typeof value === 'function';
550
537
  };
@@ -1143,7 +1130,7 @@ var upload = /*#__PURE__*/function () {
1143
1130
  });
1144
1131
  case 20:
1145
1132
  nFile = _context5.sent;
1146
- if (!(!nFile || !nFile.id)) {
1133
+ if (!(!nFile || !nFile.url)) {
1147
1134
  _context5.next = 23;
1148
1135
  break;
1149
1136
  }
@@ -1155,7 +1142,7 @@ var upload = /*#__PURE__*/function () {
1155
1142
  }
1156
1143
  return _context5.abrupt("return", [false, 'Uploaded chunks count does not match']);
1157
1144
  case 25:
1158
- return _context5.abrupt("return", [true, nFile.id]);
1145
+ return _context5.abrupt("return", [true, nFile.url]);
1159
1146
  case 26:
1160
1147
  case "end":
1161
1148
  return _context5.stop();
@@ -1175,110 +1162,6 @@ var download = function download(id) {
1175
1162
  return config.server + "/apps/blobs/download/" + id;
1176
1163
  };
1177
1164
 
1178
- /**
1179
- * global in-memory queue store
1180
- * not exported, only used by this module
1181
- */
1182
- var store = [];
1183
- var push = function push() {
1184
- for (var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++) {
1185
- items[_key] = arguments[_key];
1186
- }
1187
- store.push.apply(store, items);
1188
- managedLog("QUEUE - " + items.length + " ITEM(S) ADDED", items, getConfig(), exports.LogType.INFO);
1189
- };
1190
- var pop = function pop(length) {
1191
- if (length === void 0) {
1192
- length = 12;
1193
- }
1194
- var items = store.splice(0, length);
1195
- managedLog("QUEUE - " + items.length + " ITEM(S) REMOVED", items, getConfig(), exports.LogType.INFO);
1196
- return items;
1197
- };
1198
- var length = function length() {
1199
- return store.length;
1200
- };
1201
-
1202
- var limit = 25;
1203
- var retryTracker = 0;
1204
- var run = /*#__PURE__*/function () {
1205
- var _ref = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
1206
- var config, handler;
1207
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1208
- while (1) switch (_context2.prev = _context2.next) {
1209
- case 0:
1210
- config = getConfig();
1211
- handler = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
1212
- var items, _yield$post, status, _config$batch, _config$batch3, _config$batch4, _config$batch2;
1213
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1214
- while (1) switch (_context.prev = _context.next) {
1215
- case 0:
1216
- if (!(length() < 1)) {
1217
- _context.next = 3;
1218
- break;
1219
- }
1220
- managedLog('BATCH RUN', 'Nothing to process', getConfig(), exports.LogType.INFO);
1221
- return _context.abrupt("return");
1222
- case 3:
1223
- items = pop(limit);
1224
- _context.prev = 4;
1225
- _context.next = 7;
1226
- return post(config.server + "/apps/blobs/upload", {
1227
- items: items
1228
- });
1229
- case 7:
1230
- _yield$post = _context.sent;
1231
- status = _yield$post[0];
1232
- if (status) {
1233
- _context.next = 26;
1234
- break;
1235
- }
1236
- push.apply(void 0, items);
1237
- managedLog('BATCH RUN', items.length + " sent back to queue", getConfig(), exports.LogType.INFO, exports.LogType.ERROR);
1238
- ++retryTracker;
1239
- if (!(retryTracker > ((_config$batch = config.batch) == null ? void 0 : _config$batch.limit))) {
1240
- _context.next = 22;
1241
- break;
1242
- }
1243
- clearInterval(handler);
1244
- managedLog('BATCH RETRY LIMIT EXHAUSTED', {
1245
- retryTracker: retryTracker,
1246
- giveUpAfter: (_config$batch2 = config.batch) == null ? void 0 : _config$batch2.limit
1247
- }, config, exports.LogType.INFO, exports.LogType.ERROR);
1248
- managedLog('BATCH RUN', "Processed stopped due to retry limit exhausted", getConfig(), exports.LogType.INFO, exports.LogType.ERROR);
1249
- return _context.abrupt("return");
1250
- case 22:
1251
- managedLog('BATCH RUN', "Sleeping for " + ((_config$batch3 = config.batch) == null ? void 0 : _config$batch3.backoff) + "ms", getConfig(), exports.LogType.INFO, exports.LogType.ERROR);
1252
- _context.next = 25;
1253
- return sleep((_config$batch4 = config.batch) == null ? void 0 : _config$batch4.backoff);
1254
- case 25:
1255
- return _context.abrupt("return");
1256
- case 26:
1257
- retryTracker = 0;
1258
- managedLog('BATCH RUN', items.length + " sent to server", getConfig(), exports.LogType.INFO);
1259
- _context.next = 33;
1260
- break;
1261
- case 30:
1262
- _context.prev = 30;
1263
- _context.t0 = _context["catch"](4);
1264
- console.error(_context.t0);
1265
- case 33:
1266
- case "end":
1267
- return _context.stop();
1268
- }
1269
- }, _callee, null, [[4, 30]]);
1270
- })), config.batch.interval);
1271
- case 2:
1272
- case "end":
1273
- return _context2.stop();
1274
- }
1275
- }, _callee2);
1276
- }));
1277
- return function run() {
1278
- return _ref.apply(this, arguments);
1279
- };
1280
- }();
1281
-
1282
1165
  var init = function init(c) {
1283
1166
  var cf = isFunction(c) ? c() : c;
1284
1167
  var config = _recursiveMerge(getConfig(), cf);
@@ -1291,8 +1174,6 @@ var init = function init(c) {
1291
1174
  throw new Error('Invalid configuration - sourceId not defined');
1292
1175
  }
1293
1176
  managedLog('INIT ACTIVE CONFIG', config, config, exports.LogType.INFO);
1294
- run();
1295
- managedLog('INIT', 'Batch processing started', config, exports.LogType.INFO);
1296
1177
  // register SDK as source
1297
1178
  // push({
1298
1179
  // category: CategoryType.Event,
@@ -1308,90 +1189,6 @@ var init = function init(c) {
1308
1189
  // });
1309
1190
  };
1310
1191
 
1311
- var BaseServiceService = /*#__PURE__*/function () {
1312
- function BaseServiceService() {
1313
- this.name = void 0;
1314
- }
1315
- var _proto = BaseServiceService.prototype;
1316
- _proto.request = /*#__PURE__*/function () {
1317
- var _request = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(method, url, body, queries, headers) {
1318
- return _regeneratorRuntime().wrap(function _callee$(_context) {
1319
- while (1) switch (_context.prev = _context.next) {
1320
- case 0:
1321
- return _context.abrupt("return", requestWithError(method, url, body, queries, headers));
1322
- case 1:
1323
- case "end":
1324
- return _context.stop();
1325
- }
1326
- }, _callee);
1327
- }));
1328
- function request(_x, _x2, _x3, _x4, _x5) {
1329
- return _request.apply(this, arguments);
1330
- }
1331
- return request;
1332
- }();
1333
- _proto.post = function post(path, body, queries, headers) {
1334
- return this.request('POST', this.name + "/" + path, body, queries, headers);
1335
- };
1336
- _proto.put = function put(path, body, queries, headers) {
1337
- return this.request('PUT', this.name + "/" + path, body, queries, headers);
1338
- };
1339
- _proto.get = function get(path, queries, headers) {
1340
- return this.request('GET', this.name + "/" + path, null, queries, headers);
1341
- };
1342
- _proto.patch = function patch(path, body, queries, headers) {
1343
- return this.request('PATCH', this.name + "/" + path, body, queries, headers);
1344
- };
1345
- _proto["delete"] = function _delete(path, queries, headers) {
1346
- return this.request('DELETE', this.name + "/" + path, null, queries, headers);
1347
- };
1348
- return BaseServiceService;
1349
- }();
1350
-
1351
- var BaseEntityServiceService = /*#__PURE__*/function (_BaseServiceService) {
1352
- function BaseEntityServiceService() {
1353
- return _BaseServiceService.apply(this, arguments) || this;
1354
- }
1355
- _inheritsLoose(BaseEntityServiceService, _BaseServiceService);
1356
- var _proto = BaseEntityServiceService.prototype;
1357
- _proto.create = function create(body, queries, headers) {
1358
- return this.post("" + this.name, body, queries, headers);
1359
- };
1360
- _proto.upsert = function upsert(body, queries, headers) {
1361
- return this.put("" + this.name, body, queries, headers);
1362
- };
1363
- _proto.getOne = function getOne(id, queries, headers) {
1364
- return this.get(this.name + "/" + id, queries, headers);
1365
- };
1366
- _proto.getMany = function getMany(queries, headers) {
1367
- return this.get("" + this.name, queries, headers);
1368
- };
1369
- _proto.update = function update(id, body, queries, headers) {
1370
- return this.patch(this.name + "/" + id, body, queries, headers);
1371
- };
1372
- _proto.remove = function remove(id, queries, headers) {
1373
- return this["delete"](this.name + "/" + id, queries, headers);
1374
- };
1375
- _proto.getRelative = function getRelative(id, relative, queries, headers) {
1376
- return this.get(this.name + "/" + id + "/" + relative, queries, headers);
1377
- };
1378
- _proto.getMetrics = function getMetrics(queries, headers) {
1379
- if (queries === void 0) {
1380
- queries = {};
1381
- }
1382
- return this.get(this.name + "/metrics", queries, headers);
1383
- };
1384
- _proto.find = function find(queries, type, headers) {
1385
- if (type === void 0) {
1386
- type = 'latest';
1387
- }
1388
- return this.get(this.name + "/find/" + type, queries, headers);
1389
- };
1390
- return BaseEntityServiceService;
1391
- }(BaseServiceService);
1392
-
1393
- exports.BaseEntityServiceService = BaseEntityServiceService;
1394
- exports.BaseServiceService = BaseServiceService;
1395
1192
  exports.download = download;
1396
1193
  exports.get = get;
1397
1194
  exports.init = init;
@@ -1403,6 +1200,5 @@ exports.raw = raw;
1403
1200
  exports.remove = remove;
1404
1201
  exports.request = request;
1405
1202
  exports.requestWithError = requestWithError;
1406
- exports.run = run;
1407
1203
  exports.upload = upload;
1408
1204
  //# sourceMappingURL=jsx-blobs.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-blobs.cjs.development.js","sources":["../src/common/init/config.ts","../src/common/utils/values.ts","../src/common/utils/functions.ts","../src/request/methods.ts","../src/files/index.ts","../src/common/queue/index.ts","../src/request/batch.ts","../src/common/init/index.ts","../src/platform/base-service.service.ts","../src/platform/base-entity-service.service.ts"],"sourcesContent":["import { Config } from '../utils/values';\n\nlet config: Config = {\n server: '',\n credential: '',\n sourceId: '',\n};\n\nexport const getConfig = () => {\n return config;\n};\n","export type Data = Record<string, any>;\n\nexport enum CategoryType {\n Form = 'form',\n File = 'file',\n Webhook = 'webhook',\n Job = 'job',\n Event = 'event',\n Log = 'log',\n Motion = 'motion',\n Message = 'message',\n Others = 'others',\n}\n\nexport enum LogType {\n INFO = 'info',\n WARN = 'warn',\n ERROR = 'error',\n}\n\nexport interface Config {\n /**\n * Destination server base url\n *\n * Require\n */\n server: string;\n\n /**\n * Access token\n */\n credential: string;\n\n /**\n * SourceId\n */\n sourceId: string;\n\n batch?: {\n /**\n * events and logs are sent to server in batches\n * use interval to set the interval of flushing in mils\n *\n * Default to 5000mils\n */\n interval?: number;\n\n /**\n * The length of time to wait after a failure before retry\n */\n backoff?: number;\n\n /**\n * The number of retries before given up\n *\n * default to 3\n */\n limit?: number;\n };\n\n /**\n * log display filter\n */\n logs?: LogType[];\n\n debug?: boolean;\n}\n\nexport interface BaseResponseBody {\n status: 'success' | 'error' | string;\n title: string;\n message: string;\n // code?: string,\n data?: any;\n meta?: any;\n raw?: string;\n headers?: any;\n [key: string]: any;\n}\n\nexport interface BaseRequestBody {\n [key: string]: any;\n}\n\nexport interface BaseEntity {\n id?: string;\n createdAt?: string;\n updateAt?: string;\n deletedAt?: string;\n [key: string]: any;\n}\n\nexport interface BaseRequestQuery {\n query?: string;\n page?: number;\n from?: string;\n to?: string;\n perPage?: number;\n relations?: string;\n columns?: string;\n [key: string]: any;\n}\n\nexport interface File {\n type: string;\n parentId?: string;\n name: string;\n tags?: string[];\n\n size: number;\n mime: string;\n\n status?: string;\n meta?: any;\n}\n\nexport interface Page {\n fileId: string;\n index: number;\n raw: string;\n\n status?: string;\n meta?: any;\n}\n\nexport interface Item {\n file: File;\n pages: Page[];\n}\n\nexport const mimeMap: Record<string, string> = {\n // --- Text & Documents ---\n txt: 'text/plain',\n csv: 'text/csv',\n html: 'text/html',\n htm: 'text/html',\n css: 'text/css',\n js: 'application/javascript',\n json: 'application/json',\n xml: 'application/xml',\n md: 'text/markdown',\n yaml: 'application/x-yaml',\n yml: 'application/x-yaml',\n pdf: 'application/pdf',\n rtf: 'application/rtf',\n doc: 'application/msword',\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xls: 'application/vnd.ms-excel',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ppt: 'application/vnd.ms-powerpoint',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\n // --- Images ---\n jpg: 'image/jpeg',\n jpeg: 'image/jpeg',\n png: 'image/png',\n gif: 'image/gif',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n bmp: 'image/bmp',\n ico: 'image/x-icon',\n tif: 'image/tiff',\n tiff: 'image/tiff',\n avif: 'image/avif',\n heic: 'image/heic',\n\n // --- Audio ---\n mp3: 'audio/mpeg',\n wav: 'audio/wav',\n ogg: 'audio/ogg',\n m4a: 'audio/mp4',\n flac: 'audio/flac',\n aac: 'audio/aac',\n\n // --- Video ---\n mp4: 'video/mp4',\n webm: 'video/webm',\n mov: 'video/quicktime',\n avi: 'video/x-msvideo',\n mkv: 'video/x-matroska',\n mpeg: 'video/mpeg',\n\n // --- Archives & Packages ---\n zip: 'application/zip',\n gz: 'application/gzip',\n tar: 'application/x-tar',\n rar: 'application/vnd.rar',\n '7z': 'application/x-7z-compressed',\n bz2: 'application/x-bzip2',\n jar: 'application/java-archive',\n\n // --- Fonts ---\n ttf: 'font/ttf',\n otf: 'font/otf',\n woff: 'font/woff',\n woff2: 'font/woff2',\n\n // --- Code / Config ---\n sh: 'application/x-sh',\n py: 'text/x-python',\n ts: 'application/typescript',\n tsx: 'application/typescript',\n jsx: 'text/jsx',\n java: 'text/x-java-source',\n go: 'text/x-go',\n rs: 'text/rust',\n cpp: 'text/x-c++src',\n c: 'text/x-c',\n sql: 'application/sql',\n env: 'text/plain',\n\n // --- Others ---\n bin: 'application/octet-stream',\n exe: 'application/x-msdownload',\n wasm: 'application/wasm',\n dmg: 'application/x-apple-diskimage',\n iso: 'application/x-iso9660-image',\n};\n","import { Config, LogType, mimeMap } from './values';\n\nexport const isNode = () => {\n return typeof window === 'undefined';\n};\n\nexport const isBrowser = () => {\n return !isNode();\n};\n\nexport const isObject = (x: any) => {\n return typeof x === 'object' && !Array.isArray(x) && x !== null;\n};\n\nexport const recursiveMerge = (target: any, ...sources: any[]) => {\n for (const source of sources) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n target[key] = {};\n }\n recursiveMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\n\nexport const managedLog = (\n title: string,\n message: any,\n config: Config,\n ...types: LogType[]\n) => {\n config.logs?.forEach((allowed) => {\n if (types.includes(allowed)) {\n if (config.debug === true) {\n console[allowed](title, message);\n } else {\n console[allowed](title);\n }\n }\n });\n};\n\nexport const sleep = (ms: number) => {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n};\n\nexport const isFunction = (value: any) => {\n return typeof value === 'function';\n};\n\nexport const streamFileChunks = async (\n input: string | FileList,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (isNode()) {\n return streamFileChunksForNode(input as string, callback, chunkSize);\n }\n\n if (isBrowser()) {\n return streamFileChunksForBrowser(input as FileList, callback, chunkSize);\n }\n\n console.error('Unknown environment for streamChunks');\n\n return 0;\n};\n\nexport const streamFileChunksForNode = async (\n path: string,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (typeof path !== 'string' || path.length < 1) {\n return 0;\n }\n\n const fs = await import('fs');\n const stream = fs.createReadStream(path, { highWaterMark: chunkSize });\n let index = 0;\n\n for await (const chunk of stream) {\n const base64 = chunk.toString('base64');\n await callback(base64, index++);\n }\n\n return index;\n};\n\nexport const streamFileChunksForBrowser = async (\n files: FileList,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (!(files instanceof FileList) || files.length < 1) {\n return 0;\n }\n\n const file = files[0];\n const reader = file.stream().getReader();\n let index = 0;\n let buffer = new Uint8Array();\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const combined = new Uint8Array(buffer.length + value.length);\n combined.set(buffer);\n combined.set(value, buffer.length);\n buffer = combined;\n\n while (buffer.length >= chunkSize) {\n const chunk = buffer.slice(0, chunkSize);\n buffer = buffer.slice(chunkSize);\n const base64 = uint8ToBase64(chunk);\n await callback(base64, index++);\n }\n }\n\n if (buffer.length > 0) {\n const base64 = uint8ToBase64(buffer);\n await callback(base64, index++);\n }\n\n return index;\n};\n\nexport const getFileMeta = async (\n input: string | FileList\n): Promise<[string?, string?, number?, string?]> => {\n if (isNode()) {\n return getFileMetaForNode(input as string);\n }\n\n if (isBrowser()) {\n return getFileMetaForBrowser(input as FileList);\n }\n\n console.error('Unknown environment for getFileMeta');\n\n return [];\n};\n\nexport const getFileMetaForNode = async (\n path: string\n): Promise<[string?, string?, number?, string?]> => {\n if (typeof path !== 'string' || path.length < 1) {\n return [];\n }\n\n const fs = await import('fs');\n const p = await import('path');\n\n try {\n const stats = await fs.promises.stat(path);\n const size = stats.size;\n const ext = p.extname(path).replace('.', '').toLowerCase();\n const name = p.basename(path);\n const mimeType = mimeMap[ext] || 'application/octet-stream';\n\n return [ext, mimeType, size, name];\n } catch (error) {\n console.error(`Error getting file meta for ${path}:`, error);\n return [];\n }\n};\n\nexport const getFileMetaForBrowser = async (\n files: FileList\n): Promise<[string?, string?, number?, string?]> => {\n if (!(files instanceof FileList) || files.length < 1) {\n return [];\n }\n\n const file = files[0];\n const ext = file.name.split('.').pop()?.toLowerCase() || '';\n const mimeType = file.type || `application/${ext || 'octet-stream'}`;\n const size = file.size;\n const name = file.name;\n\n return [ext, mimeType, size, name];\n};\n\nexport const uint8ToBase64 = (bytes: Uint8Array): string => {\n let binary = '';\n const chunkSize = 0x8000;\n const len = bytes.length;\n for (let i = 0; i < len; i += chunkSize) {\n const sub = bytes.subarray(i, i + chunkSize);\n binary += String.fromCharCode(...sub);\n }\n return btoa(binary);\n};\n","const axios = require('axios');\nimport { getConfig } from '../common/init/config';\nimport { managedLog } from '../common/utils/functions';\nimport { LogType } from '../common/utils/values';\n\nexport const raw = axios;\n\nexport const request = async (\n method: string,\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n const config = getConfig();\n\n try {\n const request = {\n method,\n url,\n headers: {\n 'content-type': 'application/json',\n authorization: `bearer ${config.credential}`,\n ...headers,\n },\n data: body,\n params: queries,\n };\n\n managedLog('BATCH REQUEST', request, config, LogType.INFO);\n\n const response = await raw.request(request, {\n validateStatus: function (status: any) {\n return status < 500;\n },\n });\n\n managedLog('BATCH RESPONSE', response.data, config, LogType.INFO);\n \n return [true, response.status, response.statusText, null, response.data];\n } catch (error: any) {\n managedLog('BATCH ERROR', error, config, LogType.ERROR);\n\n if (error.response) {\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n const response = error.response\n return [\n false,\n response.status,\n response.statusText,\n null,\n response.data,\n ]\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the browser and an instance of\n // http.ClientRequest in node.js\n return [\n false,\n 503,\n 'Service is Down',\n 'Unable to get any response from the ',\n error,\n ];\n } else {\n // Something happened in setting up the request that triggered an Error\n return [\n false,\n 403,\n 'Service is Down',\n 'Could not make the request, check and try again.',\n error,\n ];\n }\n }\n};\n\nexport const requestWithError = async (\n method: string,\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n const [status, httpStatus, title, message, response] = await request(\n method,\n url,\n body,\n queries,\n headers,\n );\n\n if (status !== true) {\n throw new Error(`${httpStatus}: ${title} ${response?.message ?? message}`);\n }\n\n return response;\n}\n\nexport const post = (url: string, body?: any, queries?: any, headers?: any) => {\n return request('POST', url, body, queries, headers);\n};\n\nexport const get = (url: string, queries?: any, headers?: any) => {\n return request('GET', url, null, queries, headers);\n};\n\nexport const patch = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('PATCH', url, body, queries, headers);\n};\n\nexport const put = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('PUT', url, body, queries, headers);\n};\n\nexport const remove = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('DELETE', url, body, queries, headers);\n};\n","import { getConfig } from '../common/init/config';\nimport { getFileMeta, streamFileChunks } from '../common/utils/functions';\nimport { File, Page } from '../common/utils/values';\nimport { post } from '../request/methods';\n\nexport const init = async (file: File) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/init`,\n {\n ...file,\n }\n );\n\n if (status !== true) {\n console.error('INIT ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const batch = async (pages: Page[]) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/batch`,\n {\n pages,\n }\n );\n\n if (status !== true) {\n console.error('BATCH ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const verify = async (file: File) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/verify`,\n {\n ...file,\n }\n );\n\n if (status !== true) {\n console.error('VERIFY ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const upload = async (\n input: string | FileList,\n parentId?: string,\n tags?: string[]\n) => {\n const meta = await getFileMeta(input);\n if (!meta) {\n return [false, 'Failed to read file metadata'];\n }\n\n const [ext, mimeType, size, name] = meta;\n if (!ext || !mimeType || !size || !name) {\n return [false, 'Invalid file metadata'];\n }\n\n const file = await init({\n type: ext,\n parentId,\n name,\n tags,\n size,\n mime: mimeType,\n });\n if (!file || !file.id) {\n return [false, 'Failed to init file upload'];\n }\n\n const totalChunks = await streamFileChunks(input, async (chunk, index) => {\n await batch([\n {\n fileId: file.id,\n index,\n raw: chunk,\n },\n ]);\n });\n if (!totalChunks) {\n return [false, 'Failed to upload file chunks'];\n }\n\n const nFile = await verify({\n type: ext,\n parentId,\n name,\n tags,\n size,\n mime: mimeType,\n });\n if (!nFile || !nFile.id) {\n return [false, 'Failed to verify file upload'];\n }\n\n if (nFile?.pagesCount !== totalChunks) {\n return [false, 'Uploaded chunks count does not match'];\n }\n\n return [true, nFile.id];\n};\n\n/**\n * return the full URL for the given file ID\n * @param id\n */\nexport const download = (id: string): string => {\n const config = getConfig();\n return `${config.server}/apps/blobs/download/${id}`;\n};\n","import { getConfig } from '../init/config';\nimport { managedLog } from '../utils/functions';\nimport { Item, LogType } from '../utils/values';\n\n/**\n * global in-memory queue store\n * not exported, only used by this module\n */\nconst store: Item[] = [];\n\nexport const push = (...items: Item[]) => {\n const config = getConfig();\n store.push(...items);\n managedLog(\n `QUEUE - ${items.length} ITEM(S) ADDED`,\n items,\n getConfig(),\n LogType.INFO\n );\n};\n\nexport const pop = (length = 12) => {\n const items = store.splice(0, length);\n managedLog(\n `QUEUE - ${items.length} ITEM(S) REMOVED`,\n items,\n getConfig(),\n LogType.INFO\n );\n return items;\n};\n\nexport const length = () => {\n return store.length;\n};\n","import { getConfig } from '../common/init/config';\nimport { length, pop, push } from '../common/queue/index';\nimport { managedLog, sleep } from '../common/utils/functions';\nimport { LogType } from '../common/utils/values';\nimport { post } from './methods';\n\nconst limit = 25;\nlet retryTracker = 0;\nexport const run = async () => {\n const config = getConfig();\n let handler = setInterval(async () => {\n if (length() < 1) {\n managedLog('BATCH RUN', 'Nothing to process', getConfig(), LogType.INFO);\n return;\n }\n\n const items = pop(limit);\n\n try {\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload`,\n {\n items,\n }\n );\n\n if (!status) {\n push(...items);\n managedLog(\n 'BATCH RUN',\n `${items.length} sent back to queue`,\n getConfig(),\n LogType.INFO,\n LogType.ERROR\n );\n\n ++retryTracker;\n if (retryTracker > config.batch?.limit!) {\n clearInterval(handler);\n managedLog(\n 'BATCH RETRY LIMIT EXHAUSTED',\n { retryTracker, giveUpAfter: config.batch?.limit },\n config,\n LogType.INFO,\n LogType.ERROR\n );\n managedLog(\n 'BATCH RUN',\n `Processed stopped due to retry limit exhausted`,\n getConfig(),\n LogType.INFO,\n LogType.ERROR\n );\n return;\n }\n\n managedLog(\n 'BATCH RUN',\n `Sleeping for ${config.batch?.backoff}ms`,\n getConfig(),\n LogType.INFO,\n LogType.ERROR\n );\n await sleep(config.batch?.backoff!);\n return;\n }\n\n retryTracker = 0;\n managedLog(\n 'BATCH RUN',\n `${items.length} sent to server`,\n getConfig(),\n LogType.INFO\n );\n } catch (error) {\n console.error(error);\n }\n }, config.batch!.interval!);\n};\n","import { run } from '../../request/batch';\nimport { isFunction, managedLog, recursiveMerge } from '../utils/functions';\nimport { Config, LogType } from '../utils/values';\nimport { getConfig } from './config';\n\nconst sourceId = '003739fd-f06e-4fbc-bd6d-fe5be567b582';\n\nexport const init = (c: Config | any) => {\n const cf = isFunction(c) ? c() : c;\n const config = recursiveMerge(getConfig(), cf);\n\n if (!config.server || config.server == '') {\n managedLog('INIT CONFIG VALIDATION', config, config, LogType.ERROR);\n throw new Error('Invalid configuration - server not defined');\n }\n\n if (!config.sourceId || config.sourceId == '') {\n managedLog('INIT CONFIG VALIDATION', config, config, LogType.ERROR);\n throw new Error('Invalid configuration - sourceId not defined');\n }\n\n managedLog('INIT ACTIVE CONFIG', config, config, LogType.INFO);\n\n run();\n managedLog('INIT', 'Batch processing started', config, LogType.INFO);\n\n // register SDK as source\n // push({\n // category: CategoryType.Event,\n // payload: {\n // id: sourceId,\n // category: CategoryType.Event,\n // key: 'sdk',\n // typeKey: 'javascript',\n // name: 'Blobs SDK Javascript',\n // desc: null,\n // },\n // type: 'apps.polylog.source.register',\n // });\n};\n","import { requestWithError } from \"../request/index\";\n\nexport abstract class BaseServiceService {\n protected name?: string;\n\n async request(\n method: string,\n url: string,\n body?: any,\n queries?: any,\n headers?: any,\n ) {\n return requestWithError(\n method,\n url,\n body,\n queries,\n headers,\n );\n }\n\n post(path: string, body?: any, queries?: any, headers?: any) {\n return this.request('POST', `${this.name}/${path}`, body, queries, headers);\n }\n\n put(path: string, body?: any, queries?: any, headers?: any) {\n return this.request('PUT', `${this.name}/${path}`, body, queries, headers);\n }\n\n get(path: string, queries?: any, headers?: any) {\n return this.request('GET', `${this.name}/${path}`, null, queries, headers);\n }\n\n patch(path: string, body?: any, queries?: any, headers?: any) {\n return this.request('PATCH', `${this.name}/${path}`, body, queries, headers);\n }\n\n delete(path: string, queries?: any, headers?: any) {\n return this.request('DELETE', `${this.name}/${path}`, null, queries, headers);\n }\n}\n","import { BaseEntity, BaseRequestQuery } from '../common/utils/values';\nimport { BaseServiceService } from './base-service.service';\n\nexport abstract class BaseEntityServiceService extends BaseServiceService {\n create(body: BaseEntity, queries?: any, headers?: any) {\n return this.post(`${this.name}`, body, queries, headers);\n }\n\n upsert(body: BaseEntity, queries?: any, headers?: any) {\n return this.put(`${this.name}`, body, queries, headers);\n }\n\n getOne(id: string, queries?: BaseRequestQuery, headers?: any) {\n return this.get(`${this.name}/${id}`, queries, headers);\n }\n\n getMany(queries?: BaseRequestQuery, headers?: any) {\n return this.get(`${this.name}`, queries, headers);\n }\n\n update(id: string, body: BaseEntity, queries?: any, headers?: any) {\n return this.patch(`${this.name}/${id}`, body, queries, headers);\n }\n\n remove(id: string, queries?: any, headers?: any) {\n return this.delete(`${this.name}/${id}`, queries, headers);\n }\n\n getRelative(id: string, relative: string, queries?: any, headers?: any) {\n return this.get(`${this.name}/${id}/${relative}`, queries, headers);\n }\n\n getMetrics(queries = {}, headers?: any) {\n return this.get(`${this.name}/metrics`, queries, headers);\n }\n\n find(\n queries?: BaseRequestQuery,\n type: 'latest' | 'oldest' = 'latest',\n headers?: any,\n ) {\n return this.get(`${this.name}/find/${type}`, queries, headers);\n }\n}\n"],"names":["config","server","credential","sourceId","getConfig","CategoryType","LogType","mimeMap","txt","csv","html","htm","css","js","json","xml","md","yaml","yml","pdf","rtf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif","svg","webp","bmp","ico","tif","tiff","avif","heic","mp3","wav","ogg","m4a","flac","aac","mp4","webm","mov","avi","mkv","mpeg","zip","gz","tar","rar","bz2","jar","ttf","otf","woff","woff2","sh","py","ts","tsx","jsx","java","go","rs","cpp","c","sql","env","bin","exe","wasm","dmg","iso","isNode","window","isBrowser","isObject","x","Array","isArray","recursiveMerge","target","_len","arguments","length","sources","_key","_i","_sources","source","key","managedLog","title","message","_config$logs","_len2","types","_key2","logs","forEach","allowed","includes","debug","console","sleep","ms","Promise","resolve","setTimeout","isFunction","value","streamFileChunks","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","input","callback","chunkSize","wrap","_callee$","_context","prev","next","abrupt","streamFileChunksForNode","streamFileChunksForBrowser","error","stop","_x","_x2","_x3","apply","_ref2","_callee2","path","fs","stream","index","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","base64","_callee2$","_context2","sent","createReadStream","highWaterMark","_asyncIterator","done","toString","t0","finish","_x4","_x5","_x6","_ref3","_callee3","files","file","reader","buffer","_yield$reader$read","combined","_base","_callee3$","_context3","FileList","getReader","Uint8Array","read","set","slice","uint8ToBase64","_x7","_x8","_x9","getFileMeta","_ref4","_callee4","_callee4$","_context4","getFileMetaForNode","getFileMetaForBrowser","_x10","_ref5","_callee5","p","stats","size","ext","name","mimeType","_callee5$","_context5","promises","stat","extname","replace","toLowerCase","basename","_x11","_ref6","_callee6","_file$name$split$pop","_callee6$","_context6","split","pop","type","_x12","bytes","binary","len","i","sub","subarray","String","fromCharCode","btoa","axios","require","raw","request","method","url","body","queries","headers","_request","response","_response","_extends","authorization","data","params","INFO","validateStatus","status","statusText","ERROR","requestWithError","_yield$request","httpStatus","_response$message","Error","post","get","patch","put","remove","init","_yield$post","batch","pages","_yield$post2","verify","_yield$post3","upload","parentId","tags","meta","totalChunks","nFile","mime","id","fileId","pagesCount","download","store","push","items","splice","limit","retryTracker","run","handler","setInterval","_config$batch","_config$batch3","_config$batch4","_config$batch2","clearInterval","giveUpAfter","backoff","interval","cf","BaseServiceService","_proto","prototype","delete","BaseEntityServiceService","_BaseServiceService","_inheritsLoose","create","upsert","getOne","getMany","update","getRelative","relative","getMetrics","find"],"mappings":"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"}
1
+ {"version":3,"file":"jsx-blobs.cjs.development.js","sources":["../src/common/init/config.ts","../src/common/utils/values.ts","../src/common/utils/functions.ts","../src/request/methods.ts","../src/files/index.ts","../src/common/init/index.ts"],"sourcesContent":["import { Config } from '../utils/values';\n\nlet config: Config = {\n server: '',\n credential: '',\n sourceId: '',\n};\n\nexport const getConfig = () => {\n return config;\n};\n","export type Data = Record<string, any>;\n\nexport enum CategoryType {\n Form = 'form',\n File = 'file',\n Webhook = 'webhook',\n Job = 'job',\n Event = 'event',\n Log = 'log',\n Motion = 'motion',\n Message = 'message',\n Others = 'others',\n}\n\nexport enum LogType {\n INFO = 'info',\n WARN = 'warn',\n ERROR = 'error',\n}\n\nexport interface Config {\n /**\n * Destination server base url\n *\n * Require\n */\n server: string;\n\n /**\n * Access token\n */\n credential: string;\n\n /**\n * SourceId\n */\n sourceId: string;\n\n /**\n * log display filter\n */\n logs?: LogType[];\n\n debug?: boolean;\n}\n\nexport interface BaseResponseBody {\n status: 'success' | 'error' | string;\n title: string;\n message: string;\n // code?: string,\n data?: any;\n meta?: any;\n raw?: string;\n headers?: any;\n [key: string]: any;\n}\n\nexport interface BaseRequestBody {\n [key: string]: any;\n}\n\nexport interface BaseEntity {\n id?: string;\n createdAt?: string;\n updateAt?: string;\n deletedAt?: string;\n [key: string]: any;\n}\n\nexport interface BaseRequestQuery {\n query?: string;\n page?: number;\n from?: string;\n to?: string;\n perPage?: number;\n relations?: string;\n columns?: string;\n [key: string]: any;\n}\n\nexport interface File {\n type: string;\n parentId?: string;\n name: string;\n tags?: string[];\n\n size: number;\n mime: string;\n\n status?: string;\n meta?: any;\n}\n\nexport interface Page {\n fileId: string;\n index: number;\n raw: string;\n\n status?: string;\n meta?: any;\n}\n\nexport interface Item {\n file: File;\n pages: Page[];\n}\n\nexport const mimeMap: Record<string, string> = {\n // --- Text & Documents ---\n txt: 'text/plain',\n csv: 'text/csv',\n html: 'text/html',\n htm: 'text/html',\n css: 'text/css',\n js: 'application/javascript',\n json: 'application/json',\n xml: 'application/xml',\n md: 'text/markdown',\n yaml: 'application/x-yaml',\n yml: 'application/x-yaml',\n pdf: 'application/pdf',\n rtf: 'application/rtf',\n doc: 'application/msword',\n docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n xls: 'application/vnd.ms-excel',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ppt: 'application/vnd.ms-powerpoint',\n pptx: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\n // --- Images ---\n jpg: 'image/jpeg',\n jpeg: 'image/jpeg',\n png: 'image/png',\n gif: 'image/gif',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n bmp: 'image/bmp',\n ico: 'image/x-icon',\n tif: 'image/tiff',\n tiff: 'image/tiff',\n avif: 'image/avif',\n heic: 'image/heic',\n\n // --- Audio ---\n mp3: 'audio/mpeg',\n wav: 'audio/wav',\n ogg: 'audio/ogg',\n m4a: 'audio/mp4',\n flac: 'audio/flac',\n aac: 'audio/aac',\n\n // --- Video ---\n mp4: 'video/mp4',\n webm: 'video/webm',\n mov: 'video/quicktime',\n avi: 'video/x-msvideo',\n mkv: 'video/x-matroska',\n mpeg: 'video/mpeg',\n\n // --- Archives & Packages ---\n zip: 'application/zip',\n gz: 'application/gzip',\n tar: 'application/x-tar',\n rar: 'application/vnd.rar',\n '7z': 'application/x-7z-compressed',\n bz2: 'application/x-bzip2',\n jar: 'application/java-archive',\n\n // --- Fonts ---\n ttf: 'font/ttf',\n otf: 'font/otf',\n woff: 'font/woff',\n woff2: 'font/woff2',\n\n // --- Code / Config ---\n sh: 'application/x-sh',\n py: 'text/x-python',\n ts: 'application/typescript',\n tsx: 'application/typescript',\n jsx: 'text/jsx',\n java: 'text/x-java-source',\n go: 'text/x-go',\n rs: 'text/rust',\n cpp: 'text/x-c++src',\n c: 'text/x-c',\n sql: 'application/sql',\n env: 'text/plain',\n\n // --- Others ---\n bin: 'application/octet-stream',\n exe: 'application/x-msdownload',\n wasm: 'application/wasm',\n dmg: 'application/x-apple-diskimage',\n iso: 'application/x-iso9660-image',\n};\n","import { Config, LogType, mimeMap } from './values';\n\nexport const isNode = () => {\n return typeof window === 'undefined';\n};\n\nexport const isBrowser = () => {\n return !isNode();\n};\n\nexport const isObject = (x: any) => {\n return typeof x === 'object' && !Array.isArray(x) && x !== null;\n};\n\nexport const recursiveMerge = (target: any, ...sources: any[]) => {\n for (const source of sources) {\n for (const key in source) {\n if (isObject(source[key])) {\n if (!target[key]) {\n target[key] = {};\n }\n recursiveMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\n\nexport const managedLog = (\n title: string,\n message: any,\n config: Config,\n ...types: LogType[]\n) => {\n config.logs?.forEach((allowed) => {\n if (types.includes(allowed)) {\n if (config.debug === true) {\n console[allowed](title, message);\n } else {\n console[allowed](title);\n }\n }\n });\n};\n\nexport const sleep = (ms: number) => {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n};\n\nexport const isFunction = (value: any) => {\n return typeof value === 'function';\n};\n\nexport const streamFileChunks = async (\n input: string | FileList,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (isNode()) {\n return streamFileChunksForNode(input as string, callback, chunkSize);\n }\n\n if (isBrowser()) {\n return streamFileChunksForBrowser(input as FileList, callback, chunkSize);\n }\n\n console.error('Unknown environment for streamChunks');\n\n return 0;\n};\n\nexport const streamFileChunksForNode = async (\n path: string,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (typeof path !== 'string' || path.length < 1) {\n return 0;\n }\n\n const fs = await import('fs');\n const stream = fs.createReadStream(path, { highWaterMark: chunkSize });\n let index = 0;\n\n for await (const chunk of stream) {\n const base64 = chunk.toString('base64');\n await callback(base64, index++);\n }\n\n return index;\n};\n\nexport const streamFileChunksForBrowser = async (\n files: FileList,\n callback: (chunk: string, index: number) => void | Promise<void>,\n chunkSize = 512 * 1024\n): Promise<number> => {\n if (!(files instanceof FileList) || files.length < 1) {\n return 0;\n }\n\n const file = files[0];\n const reader = file.stream().getReader();\n let index = 0;\n let buffer = new Uint8Array();\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const combined = new Uint8Array(buffer.length + value.length);\n combined.set(buffer);\n combined.set(value, buffer.length);\n buffer = combined;\n\n while (buffer.length >= chunkSize) {\n const chunk = buffer.slice(0, chunkSize);\n buffer = buffer.slice(chunkSize);\n const base64 = uint8ToBase64(chunk);\n await callback(base64, index++);\n }\n }\n\n if (buffer.length > 0) {\n const base64 = uint8ToBase64(buffer);\n await callback(base64, index++);\n }\n\n return index;\n};\n\nexport const getFileMeta = async (\n input: string | FileList\n): Promise<[string?, string?, number?, string?]> => {\n if (isNode()) {\n return getFileMetaForNode(input as string);\n }\n\n if (isBrowser()) {\n return getFileMetaForBrowser(input as FileList);\n }\n\n console.error('Unknown environment for getFileMeta');\n\n return [];\n};\n\nexport const getFileMetaForNode = async (\n path: string\n): Promise<[string?, string?, number?, string?]> => {\n if (typeof path !== 'string' || path.length < 1) {\n return [];\n }\n\n const fs = await import('fs');\n const p = await import('path');\n\n try {\n const stats = await fs.promises.stat(path);\n const size = stats.size;\n const ext = p.extname(path).replace('.', '').toLowerCase();\n const name = p.basename(path);\n const mimeType = mimeMap[ext] || 'application/octet-stream';\n\n return [ext, mimeType, size, name];\n } catch (error) {\n console.error(`Error getting file meta for ${path}:`, error);\n return [];\n }\n};\n\nexport const getFileMetaForBrowser = async (\n files: FileList\n): Promise<[string?, string?, number?, string?]> => {\n if (!(files instanceof FileList) || files.length < 1) {\n return [];\n }\n\n const file = files[0];\n const ext = file.name.split('.').pop()?.toLowerCase() || '';\n const mimeType = file.type || `application/${ext || 'octet-stream'}`;\n const size = file.size;\n const name = file.name;\n\n return [ext, mimeType, size, name];\n};\n\nexport const uint8ToBase64 = (bytes: Uint8Array): string => {\n let binary = '';\n const chunkSize = 0x8000;\n const len = bytes.length;\n for (let i = 0; i < len; i += chunkSize) {\n const sub = bytes.subarray(i, i + chunkSize);\n binary += String.fromCharCode(...sub);\n }\n return btoa(binary);\n};\n","const axios = require('axios');\nimport { getConfig } from '../common/init/config';\nimport { managedLog } from '../common/utils/functions';\nimport { LogType } from '../common/utils/values';\n\nexport const raw = axios;\n\nexport const request = async (\n method: string,\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n const config = getConfig();\n\n try {\n const request = {\n method,\n url,\n headers: {\n 'content-type': 'application/json',\n authorization: `bearer ${config.credential}`,\n ...headers,\n },\n data: body,\n params: queries,\n };\n\n managedLog('BATCH REQUEST', request, config, LogType.INFO);\n\n const response = await raw.request(request, {\n validateStatus: function (status: any) {\n return status < 500;\n },\n });\n\n managedLog('BATCH RESPONSE', response.data, config, LogType.INFO);\n \n return [true, response.status, response.statusText, null, response.data];\n } catch (error: any) {\n managedLog('BATCH ERROR', error, config, LogType.ERROR);\n\n if (error.response) {\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n const response = error.response\n return [\n false,\n response.status,\n response.statusText,\n null,\n response.data,\n ]\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the browser and an instance of\n // http.ClientRequest in node.js\n return [\n false,\n 503,\n 'Service is Down',\n 'Unable to get any response from the ',\n error,\n ];\n } else {\n // Something happened in setting up the request that triggered an Error\n return [\n false,\n 403,\n 'Service is Down',\n 'Could not make the request, check and try again.',\n error,\n ];\n }\n }\n};\n\nexport const requestWithError = async (\n method: string,\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n const [status, httpStatus, title, message, response] = await request(\n method,\n url,\n body,\n queries,\n headers,\n );\n\n if (status !== true) {\n throw new Error(`${httpStatus}: ${title} ${response?.message ?? message}`);\n }\n\n return response;\n}\n\nexport const post = (url: string, body?: any, queries?: any, headers?: any) => {\n return request('POST', url, body, queries, headers);\n};\n\nexport const get = (url: string, queries?: any, headers?: any) => {\n return request('GET', url, null, queries, headers);\n};\n\nexport const patch = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('PATCH', url, body, queries, headers);\n};\n\nexport const put = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('PUT', url, body, queries, headers);\n};\n\nexport const remove = (\n url: string,\n body?: any,\n queries?: any,\n headers?: any\n) => {\n return request('DELETE', url, body, queries, headers);\n};\n","import { getConfig } from '../common/init/config';\nimport { getFileMeta, streamFileChunks } from '../common/utils/functions';\nimport { File, Page } from '../common/utils/values';\nimport { post } from '../request/methods';\n\nexport const init = async (file: File) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/init`,\n {\n ...file,\n }\n );\n\n if (status !== true) {\n console.error('INIT ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const batch = async (pages: Page[]) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/batch`,\n {\n pages,\n }\n );\n\n if (status !== true) {\n console.error('BATCH ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const verify = async (file: File) => {\n const config = getConfig();\n\n const [status, httpStatus, title, message, response] = await post(\n `${config.server}/apps/blobs/upload/verify`,\n {\n ...file,\n }\n );\n\n if (status !== true) {\n console.error('VERIFY ERROR', title, message, httpStatus);\n return null;\n }\n\n return response;\n};\n\nexport const upload = async (\n input: string | FileList,\n parentId?: string,\n tags?: string[]\n) => {\n const meta = await getFileMeta(input);\n if (!meta) {\n return [false, 'Failed to read file metadata'];\n }\n\n const [ext, mimeType, size, name] = meta;\n if (!ext || !mimeType || !size || !name) {\n return [false, 'Invalid file metadata'];\n }\n\n const file = await init({\n type: ext,\n parentId,\n name,\n tags,\n size,\n mime: mimeType,\n });\n if (!file || !file.id) {\n return [false, 'Failed to init file upload'];\n }\n\n const totalChunks = await streamFileChunks(input, async (chunk, index) => {\n await batch([\n {\n fileId: file.id,\n index,\n raw: chunk,\n },\n ]);\n });\n if (!totalChunks) {\n return [false, 'Failed to upload file chunks'];\n }\n\n const nFile = await verify({\n type: ext,\n parentId,\n name,\n tags,\n size,\n mime: mimeType,\n });\n if (!nFile || !nFile.url) {\n return [false, 'Failed to verify file upload'];\n }\n\n if (nFile?.pagesCount !== totalChunks) {\n return [false, 'Uploaded chunks count does not match'];\n }\n\n return [true, nFile.url];\n};\n\n/**\n * return the full URL for the given file ID\n * @param id\n */\nexport const download = (id: string): string => {\n const config = getConfig();\n return `${config.server}/apps/blobs/download/${id}`;\n};\n","import { isFunction, managedLog, recursiveMerge } from '../utils/functions';\nimport { Config, LogType } from '../utils/values';\nimport { getConfig } from './config';\n\nconst sourceId = '003739fd-f06e-4fbc-bd6d-fe5be567b582';\n\nexport const init = (c: Config | any) => {\n const cf = isFunction(c) ? c() : c;\n const config = recursiveMerge(getConfig(), cf);\n\n if (!config.server || config.server == '') {\n managedLog('INIT CONFIG VALIDATION', config, config, LogType.ERROR);\n throw new Error('Invalid configuration - server not defined');\n }\n\n if (!config.sourceId || config.sourceId == '') {\n managedLog('INIT CONFIG VALIDATION', config, config, LogType.ERROR);\n throw new Error('Invalid configuration - sourceId not defined');\n }\n\n managedLog('INIT ACTIVE CONFIG', config, config, LogType.INFO);\n\n // register SDK as source\n // push({\n // category: CategoryType.Event,\n // payload: {\n // id: sourceId,\n // category: CategoryType.Event,\n // key: 'sdk',\n // typeKey: 'javascript',\n // name: 'Blobs SDK Javascript',\n // desc: null,\n // },\n // type: 'apps.polylog.source.register',\n // });\n};\n"],"names":["config","server","credential","sourceId","getConfig","CategoryType","LogType","mimeMap","txt","csv","html","htm","css","js","json","xml","md","yaml","yml","pdf","rtf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif","svg","webp","bmp","ico","tif","tiff","avif","heic","mp3","wav","ogg","m4a","flac","aac","mp4","webm","mov","avi","mkv","mpeg","zip","gz","tar","rar","bz2","jar","ttf","otf","woff","woff2","sh","py","ts","tsx","jsx","java","go","rs","cpp","c","sql","env","bin","exe","wasm","dmg","iso","isNode","window","isBrowser","isObject","x","Array","isArray","recursiveMerge","target","_len","arguments","length","sources","_key","_i","_sources","source","key","managedLog","title","message","_config$logs","_len2","types","_key2","logs","forEach","allowed","includes","debug","console","isFunction","value","streamFileChunks","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","input","callback","chunkSize","wrap","_callee$","_context","prev","next","abrupt","streamFileChunksForNode","streamFileChunksForBrowser","error","stop","_x","_x2","_x3","apply","_ref2","_callee2","path","fs","stream","index","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","chunk","base64","_callee2$","_context2","sent","createReadStream","highWaterMark","_asyncIterator","done","toString","t0","finish","_x4","_x5","_x6","_ref3","_callee3","files","file","reader","buffer","_yield$reader$read","combined","_base","_callee3$","_context3","FileList","getReader","Uint8Array","read","set","slice","uint8ToBase64","_x7","_x8","_x9","getFileMeta","_ref4","_callee4","_callee4$","_context4","getFileMetaForNode","getFileMetaForBrowser","_x10","_ref5","_callee5","p","stats","size","ext","name","mimeType","_callee5$","_context5","promises","stat","extname","replace","toLowerCase","basename","_x11","_ref6","_callee6","_file$name$split$pop","_callee6$","_context6","split","pop","type","_x12","bytes","binary","len","i","sub","subarray","String","fromCharCode","btoa","axios","require","raw","request","method","url","body","queries","headers","_request","response","_response","_extends","authorization","data","params","INFO","validateStatus","status","statusText","ERROR","requestWithError","_yield$request","httpStatus","_response$message","Error","post","get","patch","put","remove","init","_yield$post","batch","pages","_yield$post2","verify","_yield$post3","upload","parentId","tags","meta","totalChunks","nFile","mime","id","fileId","pagesCount","download","cf"],"mappings":"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"}