@pittica/drive-folder-qrcode 1.3.3 → 1.4.0

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.
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.uploadFile = exports.paginator = exports.list = exports.createFile = void 0;
7
+ exports.uploadFile = exports.paginator = exports.list = exports.hasFile = exports.filename = exports.createFile = void 0;
8
8
  var _client = _interopRequireDefault(require("./client"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
10
10
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
@@ -86,6 +86,62 @@ var list = exports.list = /*#__PURE__*/function () {
86
86
  };
87
87
  }();
88
88
 
89
+ /**
90
+ * Lists all subfolders in the folder with the given ID by page.
91
+ *
92
+ * @param {string} id Folder ID.
93
+ * @param {string} pageToken Page token.
94
+ * @param {string} credentials Service account JSON file path.
95
+ * @returns {Array} All subfolders in the folder with the given ID.
96
+ */
97
+ var paginator = exports.paginator = /*#__PURE__*/function () {
98
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(id) {
99
+ var pageToken,
100
+ credentials,
101
+ _args2 = arguments;
102
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
103
+ while (1) switch (_context2.prev = _context2.next) {
104
+ case 0:
105
+ pageToken = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : null;
106
+ credentials = _args2.length > 2 ? _args2[2] : undefined;
107
+ _context2.next = 4;
108
+ return (0, _client["default"])(credentials).files.list({
109
+ q: "'".concat(id, "' in parents AND mimeType = 'application/vnd.google-apps.folder' AND trashed = false"),
110
+ pageToken: pageToken,
111
+ pageSize: 15,
112
+ spaces: "drive",
113
+ fields: "nextPageToken, files(id, name, webViewLink)",
114
+ includeItemsFromAllDrives: true,
115
+ supportsAllDrives: true
116
+ }).then(function (_ref3) {
117
+ var data = _ref3.data;
118
+ return data;
119
+ })["catch"](function (_ref4) {
120
+ var code = _ref4.code,
121
+ errors = _ref4.errors;
122
+ if (errors) {
123
+ errors.forEach(function (_ref5) {
124
+ var message = _ref5.message;
125
+ return console.error(code, message);
126
+ });
127
+ } else {
128
+ console.error(code);
129
+ }
130
+ return null;
131
+ });
132
+ case 4:
133
+ return _context2.abrupt("return", _context2.sent);
134
+ case 5:
135
+ case "end":
136
+ return _context2.stop();
137
+ }
138
+ }, _callee2);
139
+ }));
140
+ return function paginator(_x2) {
141
+ return _ref2.apply(this, arguments);
142
+ };
143
+ }();
144
+
89
145
  /**
90
146
  * Creates a file in the given Drive folder.
91
147
  *
@@ -98,11 +154,11 @@ var list = exports.list = /*#__PURE__*/function () {
98
154
  * @returns {File} The created file.
99
155
  */
100
156
  var createFile = exports.createFile = /*#__PURE__*/function () {
101
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, folder, content, name, mimeType) {
102
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
103
- while (1) switch (_context2.prev = _context2.next) {
157
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(client, folder, content, name, mimeType) {
158
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
159
+ while (1) switch (_context3.prev = _context3.next) {
104
160
  case 0:
105
- _context2.next = 2;
161
+ _context3.next = 2;
106
162
  return client.files.create({
107
163
  requestBody: {
108
164
  name: name,
@@ -115,9 +171,9 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
115
171
  fields: ["id", "name"],
116
172
  uploadType: "multipart",
117
173
  supportsAllDrives: true
118
- }).then(function (_ref3) {
119
- var data = _ref3.data,
120
- status = _ref3.status;
174
+ }).then(function (_ref7) {
175
+ var data = _ref7.data,
176
+ status = _ref7.status;
121
177
  if (status >= 200 && status < 300) {
122
178
  console.info("QR code for \"".concat(folder, "\", \"").concat(data.id, "\", created."));
123
179
  } else {
@@ -128,15 +184,15 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
128
184
  return console.error("Errore creating QR code for \"".concat(folder, "\"."));
129
185
  });
130
186
  case 2:
131
- return _context2.abrupt("return", _context2.sent);
187
+ return _context3.abrupt("return", _context3.sent);
132
188
  case 3:
133
189
  case "end":
134
- return _context2.stop();
190
+ return _context3.stop();
135
191
  }
136
- }, _callee2);
192
+ }, _callee3);
137
193
  }));
138
- return function createFile(_x2, _x3, _x4, _x5, _x6) {
139
- return _ref2.apply(this, arguments);
194
+ return function createFile(_x3, _x4, _x5, _x6, _x7) {
195
+ return _ref6.apply(this, arguments);
140
196
  };
141
197
  }();
