@builttocreate/engine-utils 2.1.0 → 2.2.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.
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getDocumentFromTemplate = exports.getDefaultTemplate = exports.getDefaultJoyDocPage = exports.getDefaultJoyDocFile = exports.getDefaultJoyDoc = exports.getDefaultDocument = exports.getCleanedJoyDocPages = exports.getCleanedJoyDoc = exports["default"] = void 0;
8
+ exports.getDocumentFromTemplate = exports.getDefaultTemplate = exports.getDefaultJoyDocPage = exports.getDefaultJoyDocFile = exports.getDefaultJoyDoc = exports.getDefaultDocument = exports.getCleanedJoyDocPages = exports.getCleanedJoyDoc = exports.duplicate = exports["default"] = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -247,6 +247,29 @@ var getDefaultTemplate = function getDefaultTemplate() {
247
247
  name: name
248
248
  });
249
249
  };
250
+ /**
251
+ * Get a properly formatted duplicate of a Template or Document
252
+ *
253
+ * @returns {Object}
254
+ */
255
+
256
+
257
+ exports.getDefaultTemplate = getDefaultTemplate;
258
+
259
+ var duplicate = function duplicate(original, defaults) {
260
+ //Remove all references to original template object
261
+ var origin = JSON.parse(JSON.stringify(original));
262
+
263
+ var _id = (0, _generateObjectId["default"])();
264
+
265
+ var identifier = origin.type === _DocumentTypes["default"].template ? "template_".concat(_id) : "doc_".concat(_id);
266
+ return _objectSpread(_objectSpread({}, origin), {}, {
267
+ _id: _id,
268
+ identifier: identifier,
269
+ createdOn: new Date().getTime(),
270
+ source: origin.identifier
271
+ }, defaults);
272
+ };
250
273
  /**
251
274
  * Get a properly formatted Document JoyDoc from Template JoyDoc
252
275
  *
@@ -255,7 +278,7 @@ var getDefaultTemplate = function getDefaultTemplate() {
255
278
  */
256
279
 
257
280
 
258
- exports.getDefaultTemplate = getDefaultTemplate;
281
+ exports.duplicate = duplicate;
259
282
 
260
283
  var getDocumentFromTemplate = function getDocumentFromTemplate(template) {
261
284
  var _id = (0, _generateObjectId["default"])();
@@ -284,6 +307,7 @@ var _default = {
284
307
  getCleanedJoyDocPages: getCleanedJoyDocPages,
285
308
  getDefaultDocument: getDefaultDocument,
286
309
  getDefaultTemplate: getDefaultTemplate,
287
- getDocumentFromTemplate: getDocumentFromTemplate
310
+ getDocumentFromTemplate: getDocumentFromTemplate,
311
+ duplicate: duplicate
288
312
  };
289
313
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builttocreate/engine-utils",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Utility library for common logic shared across web and mobile",
5
5
  "main": "dist/index.js",
6
6
  "files": [