@pittica/drive-folder-qrcode 1.3.2 → 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,8 +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.list = exports.createFile = void 0;
8
- var _paginator = _interopRequireDefault(require("./folder/paginator"));
7
+ exports.uploadFile = exports.paginator = exports.list = exports.hasFile = exports.filename = exports.createFile = void 0;
9
8
  var _client = _interopRequireDefault(require("./client"));
10
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
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; }
@@ -24,11 +23,11 @@ function _asyncToGenerator(n) { return function () { var t = this, e = arguments
24
23
  // See the License for the specific language governing permissions and
25
24
  // limitations under the License.
26
25
  /**
27
- * Lists all files in the folder with the given ID.
26
+ * Lists all subfolders in the folder with the given ID.
28
27
  *
29
28
  * @param {string} id Folder ID.
30
- * @param {string} credentials Service account path.
31
- * @returns {Array} All files in the folder with the given ID.
29
+ * @param {string} credentials Service account JSON file path.
30
+ * @returns {Array} All subfolders in the folder with the given ID.
32
31
  */
33
32
  var list = exports.list = /*#__PURE__*/function () {
34
33
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(id) {
@@ -49,7 +48,7 @@ var list = exports.list = /*#__PURE__*/function () {
49
48
  break;
50
49
  }
51
50
  _context.next = 6;
52
- return (0, _paginator["default"])(id, token, credentials);
51
+ return paginator(id, token, credentials);
53
52
  case 6:
54
53
  results = _context.sent;
55
54
  if (!results) {
@@ -87,23 +86,79 @@ var list = exports.list = /*#__PURE__*/function () {
87
86
  };
88
87
  }();
89
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
+
90
145
  /**
91
146
  * Creates a file in the given Drive folder.
92
147
  *
93
- * @param {GoogleAuth} client Google Auth client instance.
148
+ * @param {Drive} client Google Drive client instance.
94
149
  * @param {string} folder Folder ID.
95
150
  * @param {string} content File content.
96
151
  * @param {string} name File name.
97
152
  * @param {string} mimeType MIME type in "type/sub" format.
98
- * @param {string} credentials Service account path.
153
+ * @param {string} credentials Service account JSON file path.
99
154
  * @returns {File} The created file.
100
155
  */
101
156
  var createFile = exports.createFile = /*#__PURE__*/function () {
102
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(client, folder, content, name, mimeType) {
103
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
104
- 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) {
105
160
  case 0:
106
- _context2.next = 2;
161
+ _context3.next = 2;
107
162
  return client.files.create({
108
163
  requestBody: {
109
164
  name: name,
@@ -116,9 +171,9 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
116
171
  fields: ["id", "name"],
117
172
  uploadType: "multipart",
118
173
  supportsAllDrives: true
119
- }).then(function (_ref3) {
120
- var data = _ref3.data,
121
- status = _ref3.status;
174
+ }).then(function (_ref7) {
175
+ var data = _ref7.data,
176
+ status = _ref7.status;
122
177
  if (status >= 200 && status < 300) {
123
178
  console.info("QR code for \"".concat(folder, "\", \"").concat(data.id, "\", created."));
124
179
  } else {
@@ -129,15 +184,15 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
129
184
  return console.error("Errore creating QR code for \"".concat(folder, "\"."));
130
185
  });
131
186
  case 2:
132
- return _context2.abrupt("return", _context2.sent);
187
+ return _context3.abrupt("return", _context3.sent);
133
188
  case 3:
134
189
  case "end":
135
- return _context2.stop();
190
+ return _context3.stop();
136
191
  }
137
- }, _callee2);
192
+ }, _callee3);
138
193
  }));
139
- return function createFile(_x2, _x3, _x4, _x5, _x6) {
140
- return _ref2.apply(this, arguments);
194
+ return function createFile(_x3, _x4, _x5, _x6, _x7) {
195
+ return _ref6.apply(this, arguments);
141
196
  };
142
197
  }();
143
198
 