142
198
 
@@ -151,16 +207,16 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
151
207
  * @returns {File} The created file.
152
208
  */
153
209
  var uploadFile = exports.uploadFile = /*#__PURE__*/function () {
154
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(folder, content, name, mimeType, credentials) {
210
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(folder, content, name, mimeType, credentials) {
155
211
  var client;
156
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
157
- while (1) switch (_context5.prev = _context5.next) {
212
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
213
+ while (1) switch (_context6.prev = _context6.next) {
158
214
  case 0:
159
- _context5.next = 2;
215
+ _context6.next = 2;
160
216
  return (0, _client["default"])(credentials);
161
217
  case 2:
162
- client = _context5.sent;
163
- _context5.next = 5;
218
+ client = _context6.sent;
219
+ _context6.next = 5;
164
220
  return client.files.list({
165
221
  q: "'".concat(folder, "' in parents AND mimeType = '").concat(mimeType, "' AND name = '").concat(name, "' AND trashed = false"),
166
222
  pageSize: 1,
@@ -169,118 +225,123 @@ var uploadFile = exports.uploadFile = /*#__PURE__*/function () {
169
225
  includeItemsFromAllDrives: true,
170
226
  supportsAllDrives: true
171
227
  }).then(/*#__PURE__*/function () {
172
- var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref5) {
228
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref9) {
173
229
  var files;
174
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
175
- while (1) switch (_context3.prev = _context3.next) {
230
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
231
+ while (1) switch (_context4.prev = _context4.next) {
176
232
  case 0:
177
- files = _ref5.data.files;
233
+ files = _ref9.data.files;
178
234
  if (!(files.length > 0)) {
179
- _context3.next = 8;
235
+ _context4.next = 8;
180
236
  break;
181
237
  }
182
238
  console.info("QR code for \"".concat(folder, "\", \"").concat(files[0].name, "\", already exists."), files[0].webViewLink);
183
- _context3.next = 5;
239
+ _context4.next = 5;
184
240
  return client.files.get({
185
241
  fileId: files[0].id,
186
242
  alt: "media",
187
243
  supportsAllDrives: true
188
244
  });
189
245
  case 5:
190
- return _context3.abrupt("return", _context3.sent);
246
+ return _context4.abrupt("return", _context4.sent);
191
247
  case 8:
192
- _context3.next = 10;
248
+ _context4.next = 10;
193
249
  return createFile(client, folder, content, name, mimeType);
194
250
  case 10:
195
- return _context3.abrupt("return", _context3.sent);
251
+ return _context4.abrupt("return", _context4.sent);
196
252
  case 11:
197
253
  case "end":
198
- return _context3.stop();
254
+ return _context4.stop();
199
255
  }
200
- }, _callee3);
256
+ }, _callee4);
201
257
  }));
202
- return function (_x12) {
203
- return _ref6.apply(this, arguments);
258
+ return function (_x13) {
259
+ return _ref10.apply(this, arguments);
204
260
  };
205
- }())["catch"](/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
206
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
207
- while (1) switch (_context4.prev = _context4.next) {
261
+ }())["catch"](/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
262
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
263
+ while (1) switch (_context5.prev = _context5.next) {
208
264
  case 0:
209
- _context4.next = 2;
265
+ _context5.next = 2;
210
266
  return createFile(client, folder, content, name, mimeType);
211
267
  case 2:
212
- return _context4.abrupt("return", _context4.sent);
268
+ return _context5.abrupt("return", _context5.sent);
213
269
  case 3:
214
270
  case "end":
215
- return _context4.stop();
271
+ return _context5.stop();
216
272
  }
217
- }, _callee4);
273
+ }, _callee5);
218
274
  })));
219
275
  case 5:
220
- return _context5.abrupt("return", _context5.sent);
276
+ return _context6.abrupt("return", _context6.sent);
221
277
  case 6:
222
278
  case "end":
223
- return _context5.stop();
279
+ return _context6.stop();
224
280
  }
225
- }, _callee5);
281
+ }, _callee6);
226
282
  }));
227
- return function uploadFile(_x7, _x8, _x9, _x10, _x11) {
228
- return _ref4.apply(this, arguments);
283
+ return function uploadFile(_x8, _x9, _x10, _x11, _x12) {
284
+ return _ref8.apply(this, arguments);
229
285
  };
230
286
  }();
231
287
 
