@pixwel/pixwel-sdk 2.0.0 → 2.1.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.
Files changed (47) hide show
  1. package/.babelrc +2 -1
  2. package/README.md +60 -0
  3. package/coverage/clover.xml +581 -430
  4. package/coverage/coverage-final.json +15 -9
  5. package/coverage/lcov-report/Ass.js.html +212 -212
  6. package/coverage/lcov-report/Asset.js.html +27 -27
  7. package/coverage/lcov-report/AssetType.js.html +98 -0
  8. package/coverage/lcov-report/Encode.js.html +98 -0
  9. package/coverage/lcov-report/File.js.html +98 -0
  10. package/coverage/lcov-report/Filename.js.html +9 -726
  11. package/coverage/lcov-report/Ingest.js.html +1239 -279
  12. package/coverage/lcov-report/IngestFile.js.html +5 -5
  13. package/coverage/lcov-report/Model.js.html +821 -0
  14. package/coverage/lcov-report/Order.js.html +25 -25
  15. package/coverage/lcov-report/Srt.js.html +102 -102
  16. package/coverage/lcov-report/Sub.js.html +43 -43
  17. package/coverage/lcov-report/Tag.js.html +98 -0
  18. package/coverage/lcov-report/TimeFormat.js.html +63 -63
  19. package/coverage/lcov-report/fileType.js.html +188 -0
  20. package/coverage/lcov-report/index.html +164 -86
  21. package/coverage/lcov.info +1159 -846
  22. package/dist/index.js +74 -22
  23. package/dist/src/Asset.js +10 -5
  24. package/dist/src/AssetType.js +54 -0
  25. package/dist/src/Encode.js +54 -0
  26. package/dist/src/File.js +54 -0
  27. package/dist/src/Filename.js +7 -228
  28. package/dist/src/Ingest.js +365 -33
  29. package/dist/src/IngestFile.js +6 -2
  30. package/dist/src/Model.js +569 -0
  31. package/dist/src/Order.js +20 -9
  32. package/dist/src/Srt.js +5 -1
  33. package/dist/src/Tag.js +54 -0
  34. package/dist/src/fileType.js +43 -0
  35. package/index.js +14 -0
  36. package/package.json +9 -3
  37. package/src/AssetType.js +11 -0
  38. package/src/Encode.js +11 -0
  39. package/src/File.js +11 -0
  40. package/src/Filename.js +0 -239
  41. package/src/Ingest.js +347 -27
  42. package/src/Model.js +252 -0
  43. package/src/Tag.js +11 -0
  44. package/src/fileType.js +41 -0
  45. package/test/Filename.spec.js +3 -707
  46. package/test/Ingest.spec.js +1107 -152
  47. package/test/Model.spec.js +328 -0