@@ -148,20 +203,20 @@ var createFile = exports.createFile = /*#__PURE__*/function () {
148
203
  * @param {string} content File content.
149
204
  * @param {string} name File name.
150
205
  * @param {string} mimeType MIME type in "type/sub" format.
151
- * @param {string} credentials Service account path.
206
+ * @param {string} credentials Service account JSON file path.
152
207
  * @returns {File} The created file.
153
208
  */
154
209
  var uploadFile = exports.uploadFile = /*#__PURE__*/function () {
155
- 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) {
156
211
  var client;
157
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
158
- while (1) switch (_context5.prev = _context5.next) {
212
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
213
+ while (1) switch (_context6.prev = _context6.next) {
159
214
  case 0:
160
- _context5.next = 2;
215
+ _context6.next = 2;
161
216
  return (0, _client["default"])(credentials);
162
217
  case 2:
163
- client = _context5.sent;
164
- _context5.next = 5;
218
+ client = _context6.sent;
219
+ _context6.next = 5;
165
220
  return client.files.list({
166
221
  q: "'".concat(folder, "' in parents AND mimeType = '").concat(mimeType, "' AND name = '").concat(name, "' AND trashed = false"),
167
222
  pageSize: 1,
@@ -170,62 +225,123 @@ var uploadFile = exports.uploadFile = /*#__PURE__*/function () {
170
225
  includeItemsFromAllDrives: true,
171
226
  supportsAllDrives: true
172
227
  }).then(/*#__PURE__*/function () {
173
- var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref5) {
228
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref9) {
174
229
  var files;
175
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
176
- while (1) switch (_context3.prev = _context3.next) {
230
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
231
+ while (1) switch (_context4.prev = _context4.next) {
177
232
  case 0:
178
- files = _ref5.data.files;
233
+ files = _ref9.data.files;
179
234
  if (!(files.length > 0)) {
180
- _context3.next = 8;
235
+ _context4.next = 8;
181
236
  break;
182
237
  }
183
238
  console.info("QR code for \"".concat(folder, "\", \"").concat(files[0].name, "\", already exists."), files[0].webViewLink);
184
- _context3.next = 5;
239
+ _context4.next = 5;
185
240
  return client.files.get({
186
241
  fileId: files[0].id,
187
242
  alt: "media",
188
243
  supportsAllDrives: true
189
244
  });
190
245
  case 5:
191
- return _context3.abrupt("return", _context3.sent);
246
+ return _context4.abrupt("return", _context4.sent);
192
247
  case 8:
193
- _context3.next = 10;
248
+ _context4.next = 10;
194
249
  return createFile(client, folder, content, name, mimeType);
195
250
  case 10:
196
- return _context3.abrupt("return", _context3.sent);
251
+ return _context4.abrupt("return", _context4.sent);
197
252
  case 11:
198
253
  case "end":
199
- return _context3.stop();
254
+ return _context4.stop();
200
255
  }
201
- }, _callee3);
256
+ }, _callee4);
202
257
  }));
203
- return function (_x12) {
204
- return _ref6.apply(this, arguments);
258
+ return function (_x13) {
259
+ return _ref10.apply(this, arguments);
205
260
  };
206
- }())["catch"](/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
207
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
208
- 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) {
209
264
  case 0:
210
- _context4.next = 2;
265
+ _context5.next = 2;
211
266
  return createFile(client, folder, content, name, mimeType);
212
267
  case 2:
213
- return _context4.abrupt("return", _context4.sent);
268
+ return _context5.abrupt("return", _context5.sent);
214
269
  case 3:
215
270
  case "end":
216
- return _context4.stop();
271
+ return _context5.stop();
217
272
  }
218
- }, _callee4);
273
+ }, _callee5);
219
274
  })));
220
275
  case 5:
221
- return _context5.abrupt("return", _context5.sent);
276
+ return _context6.abrupt("return", _context6.sent);
277
+ case 6:
278
+ case "end":
279
+ return _context6.stop();
280
+ }
281
+ }, _callee6);
282
+ }));
283
+ return function uploadFile(_x8, _x9, _x10, _x11, _x12) {
284
+ return _ref8.apply(this, arguments);
285
+ };
286
+ }();
287
+
288
+ /**
289
+ * Gets an output filename.
290
+ *
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.
306
+ * @param {string} credentials Service account JSON file path.
307
+ * @returns {boolean} A value indicating whether the given file name exists in the given folder.
308
+ */
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) {
316
+ case 0:
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)",
327
+ spaces: "drive",
328
+ includeItemsFromAllDrives: true,
329
+ supportsAllDrives: true
330
+ }).then(function (_ref14) {
331
+ var files = _ref14.data.files;
332
+ return files.length > 0;
333
+ })["catch"](function () {
334
+ return false;
335
+ });
222
336
  case 6:
337
+ return _context7.abrupt("return", _context7.sent);
338
+ case 7:
223
339
  case "end":
224
- return _context5.stop();
340
+ return _context7.stop();
225
341
  }
226
- }, _callee5);
342
+ }, _callee7);
227
343
  }));
228
- return function uploadFile(_x7, _x8, _x9, _x10, _x11) {
229
- return _ref4.apply(this, arguments);
344
+ return function hasFile(_x14, _x15) {
345
+ return _ref13.apply(this, arguments);
230
346
  };
231
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);