232
288
  /**
233
- * Lists all subfolders in the folder with the given ID by page.
289
+ * Gets an output filename.
234
290
  *
235
- * @param {string} id Folder ID.
236
- * @param {string} pageToken Page token.
291
+ * @param {object} folder Google Drive folder object.
292
+ * @param {string} extension File extension.
293
+ * @returns {string} Output filename.
294
+ */
295
+ var filename = exports.filename = function filename(_ref12, extension) {
296
+ var name = _ref12.name,
297
+ id = _ref12.id;
298
+ return "".concat(name, " - ").concat(id, ".").concat(extension.toLowerCase());
299
+ };
300
+
301
+ /**
302
+ * Determines whether the given file name exists in the given folder.
303
+ *
304
+ * @param {string} folder Folder ID.
305
+ * @param {string} name File name.
237
306
  * @param {string} credentials Service account JSON file path.
238
- * @returns {Array} All subfolders in the folder with the given ID.
307
+ * @returns {boolean} A value indicating whether the given file name exists in the given folder.
239
308
  */
240
- var paginator = exports.paginator = /*#__PURE__*/function () {
241
- var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(id) {
242
- var pageToken,
243
- credentials,
244
- _args6 = arguments;
245
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
246
- while (1) switch (_context6.prev = _context6.next) {
309
+ var hasFile = exports.hasFile = /*#__PURE__*/function () {
310
+ var _ref13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(folder, name) {
311
+ var credentials,
312
+ client,
313
+ _args7 = arguments;
314
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
315
+ while (1) switch (_context7.prev = _context7.next) {
247
316
  case 0:
248
- pageToken = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : null;
249
- credentials = _args6.length > 2 ? _args6[2] : undefined;
250
- _context6.next = 4;
251
- return (0, _client["default"])(credentials).files.list({
252
- q: "'".concat(id, "' in parents AND mimeType = 'application/vnd.google-apps.folder' AND trashed = false"),
253
- pageToken: pageToken,
254
- pageSize: 15,
255
- fields: "nextPageToken, files(id, name, webViewLink)",
317
+ credentials = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : null;
318
+ _context7.next = 3;
319
+ return (0, _client["default"])(credentials);
320
+ case 3:
321
+ client = _context7.sent;
322
+ _context7.next = 6;
323
+ return client.files.list({
324
+ q: "'".concat(folder, "' in parents AND name = '").concat(name, "' AND trashed = false"),
325
+ pageSize: 1,
326
+ fields: "files(id)",
256
327
  spaces: "drive",
257
328
  includeItemsFromAllDrives: true,
258
329
  supportsAllDrives: true
259
- }).then(function (_ref9) {
260
- var data = _ref9.data;
261
- return data;
262
- })["catch"](function (_ref10) {
263
- var code = _ref10.code,
264
- errors = _ref10.errors;
265
- if (errors) {
266
- errors.forEach(function (_ref11) {
267
- var message = _ref11.message;
268
- return console.error(code, message);
269
- });
270
- } else {
271
- console.error(code);
272
- }
273
- return null;
330
+ }).then(function (_ref14) {
331
+ var files = _ref14.data.files;
332
+ return files.length > 0;
333
+ })["catch"](function () {
334
+ return false;
274
335
  });
275
- case 4:
276
- return _context6.abrupt("return", _context6.sent);
277
- case 5:
336
+ case 6:
337
+ return _context7.abrupt("return", _context7.sent);
338
+ case 7:
278
339
  case "end":
279
- return _context6.stop();
340
+ return _context7.stop();
280
341
  }
281
- }, _callee6);
342
+ }, _callee7);
282
343
  }));