@@ -0,0 +1,569 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _stringify = require("babel-runtime/core-js/json/stringify");
8
+
9
+ var _stringify2 = _interopRequireDefault(_stringify);
10
+
11
+ var _keys = require("babel-runtime/core-js/object/keys");
12
+
13
+ var _keys2 = _interopRequireDefault(_keys);
14
+
15
+ var _regenerator = require("babel-runtime/regenerator");
16
+
17
+ var _regenerator2 = _interopRequireDefault(_regenerator);
18
+
19
+ var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
20
+
21
+ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
22
+
23
+ var _assign = require("babel-runtime/core-js/object/assign");
24
+
25
+ var _assign2 = _interopRequireDefault(_assign);
26
+
27
+ var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
28
+
29
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
30
+
31
+ var _createClass2 = require("babel-runtime/helpers/createClass");
32
+
33
+ var _createClass3 = _interopRequireDefault(_createClass2);
34
+
35
+ var _index = require("../index");
36
+
37
+ var _axios = require("axios");
38
+
39
+ var _axios2 = _interopRequireDefault(_axios);
40
+
41
+ var _lodash = require("lodash");
42
+
43
+ var _deepObjectDiff = require("deep-object-diff");
44
+
45
+ var _validate = require("validate.js");
46
+
47
+ var _validate2 = _interopRequireDefault(_validate);
48
+
49
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
50
+
51
+ /**
52
+ * Model base class for reading and writing to an API
53
+ *
54
+ * - persistence
55
+ * - validation
56
+ * - schema / seal
57
+ * - API error response handling
58
+ * - API success response hanlding
59
+ * - throws Exceptions
60
+ *
61
+ */
62
+
63
+ var _bindings = {
64
+ find: [],
65
+ save: []
66
+ };
67
+
68
+ /**
69
+ * This exists outside the class, solely because I have not
70
+ * figured out how to reference a static class method from an instance
71
+ * and also from a static function.
72
+ */
73
+ function connection() {
74
+ return _axios2.default.create({
75
+ baseURL: _index.Pixwel.endpoint,
76
+ headers: {
77
+ Authorization: "Basic " + _index.Pixwel.credentials.token,
78
+ Accept: "application/json",
79
+ "Content-Type": "application/json"
80
+ }
81
+ });
82
+ }
83
+
84
+ var Model = function () {
85
+ function Model(data) {
86
+ (0, _classCallCheck3.default)(this, Model);
87
+
88
+ (0, _assign2.default)(this, data);
89
+ this._name = 'model';
90
+ this._endpoint = _index.Pixwel.endpoint;
91
+ this._api = connection();
92
+ this._lastState = {};
93
+ this._validationErrors = [];
94
+ this._constraints = {};
95
+ }
96
+ /**
97
+ * Adds a validation contraint
98
+ *
99
+ * @param {string} name
100
+ * @param {object} data
101
+ */
102
+
103
+
104
+ (0, _createClass3.default)(Model, [{
105
+ key: "addConstraint",
106
+ value: function addConstraint(name, data) {
107
+ this._constraints[name] = data;
108
+ }
109
+ /**
110
+ * Validates models data against its contraints
111
+ */
112
+
113
+ }, {
114
+ key: "validates",
115
+ value: function validates() {
116
+ var res = (0, _validate2.default)(this.data(), this._constraints);
117
+ if (res == undefined) {
118
+ this._validationErrors = [];
119
+ } else {
120
+ this._validationErrors = res;
121
+ }
122
+ return res == undefined ? true : false;
123
+ }
124
+ }, {
125
+ key: "errors",
126
+ value: function errors() {
127
+ return this._validationErrors;
128
+ }
129
+ /**
130
+ * Makes a request to the API
131
+ *
132
+ * @param {object} config
133
+ */
134
+
135
+ }, {
136
+ key: "request",
137
+ value: function () {
138
+ var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(config) {
139
+ return _regenerator2.default.wrap(function _callee$(_context) {
140
+ while (1) {
141
+ switch (_context.prev = _context.next) {
142
+ case 0:
143
+ return _context.abrupt("return", this._api.request(config));
144
+
145
+ case 1:
146
+ case "end":
147
+ return _context.stop();
148
+ }
149
+ }
150
+ }, _callee, this);
151
+ }));
152
+
153
+ function request(_x) {
154
+ return _ref.apply(this, arguments);
155
+ }
156
+
157
+ return request;
158
+ }()
159
+ /**
160
+ * Returns data
161
+ */
162
+
163
+ }, {
164
+ key: "data",
165
+ value: function data() {
166
+ var _this = this;
167
+
168
+ var keys = (0, _keys2.default)(this).filter(function (key) {
169
+ // using underscore convention to not include private data
170
+ return key[0] != '_';
171
+ });
172
+ // deliberately adding _id back in even though it's "private"
173
+ keys.push('_id');
174
+ var data = {};
175
+ keys.forEach(function (key) {
176
+ data[key] = _this[key];
177
+ });
178
+ return data;
179
+ }
180
+ /**
181
+ * Register a callback to a model method
182
+ *
183
+ * @param {string} method
184
+ * @param {function} callback
185
+ */
186
+
187
+ }, {
188
+ key: "save",
189
+
190
+ /**
191
+ * Creates or updates a resource depennding on the presence
192
+ * of _id
193
+ *
194
+ * @param {object} data
195
+ */
196
+ value: function () {
197
+ var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
198
+ var _this2 = this;
199
+
200
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
201
+ var input, inputDiff;
202
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
203
+ while (1) {
204
+ switch (_context2.prev = _context2.next) {
205
+ case 0:
206
+ input = data.length ? data : this.data();
207
+
208
+ if (!input._id) {
209
+ _context2.next = 8;
210
+ break;
211
+ }
212
+
213
+ inputDiff = (0, _deepObjectDiff.diff)(this._lastState, input);
214
+ _context2.next = 5;
215
+ return this.update(input._id, inputDiff);
216
+
217
+ case 5:
218
+ this._lastState = _context2.sent;
219
+ _context2.next = 11;
220
+ break;
221
+
222
+ case 8:
223
+ _context2.next = 10;
224
+ return this.create(input);
225
+
226
+ case 10:
227
+ this._lastState = _context2.sent;
228
+
229
+ case 11:
230
+
231
+ // fires events with the result
232
+ _bindings.save.forEach(function (callback) {
233
+ callback(_this2._lastState);
234
+ });
235
+
236
+ return _context2.abrupt("return", this._lastState);
237
+
238
+ case 13:
239
+ case "end":
240
+ return _context2.stop();
241
+ }
242
+ }
243
+ }, _callee2, this);
244
+ }));
245
+
246
+ function save() {
247
+ return _ref2.apply(this, arguments);
248
+ }
249
+
250
+ return save;
251
+ }()
252
+ /**
253
+ * Merges incoming data into the model data
254
+ *
255
+ * @param {object} data
256
+ */
257
+
258
+ }, {
259
+ key: "set",
260
+ value: function set(data) {
261
+ return (0, _assign2.default)(this, data);
262
+ }
263
+ /**
264
+ * Returns a deep clone of the current object
265
+ */
266
+
267
+ }, {
268
+ key: "clone",
269
+ value: function clone() {
270
+ return (0, _lodash.cloneDeep)(this);
271
+ }
272
+ /**
273
+ * Fetches all objects in a collection given params
274
+ *
275
+ * @param {object} params
276
+ */
277
+
278
+ }, {
279
+ key: "create",
280
+
281
+ /**
282
+ * Creates a resource
283
+ *
284
+ * @param {string} name
285
+ * @param {object} data
286
+ */
287
+ value: function () {
288
+ var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(data) {
289
+ var url, res;
290
+ return _regenerator2.default.wrap(function _callee3$(_context3) {
291
+ while (1) {
292
+ switch (_context3.prev = _context3.next) {
293
+ case 0:
294
+ url = this._endpoint + "/" + this._resource;
295
+ _context3.next = 3;
296
+ return this._api.post(url, data, {
297
+ validateStatus: function validateStatus(status) {
298
+ return true;
299
+ }
300
+ });
301
+
302
+ case 3:
303
+ res = _context3.sent;
304
+ _context3.t0 = res.status;
305
+ _context3.next = _context3.t0 === 500 ? 7 : 8;
306
+ break;
307
+
308
+ case 7:
309
+ throw new Error("HTTP 500: POST " + url + ": " + res.data.type + " - " + res.data.message);
310
+
311
+ case 8:
312
+ (0, _assign2.default)(this, res.data);
313
+ return _context3.abrupt("return", res.data);
314
+
315
+ case 10:
316
+ case "end":
317
+ return _context3.stop();
318
+ }
319
+ }
320
+ }, _callee3, this);
321
+ }));
322
+
323
+ function create(_x3) {
324
+ return _ref3.apply(this, arguments);
325
+ }
326
+
327
+ return create;
328
+ }()
329
+ /**
330
+ * Updates a resource
331
+ *
332
+ * @param {string} name
333
+ * @param {object} data
334
+ */
335
+
336
+ }, {
337
+ key: "update",
338
+ value: function () {
339
+ var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {
340
+ var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
341
+ var data = arguments[1];
342
+ var currentId, url, res;
343
+ return _regenerator2.default.wrap(function _callee4$(_context4) {
344
+ while (1) {
345
+ switch (_context4.prev = _context4.next) {
346
+ case 0:
347
+ currentId = id || this._id;
348
+
349
+ if (currentId) {
350
+ _context4.next = 3;
351
+ break;
352
+ }
353
+
354
+ throw new Error("unable to update record without an _id");
355
+
356
+ case 3:
357
+ url = this._endpoint + "/" + this._resource + "/" + currentId;
358
+ _context4.next = 6;
359
+ return this._api.patch(url, data, {
360
+ validateStatus: function validateStatus(status) {
361
+ return true;
362
+ }
363
+ });
364
+
365
+ case 6:
366
+ res = _context4.sent;
367
+ _context4.t0 = res.status;
368
+ _context4.next = _context4.t0 === 500 ? 10 : _context4.t0 === 400 ? 11 : 12;
369
+ break;
370
+
371
+ case 10:
372
+ throw new Error("HTTP 500: PATCH " + url + ": " + res.data.type + " - " + res.data.message);
373
+
374
+ case 11:
375
+ throw new Error("HTTP 400: PATCH " + url + ": " + res.data.info.message + " - " + (0, _stringify2.default)(data));
376
+
377
+ case 12:
378
+ (0, _assign2.default)(this, res.data);
379
+ return _context4.abrupt("return", res.data);
380
+
381
+ case 14:
382
+ case "end":
383
+ return _context4.stop();
384
+ }
385
+ }
386
+ }, _callee4, this);
387
+ }));
388
+
389
+ function update() {
390
+ return _ref4.apply(this, arguments);
391
+ }
392
+
393
+ return update;
394
+ }()
395
+ /**
396
+ * Reads a resource
397
+ *
398
+ * @param {string} name
399
+ * @param {object} opts
400
+ */
401
+
402
+ }, {
403
+ key: "read",
404
+ value: function () {
405
+ var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {
406
+ var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
407
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
408
+ var currentId, url;
409
+ return _regenerator2.default.wrap(function _callee5$(_context5) {
410
+ while (1) {
411
+ switch (_context5.prev = _context5.next) {
412
+ case 0:
413
+ currentId = id || this._id;
414
+
415
+ if (currentId) {
416
+ _context5.next = 3;
417
+ break;
418
+ }
419
+
420
+ throw new Error("unable to read record without an _id");
421
+
422
+ case 3:
423
+ url = this._endpoint + "/" + this._resource + "/" + currentId;
424
+ return _context5.abrupt("return", this._api.get(url, opts).then(function (res) {
425
+ return res.data;
426
+ }));
427
+
428
+ case 5:
429
+ case "end":
430
+ return _context5.stop();
431
+ }
432
+ }
433
+ }, _callee5, this);
434
+ }));
435
+
436
+ function read() {
437
+ return _ref5.apply(this, arguments);
438
+ }
439
+
440
+ return read;
441
+ }()
442
+ /**
443
+ * Deletes a resource
444
+ *
445
+ * @param {string} name
446
+ * @param {string} id
447
+ */
448
+
449
+ }, {
450
+ key: "delete",
451
+ value: function () {
452
+ var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6() {
453
+ var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
454
+ var currentId, url;
455
+ return _regenerator2.default.wrap(function _callee6$(_context6) {
456
+ while (1) {
457
+ switch (_context6.prev = _context6.next) {
458
+ case 0:
459
+ currentId = id || this._id;
460
+
461
+ if (currentId) {
462
+ _context6.next = 3;
463
+ break;
464
+ }
465
+
466
+ throw new Error("unable to delete record without an _id");
467
+
468
+ case 3:
469
+ url = this._endpoint + "/" + this._resource + "/" + id;
470
+ return _context6.abrupt("return", this._api.delete(url).then(function (res) {
471
+ return res.data;
472
+ }));
473
+
474
+ case 5:
475
+ case "end":
476
+ return _context6.stop();
477
+ }
478
+ }
479
+ }, _callee6, this);
480
+ }));
481
+
482
+ function _delete() {
483
+ return _ref6.apply(this, arguments);
484
+ }
485
+
486
+ return _delete;
487
+ }()
488
+ }], [{
489
+ key: "registerCallback",
490
+ value: function registerCallback(method, callback) {
491
+ _bindings[method].push(callback);
492
+ }
493
+ }, {
494
+ key: "all",
495
+ value: function all() {
496
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
497
+
498
+ return this.find(params);
499
+ }
500
+ /**
501
+ * Finds an object or collection of objects
502
+ *
503
+ * @param {object} params
504
+ */
505
+
506
+ }, {
507
+ key: "find",
508
+ value: function () {
509
+ var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {
510
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
511
+ var api, url, id, res;
512
+ return _regenerator2.default.wrap(function _callee7$(_context7) {
513
+ while (1) {
514
+ switch (_context7.prev = _context7.next) {
515
+ case 0:
516
+ api = connection();
517
+ url = void 0;
518
+
519
+ if (typeof params === 'string') {
520
+ id = params;
521
+
522
+ url = this._resource + "/" + id;
523
+ params = {};
524
+ } else {
525
+ url = this._resource;
526
+ }
527
+
528
+ _context7.prev = 3;
529
+ _context7.next = 6;
530
+ return api.get(url, { params: params });
531
+
532
+ case 6:
533
+ res = _context7.sent;
534
+ _context7.next = 12;
535
+ break;
536
+
537
+ case 9:
538
+ _context7.prev = 9;
539
+ _context7.t0 = _context7["catch"](3);
540
+ throw new Error(_context7.t0.message + ": GET /" + url + " " + (0, _stringify2.default)(params));
541
+
542
+ case 12:
543
+
544
+ // fires events with the result
545
+ _bindings.find.forEach(function (callback) {
546
+ callback(res.data);
547
+ });
548
+
549
+ return _context7.abrupt("return", res.data);
550
+
551
+ case 14:
552
+ case "end":
553
+ return _context7.stop();
554
+ }
555
+ }
556
+ }, _callee7, this, [[3, 9]]);
557
+ }));
558
+
559
+ function find() {
560
+ return _ref7.apply(this, arguments);
561
+ }
562
+
563
+ return find;
564
+ }()
565
+ }]);
566
+ return Model;
567
+ }();
568
+
569
+ exports.default = Model;
package/dist/src/Order.js CHANGED
@@ -4,7 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
7
+ var _entries = require("babel-runtime/core-js/object/entries");
8
+
9
+ var _entries2 = _interopRequireDefault(_entries);
10
+
11
+ var _assign = require("babel-runtime/core-js/object/assign");
12
+
13
+ var _assign2 = _interopRequireDefault(_assign);
14
+
15
+ var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
16
+
17
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
18
+
19
+ var _createClass2 = require("babel-runtime/helpers/createClass");
20
+
21
+ var _createClass3 = _interopRequireDefault(_createClass2);
8
22
 