283
- return function paginator(_x13) {
284
- return _ref8.apply(this, arguments);
344
+ return function hasFile(_x14, _x15) {
345
+ return _ref13.apply(this, arguments);
285
346
  };
286
347
  }();
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _generate = _interopRequireDefault(require("./generate"));
9
- var _folder = require("../drive/folder");
10
- var _pdf = _interopRequireDefault(require("./pdf"));
11
- var _memorystream = _interopRequireDefault(require("memorystream"));
12
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
10
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
14
11
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
@@ -26,110 +23,28 @@ function _asyncToGenerator(n) { return function () { var t = this, e = arguments
26
23
  // See the License for the specific language governing permissions and
27
24
  // limitations under the License.
28
25
  var _default = exports["default"] = /*#__PURE__*/function () {
29
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(drive, output, logo, colors, font, size, margin) {
26
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(drive, output, logo, colors, font, size, margin) {
30
27
  var rounded,
31
28
  format,
32
29
  credentials,
33
- _args5 = arguments;
34
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
35
- while (1) switch (_context5.prev = _context5.next) {
30
+ captionCallback,
31
+ _args = arguments;
32
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
33
+ while (1) switch (_context.prev = _context.next) {
36
34
  case 0:
37
- rounded = _args5.length > 7 && _args5[7] !== undefined ? _args5[7] : false;
38
- format = _args5.length > 8 && _args5[8] !== undefined ? _args5[8] : "PDF";
39
- credentials = _args5.length > 9 && _args5[9] !== undefined ? _args5[9] : null;
40
- _context5.next = 5;
41
- return (0, _generate["default"])(drive, logo, colors, font, size, margin, rounded, credentials).then(/*#__PURE__*/function () {
42
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(images) {
43
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
44
- while (1) switch (_context4.prev = _context4.next) {
45
- case 0:
46
- _context4.next = 2;
47
- return Promise.all(images.map(/*#__PURE__*/function () {
48
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {
49
- var _ref3$folder, id, name, qr;
50
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
51
- while (1) switch (_context3.prev = _context3.next) {
52
- case 0:
53
- _ref3$folder = _ref3.folder, id = _ref3$folder.id, name = _ref3$folder.name, qr = _ref3.qr;
54
- _context3.next = 3;
55
- return qr.getRawData("svg").then(/*#__PURE__*/function () {
56
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(buffer) {
57
- var doc, stream, s;
58
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
59
- while (1) switch (_context2.prev = _context2.next) {
60
- case 0:
61
- _context2.t0 = format.toUpperCase();
62
- _context2.next = _context2.t0 === "PDF" ? 3 : _context2.t0 === "SVG" ? 9 : 13;
63
- break;
64
- case 3:
65
- doc = (0, _pdf["default"])(size, margin, buffer);
66
- stream = new _memorystream["default"](null, {
67
- readable: false
68
- });
69
- doc.pipe(stream);
70
- doc.on("end", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
71
- return _regeneratorRuntime().wrap(function _callee$(_context) {
72
- while (1) switch (_context.prev = _context.next) {
73
- case 0:
74
- _context.next = 2;
75
- return (0, _folder.uploadFile)(output, Buffer.concat(stream.queue).toString(), "".concat(name, " - ").concat(id, ".pdf"), "application/pdf", credentials);
76
- case 2:
77
- stream.destroy();
78
- case 3:
79
- case "end":
80
- return _context.stop();
81
- }
82
- }, _callee);
83
- })));
84
- doc.end();
85
- return _context2.abrupt("return", id);
86
- case 9:
87
- _context2.next = 11;
88
- return (0, _folder.uploadFile)(output, buffer.toString(), "".concat(name, " - ").concat(id, ".svg"), "image/svg+xml", credentials);
89
- case 11:
90
- s = _context2.sent;
91
- return _context2.abrupt("return", id);
92
- case 13:
93
- case "end":
94
- return _context2.stop();
95
- }
96
- }, _callee2);
97
- }));
98
- return function (_x10) {
99
- return _ref5.apply(this, arguments);
100
- };
101
- }());
102
- case 3:
103
- return _context3.abrupt("return", _context3.sent);
104
- case 4:
105
- case "end":
106
- return _context3.stop();
107
- }
108
- }, _callee3);
109
- }));
110
- return function (_x9) {
111
- return _ref4.apply(this, arguments);
112
- };
113
- }()));
114
- case 2:
115
- return _context4.abrupt("return", _context4.sent);
116
- case 3:
117
- case "end":
118
- return _context4.stop();
119
- }
120
- }, _callee4);
121
- }));
122
- return function (_x8) {
123
- return _ref2.apply(this, arguments);
124
- };
125
- }());
126
- case 5:
127
- return _context5.abrupt("return", _context5.sent);
35
+ rounded = _args.length > 7 && _args[7] !== undefined ? _args[7] : false;
36
+ format = _args.length > 8 && _args[8] !== undefined ? _args[8] : "PDF";
37
+ credentials = _args.length > 9 && _args[9] !== undefined ? _args[9] : null;
38
+ captionCallback = _args.length > 10 && _args[10] !== undefined ? _args[10] : null;
39
+ _context.next = 6;
40
+ return (0, _generate["default"])(drive, output, logo, colors, font, size, margin, rounded, credentials, format, false, captionCallback);
128
41
  case 6:
42
+ return _context.abrupt("return", _context.sent);
43
+ case 7:
129
44
  case "end":
130
- return _context5.stop();
45
+ return _context.stop();
131
46
  }
132
- }, _callee5);
47
+ }, _callee);
133
48
  }));
134
49
  return function (_x, _x2, _x3, _x4, _x5, _x6, _x7) {
135
50
  return _ref.apply(this, arguments);