9
23
  var _lodash = require("lodash");
10
24
 
@@ -16,11 +30,9 @@ var _Filename2 = _interopRequireDefault(_Filename);
16
30
 
17
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
32
 
19
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
-
21
33
  var Order = function () {
22
34
  function Order(data) {
23
- _classCallCheck(this, Order);
35
+ (0, _classCallCheck3.default)(this, Order);
24
36
 
25
37
  var schema = {
26
38
  _id: null,
@@ -31,14 +43,14 @@ var Order = function () {
31
43
  language: null,
32
44
  dng: null
33
45
  };
34
- Object.assign(this, schema, data);
46
+ (0, _assign2.default)(this, schema, data);
35
47
  }
36
48
  /**
37
49
  * Determines if an order should be classified as 'dubbed' based on its dng values
38
50
  */
39
51
 
40
52
 
41
- _createClass(Order, [{
53
+ (0, _createClass3.default)(Order, [{
42
54
  key: "isDub",
43
55
  value: function isDub() {
44
56
  if (!this.dng) {
@@ -47,7 +59,7 @@ var Order = function () {
47
59
  if (this.dng.graphics && this.dng.graphics.includes('Dedicated / Localized')) {
48
60
  return false;
49
61
  }
50
- return _lodash2.default.flattenDeep(Object.entries(this.dng)).includes("Dedicated / Localized");
62
+ return _lodash2.default.flattenDeep((0, _entries2.default)(this.dng)).includes("Dedicated / Localized");
51
63
  }
52
64
  /**
53
65
  * Determines in an order should be classified as 'subbed' based on its dng values
@@ -60,10 +72,9 @@ var Order = function () {
60
72
  return null;
61
73
  }
62
74
  if (this.dng === 'Graphics Only') return false;
63
- return _lodash2.default.flattenDeep(Object.entries(this.dng)).includes("Subtitled");
75
+ return _lodash2.default.flattenDeep((0, _entries2.default)(this.dng)).includes("Subtitled");
64
76
  }
65
77
  }]);
66
-
67
78
  return Order;
68
79
  }();
69
80
 
package/dist/src/Srt.js CHANGED
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
+ var _assign = require('babel-runtime/core-js/object/assign');
8
+
9
+ var _assign2 = _interopRequireDefault(_assign);
10
+
7
11
  var _lodash = require('lodash');
8
12
 
9
13
  var _lodash2 = _interopRequireDefault(_lodash);
@@ -66,7 +70,7 @@ exports.default = {
66
70
  subText += subText ? "\n" + line : line;
67
71
  return;
68
72
  }
69
- result.push(Object.assign(time(subTime), {
73
+ result.push((0, _assign2.default)(time(subTime), {
70
74
  text: subText
71
75
  }));
72
76
  subText = '';
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
8
+
9
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
10
+
11
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
12
+
13
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
14
+
15
+ var _createClass2 = require('babel-runtime/helpers/createClass');
16
+
17
+ var _createClass3 = _interopRequireDefault(_createClass2);
18
+
19
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
20
+
21
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
22
+
23
+ var _inherits2 = require('babel-runtime/helpers/inherits');
24
+
25
+ var _inherits3 = _interopRequireDefault(_inherits2);
26
+
27
+ var _Model2 = require('./Model');
28
+
29
+ var _Model3 = _interopRequireDefault(_Model2);
30
+
31
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
+
33
+ var Tag = function (_Model) {
34
+ (0, _inherits3.default)(Tag, _Model);
35
+
36
+ function Tag(data) {
37
+ (0, _classCallCheck3.default)(this, Tag);
38
+
39
+ var _this = (0, _possibleConstructorReturn3.default)(this, (Tag.__proto__ || (0, _getPrototypeOf2.default)(Tag)).call(this, data));
40
+
41
+ _this._resource = 'tags';
42
+ return _this;
43
+ }
44
+
45
+ (0, _createClass3.default)(Tag, null, [{
46
+ key: '_resource',
47
+ get: function get() {
48
+ return 'tags';
49
+ }
50
+ }]);
51
+ return Tag;
52
+ }(_Model3.default);
53
+
54
+ exports.default = Tag;