@fluid-experimental/property-properties 1.1.0 → 1.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.
Files changed (34) hide show
  1. package/dist/properties/abstractStaticCollectionProperty.d.ts +1 -1
  2. package/dist/properties/abstractStaticCollectionProperty.js +1 -1
  3. package/dist/properties/abstractStaticCollectionProperty.js.map +1 -1
  4. package/dist/properties/arrayProperty.d.ts +2 -1
  5. package/dist/properties/arrayProperty.d.ts.map +1 -1
  6. package/dist/properties/arrayProperty.js +5 -2
  7. package/dist/properties/arrayProperty.js.map +1 -1
  8. package/dist/properties/mapProperty.d.ts +2 -1
  9. package/dist/properties/mapProperty.d.ts.map +1 -1
  10. package/dist/properties/mapProperty.js +4 -2
  11. package/dist/properties/mapProperty.js.map +1 -1
  12. package/dist/properties/setProperty.d.ts +1 -1
  13. package/dist/properties/setProperty.js +2 -2
  14. package/dist/properties/setProperty.js.map +1 -1
  15. package/dist/properties/stringProperty.js +1 -1
  16. package/dist/properties/stringProperty.js.map +1 -1
  17. package/dist/test/tsconfig.tsbuildinfo +1 -1
  18. package/lib/properties/abstractStaticCollectionProperty.d.ts +1 -1
  19. package/lib/properties/abstractStaticCollectionProperty.js +1 -1
  20. package/lib/properties/abstractStaticCollectionProperty.js.map +1 -1
  21. package/lib/properties/arrayProperty.d.ts +2 -1
  22. package/lib/properties/arrayProperty.d.ts.map +1 -1
  23. package/lib/properties/arrayProperty.js +5 -2
  24. package/lib/properties/arrayProperty.js.map +1 -1
  25. package/lib/properties/mapProperty.d.ts +2 -1
  26. package/lib/properties/mapProperty.d.ts.map +1 -1
  27. package/lib/properties/mapProperty.js +4 -2
  28. package/lib/properties/mapProperty.js.map +1 -1
  29. package/lib/properties/setProperty.d.ts +1 -1
  30. package/lib/properties/setProperty.js +2 -2
  31. package/lib/properties/setProperty.js.map +1 -1
  32. package/lib/properties/stringProperty.js +1 -1
  33. package/lib/properties/stringProperty.js.map +1 -1
  34. package/package.json +4 -4
@@ -78,7 +78,7 @@ export class AbstractStaticCollectionProperty extends BaseProperty {
78
78
  /**
79
79
  * Given an object that mirrors a PSet Template, assigns the properties to the values
80
80
  * found in that object.
81
- * @see {setValues}
81
+ * See {@link setValues}
82
82
  * @param {object} in_values The object containing the nested values to assign
83
83
  * @param {boolean} in_typed Whether the values are typed/polymorphic.
84
84
  * @param {boolean} in_initial - Whether we are setting default/initial values
@@ -313,7 +313,7 @@ class AbstractStaticCollectionProperty extends BaseProperty {
313
313
  /**
314
314
  * Given an object that mirrors a PSet Template, assigns the properties to the values
315
315
  * found in that object.
316
- * @see {setValues}
316
+ * See {@link setValues}
317
317
  * @param {object} in_values The object containing the nested values to assign
318
318
  * @param {boolean} in_typed Whether the values are typed/polymorphic.
319
319
  * @param {boolean} in_initial - Whether we are setting default/initial values
@@ -1 +1 @@
1
- {"version":3,"file":"abstractStaticCollectionProperty.js","sourceRoot":"","sources":["../../src/properties/abstractStaticCollectionProperty.js"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nconst _ = require('lodash');\nconst { ConsoleUtils, constants } = require('@fluid-experimental/property-common');\nconst { PathHelper, ChangeSet } = require('@fluid-experimental/property-changeset');\nconst { BaseProperty } = require('./baseProperty');\nconst { LazyLoadedProperties: Property } = require('./lazyLoadedProperties');\n\nconst { MSG, PROPERTY_PATH_DELIMITER } = constants;\nconst { BREAK_TRAVERSAL, PATH_TOKENS } = BaseProperty;\n/**\n * This class serves as a view to read, write and listen to changes in an\n * object's value field. To do this we simply keep a pointer to the object and\n * its associated data field that we are interested in. If no data field is\n * present this property will fail constructing.\n */\n\nexport class AbstractStaticCollectionProperty extends BaseProperty {\n /**\n * @param {Object=} in_params - the parameters\n * @protected\n */\n constructor(in_params) {\n super(in_params);\n\n // internal management\n if (!this._staticChildren) {\n this._staticChildren = {};\n }\n this._constantChildren = {};\n }\n\n /**\n * Returns the sub-property having the given name, or following the given paths, in this property.\n *\n * @param {string|number|array<string|number>} in_ids the ID or IDs of the property or an array of IDs\n * if an array is passed, the .get function will be performed on each id in sequence\n * for example .get(['position','x']) is equivalent to .get('position').get('x').\n * If .get resolves to a ReferenceProperty, it will, by default, return the property that the\n * ReferenceProperty refers to.\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n *\n * @throws if an in_id is neither a string or an array of strings and numbers.\n * @return {property-properties.BaseProperty | undefined} The property you seek or undefined if none is found.\n */\n get(in_ids, in_options) {\n in_options = _.isObject(in_options) ? in_options : {};\n in_options.referenceResolutionMode =\n in_options.referenceResolutionMode === undefined ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n in_options.referenceResolutionMode;\n\n var prop = this;\n if (typeof in_ids === 'string' ||\n typeof in_ids === 'number') {\n prop = this._get(in_ids);\n if (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.ALWAYS) {\n if (prop instanceof Property.ReferenceProperty) {\n prop = prop.ref;\n }\n }\n } else if (_.isArray(in_ids)) {\n for (var i = 0; i < in_ids.length && prop; i++) {\n var mode = in_options.referenceResolutionMode;\n // do not do anything with token itself, only changes behavior of path preceding the token;\n if (in_ids[i] === PATH_TOKENS.REF) {\n continue;\n }\n if (mode === BaseProperty.REFERENCE_RESOLUTION.NO_LEAFS) {\n mode = i !== in_ids.length - 1 ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n BaseProperty.REFERENCE_RESOLUTION.NEVER;\n }\n if (in_ids[i - 1] === PATH_TOKENS.REF ||\n in_ids[i + 1] === PATH_TOKENS.REF) {\n mode = BaseProperty.REFERENCE_RESOLUTION.NEVER;\n }\n prop = prop.get(in_ids[i], { referenceResolutionMode: mode });\n if (prop === undefined && i < in_ids.length - 1) {\n return undefined;\n }\n }\n } else if (in_ids === PATH_TOKENS.ROOT) {\n prop = prop.getRoot();\n } else if (in_ids === PATH_TOKENS.UP) {\n prop = prop.getParent();\n } else if (in_ids === PATH_TOKENS.REF) {\n throw new Error(MSG.NO_GET_DEREFERENCE_ONLY);\n } else {\n throw new Error(MSG.STRING_OR_ARRAY_STRINGS + in_ids);\n }\n\n return prop;\n }\n\n /**\n * Returns the sub-property having the given name in this property.\n *\n * @param {string|number} in_id the id of the prop you wish to retrieve.\n *\n * @return {property-properties.BaseProperty | undefined} The property you seek or undefined if none is found.\n */\n _get(in_id) {\n return this._staticChildren[in_id] || this._constantChildren[in_id];\n }\n\n /**\n * Returns a string identifying the property\n *\n * If an id has been explicitly set on this property we return that one, otherwise the GUID is used.\n *\n * @return {string} String identifying the property\n */\n getId() {\n if (this._id !== null) {\n return this._id;\n } else {\n return this.getGuid();\n }\n }\n\n /**\n * Returns the GUID of this named property\n * A Guid is a unique identifier for a branch, commit or repository,\n * similar to a URN. Most functions in the API will us a URN but the\n * Guid is used to traverse the commit graph.\n * @return {string} The GUID\n */\n getGuid() {\n var guid = this.get('guid', { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n return guid ? guid.value : undefined;\n }\n\n /**\n * returns the value of a sub-property\n * This is a shortcut for .get(in_ids, in_options).getValue()\n * @param {string|number|Array<string|number>} in_ids the ID or IDs of the property or an array of IDs\n * if an array is passed, the .get function will be performed on each id in sequence\n * for example .getValue(['position','x']) is equivalent to .get('position').get('x').getValue().\n * If at any point .get resolves to a ReferenceProperty, it will, by default, return the property that the\n * ReferenceProperty refers to.\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n * @throws if the in_ids does not resolve to a ValueProperty or StringProperty\n * @throws if in_ids is not a string or an array of strings or numbers.\n * @return {*} The value of the given sub-property\n */\n getValue(in_ids, in_options) {\n var property = this.get(in_ids, in_options);\n ConsoleUtils.assert((property instanceof Property.ValueProperty || property instanceof Property.StringProperty),\n MSG.GET_VALUE_NOT_A_VALUE + in_ids);\n return property.getValue();\n }\n\n /**\n * Get all sub-properties of the current property.\n * Caller MUST NOT modify the properties.\n * If entries include References, it will return the reference (will not automatically resolve the reference)\n * @return {Object.<property-properties.BaseProperty>} An object containing all the properties\n */\n getEntriesReadOnly() {\n /* Note that the implementation is voluntarily generic so that derived classes\n should not have to redefine this function. */\n var res = {};\n var ids = this.getIds();\n for (var i = 0; i < ids.length; i++) {\n res[ids[i]] = this.get(ids[i], { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n }\n return res;\n }\n\n /**\n * Returns the name of all the sub-properties of this property.\n *\n * @return {Array.<string>} An array of all the property ids\n */\n getIds() {\n return this._getIds();\n }\n\n /**\n * Returns the name of all the sub-properties of this property.\n *\n * @return {Array.<string>} An array of all the property ids\n */\n _getIds() {\n return Object.keys(this._staticChildren).concat(Object.keys(this._constantChildren));\n }\n\n /**\n * Returns an object with all the nested values contained in this property\n * @return {object} an object representing the values of your property\n * for example: {\n * position: {\n * x: 2,\n * y: 5\n * }\n * }\n */\n getValues() {\n var ids = this._getIds();\n var result = {};\n for (var i = 0; i < ids.length; i++) {\n var child = this.get(ids[i]);\n if (_.isUndefined(child)) {\n result[ids[i]] = undefined;\n } else if (child._context === 'single' && child.isPrimitiveType()) {\n result[ids[i]] = child.getValue();\n } else {\n result[ids[i]] = child.getValues();\n }\n }\n return result;\n }\n\n /**\n * Checks whether a property with the given name exists\n *\n * @param {string} in_id - Name of the property\n * @return {boolean} True if the property exists. Otherwise false.\n */\n has(in_id) {\n return this._get(in_id) !== undefined;\n }\n\n /**\n * Expand a path returning the property or value at the end.\n *\n * @param {string} in_path the path\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n * @throws if in_path is not a valid path\n * @return {property-properties.BaseProperty|undefined|*} resolved path\n */\n resolvePath(in_path, in_options) {\n in_options = in_options || {};\n in_options.referenceResolutionMode =\n in_options.referenceResolutionMode === undefined ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n in_options.referenceResolutionMode;\n\n var node = this;\n\n // Tokenize the path string\n var tokenTypes = [];\n var pathArr = PathHelper.tokenizePathString(in_path, tokenTypes);\n\n // Return to the repository root, if the path starts with a root token (a / )\n var iterationStart = 0;\n if (pathArr.length > 0) {\n if (tokenTypes[0] === PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN) {\n node = this.getRoot();\n iterationStart = 1;\n } else if (tokenTypes[0] === PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN) {\n for (var j = 0; j < pathArr.length; j++) {\n if (tokenTypes[j] === PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN) {\n var parent = node.getParent();\n if (parent) {\n node = parent;\n } else {\n return undefined;\n }\n iterationStart++;\n }\n }\n }\n }\n\n for (var i = iterationStart; i < pathArr.length && node; i++) {\n if (tokenTypes[i] !== PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN) {\n node = node._resolvePathSegment(pathArr[i], tokenTypes[i]);\n if (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.ALWAYS ||\n (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.NO_LEAFS &&\n i !== pathArr.length - 1)) {\n if (node instanceof Property.ReferenceProperty) {\n if (tokenTypes[i + 1] !== PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN) {\n // recursive function to resolve nested reference properties\n node = node.ref;\n }\n }\n }\n }\n }\n return node;\n }\n\n /**\n * Returns the path segment for a child\n *\n * @param {property-properties.BaseProperty} in_childNode - The child for which the path is returned\n *\n * @return {string} The path segment to resolve the child property under this property\n * @protected\n */\n _getPathSegmentForChildNode(in_childNode) {\n return PROPERTY_PATH_DELIMITER + PathHelper.quotePathSegmentIfNeeded(in_childNode.getId());\n }\n\n /**\n * Resolves a direct child node based on the given path segment\n *\n * @param {String} in_segment - The path segment to resolve\n * @param {property-properties.PathHelper.TOKEN_TYPES} in_segmentType - The type of segment in the tokenized path\n *\n * @return {property-properties.BaseProperty|undefined} The child property that has been resolved\n * @protected\n */\n _resolvePathSegment(in_segment, in_segmentType) {\n // Base Properties only support paths separated via dots\n if (in_segmentType !== PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN) {\n throw new Error(MSG.INVALID_PATH_TOKEN + in_segment);\n }\n\n if (this.has(in_segment)) {\n return this.get(in_segment, { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n } else {\n return undefined;\n }\n }\n\n /**\n * Given an object that mirrors a PSet Template, assigns the properties to the values\n * found in that object.\n * @see {setValues}\n * @param {object} in_values The object containing the nested values to assign\n * @param {boolean} in_typed Whether the values are typed/polymorphic.\n * @param {boolean} in_initial - Whether we are setting default/initial values\n or if the function is called directly with the values to set.\n */\n _setValues(in_values, in_typed, in_initial) {\n ConsoleUtils.assert(_.isObject(in_values), MSG.SET_VALUES_PARAM_NOT_OBJECT);\n\n var that = this;\n var keys = Object.keys(in_values);\n\n for (var i = 0; i < keys.length; i++) {\n var propertyKey = keys[i];\n var propertyValue = in_values[propertyKey];\n var property = that.get(propertyKey, { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n\n if (property instanceof Property.ValueProperty || property instanceof Property.StringProperty) {\n property.setValue(propertyValue);\n } else if (property instanceof BaseProperty && _.isObject(propertyValue)) {\n property._setValues(propertyValue, in_typed, in_initial);\n } else if (property instanceof BaseProperty) {\n const typeid = property.getTypeid();\n throw new Error(MSG.SET_VALUES_PATH_PROPERTY + propertyKey + ', of type: ' + typeid);\n } else if (property === undefined) {\n throw new Error(MSG.SET_VALUES_PATH_INVALID + propertyKey);\n }\n }\n }\n\n /**\n * Given an object that mirrors a PSet Template, assigns the properties to the values\n * found in that object.\n * eg.\n * <pre>\n * Templates = {\n * properties: [\n * { id: 'foo', typeid: 'String' },\n * { id: 'bar', properties: [{id: 'baz', typeid: 'Uint32'}] }\n * ]\n * }\n * </pre>\n *\n * @param {object} in_values The object containing the nested values to assign\n * @throws if in_values is not an object (or in the case of ArrayProperty, an array)\n * @throws if one of the path in in_values does not correspond to a path in that property\n * @throws if one of the path to a value in in_values leads to a property in this property.\n */\n setValues(in_values) {\n var checkoutView = this._getCheckoutView();\n if (checkoutView !== undefined) {\n checkoutView.pushNotificationDelayScope();\n AbstractStaticCollectionProperty.prototype._setValues.call(this, in_values, false, false);\n checkoutView.popNotificationDelayScope();\n } else {\n AbstractStaticCollectionProperty.prototype._setValues.call(this, in_values, false, false);\n }\n }\n\n /**\n * Append a child property\n *\n * This is an internal function, called by the PropertyFactory when instantiating a template and internally by the\n * NodeProperty. Adding children dynamically by the user is only allowed in the NodeProperty.\n *\n * @param {property-properties.BaseProperty} in_property the property to append\n * @param {boolean} in_allowChildMerges - Whether merging of children (nested properties) is allowed.\n * This is used for extending inherited properties.\n * @protected\n * @throws {OVERWRITING_ID} - Thrown when adding a property with an existing id.\n * @throws {OVERRIDDING_INHERITED_TYPES} - Thrown when overriding inherited typed properties.\n */\n _append(in_property, in_allowChildMerges) {\n var id = in_property.getId();\n if (this._staticChildren[id] === undefined) {\n this._staticChildren[id] = in_property;\n in_property._setParent(this);\n } else {\n if (!in_allowChildMerges) {\n throw new Error(MSG.OVERWRITING_ID + id);\n }\n\n // if child is untyped then merge its properties\n if (this._staticChildren[id].getTypeid() === 'AbstractStaticCollectionProperty' &&\n this._staticChildren[id].getContext() === 'single') {\n // if the property's type is different than the child type, throw error.\n if (this._staticChildren[id].getTypeid() !== in_property.getTypeid()) {\n throw new Error(MSG.OVERRIDDING_INHERITED_TYPES + id);\n }\n\n this._staticChildren[id]._merge(in_property);\n } else {\n throw new Error(MSG.OVERRIDDING_INHERITED_TYPES + id);\n }\n }\n }\n\n /**\n * Merge child properties\n *\n * This is an internal function that merges children of two properties.\n * This is used for extending inherited properties.\n *\n * @param {property-properties.BaseProperty} in_property the property to merge its children (nested properties) with.\n * @protected\n */\n _merge(in_property) {\n var keys = Object.keys(in_property._staticChildren);\n\n for (var i = 0; i < keys.length; i++) {\n this._append(in_property._staticChildren[keys[i]], true);\n }\n }\n\n /**\n * @inheritdoc\n */\n _getDirtyChildren(in_flags) {\n var flags = in_flags === undefined ? ~BaseProperty.MODIFIED_STATE_FLAGS.CLEAN : in_flags;\n var rtn = [];\n var childKeys = _.keys(this._staticChildren);\n for (var i = 0; i < childKeys.length; i++) {\n if ((this._get(childKeys[i])._isDirty(flags)) !== 0) {\n rtn.push(childKeys[i]);\n }\n }\n\n return rtn;\n }\n\n /**\n * Traverses the property hierarchy downwards until all child properties are reached\n *\n * @param {Function} in_callback - Callback to invoke for each property. The traversal can be stopped\n * by returning BaseProperty.BREAK_TRAVERSAL\n * @throws if in_callback is not a function.\n * @return {string|undefined} Returns BaseProperty.BREAK_TRAVERSAL if the traversal has been interrupted,\n * otherwise undefined\n */\n traverseDown(in_callback) {\n ConsoleUtils.assert(_.isFunction(in_callback), MSG.CALLBACK_NOT_FCT);\n return this._traverse(in_callback, '');\n }\n\n /**\n * Traverses all children in the child hierarchy\n * TODO: How should this behave for collections?\n *\n * @param {function} in_callback - Callback to invoke for every child\n * @param {string} in_pathFromTraversalStart - Path from the root of the traversal to this node\n * @return {string|undefined} Returns BaseProperty.BREAK_TRAVERSAL if the traversal has been interrupted,\n * otherwise undefined\n * @private\n */\n _traverse(in_callback, in_pathFromTraversalStart) {\n if (in_pathFromTraversalStart) {\n in_pathFromTraversalStart += PROPERTY_PATH_DELIMITER;\n }\n\n var childKeys, child, childPath, result, i;\n\n childKeys = this._getIds();\n for (i = 0; i < childKeys.length; i++) {\n child = this._get(childKeys[i]);\n childPath = in_pathFromTraversalStart + PathHelper.quotePathSegmentIfNeeded(child.getId());\n\n result = in_callback(child, childPath);\n if (result !== BREAK_TRAVERSAL) {\n result = child._traverse(in_callback, childPath);\n if (result !== BREAK_TRAVERSAL) {\n continue;\n }\n }\n return BREAK_TRAVERSAL;\n }\n\n return undefined;\n }\n\n /**\n * Traverses all static properties (properties declared in the template and not added dynamically) in the\n * hierarchy below this node\n *\n * @param {function} in_callback - Callback to invoke for every property\n * @param {string?} in_pathFromTraversalStart - Path from the root of the traversal to this node\n * @protected\n */\n _traverseStaticProperties(in_callback,\n in_pathFromTraversalStart) {\n in_pathFromTraversalStart = in_pathFromTraversalStart || '';\n var propertyKeys = _.keys(this._staticChildren);\n for (var i = 0; i < propertyKeys.length; i++) {\n var property = this._staticChildren[propertyKeys[i]];\n var childPath = in_pathFromTraversalStart +\n (in_pathFromTraversalStart.length !== 0 ? PROPERTY_PATH_DELIMITER : '') +\n PathHelper.quotePathSegmentIfNeeded(property.getId());\n\n // We only recursively traverse ContainerProperties, since these are used to define the hierarchy within\n // one template\n if ((property.getTypeid() === 'AbstractStaticCollectionProperty' ||\n property.getTypeid() === 'ContainerProperty') &&\n property.getContext() === 'single') {\n property._traverseStaticProperties(in_callback, childPath);\n }\n in_callback(property, childPath);\n }\n }\n\n /**\n * Serialize the property into a changeSet\n *\n * @param {boolean} in_dirtyOnly -\n * Only include dirty entries in the serialization\n * @param {boolean} in_includeRootTypeid -\n * Include the typeid of the root of the hierarchy\n * @param {property-properties.BaseProperty.MODIFIED_STATE_FLAGS} [in_dirtinessType] -\n * The type of dirtiness to use when reporting dirty changes. By default this is\n * PENDING_CHANGE\n * @param {boolean} [in_includeReferencedRepositories=false] - If this is set to true, the serialize\n * function will descend into referenced repositories. WARNING: if there are loops in the references\n * this can result in an infinite loop\n *\n * @return {Object} The serialized representation of this property\n * @private\n */\n _serialize(in_dirtyOnly,\n in_includeRootTypeid,\n in_dirtinessType,\n in_includeReferencedRepositories) {\n var serializedChildren = {};\n var childrenType;\n\n in_dirtyOnly = in_dirtyOnly || false;\n in_dirtinessType = in_dirtinessType === undefined ?\n BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE : in_dirtinessType;\n\n this._traverseStaticProperties(function(in_node, in_pathFromTraversalStart) {\n if (in_dirtyOnly && !in_node._isDirty(in_dirtinessType)) {\n return;\n }\n\n childrenType = in_node.getFullTypeid();\n\n if (childrenType !== 'AbstractStaticCollectionProperty' &&\n childrenType !== 'ContainerProperty') { // we don't want to keep BaseProperties\n // as they mostly behave as 'paths' to\n // a ValueProperty.\n var serialized = in_node._serialize(in_dirtyOnly,\n false,\n in_dirtinessType,\n in_includeReferencedRepositories);\n\n // Add the root typeid if requested\n if (!ChangeSet.isEmptyChangeSet(serialized) || !in_dirtyOnly) {\n if (!serializedChildren[childrenType]) {\n serializedChildren[childrenType] = {};\n }\n serializedChildren[childrenType][in_pathFromTraversalStart] = serialized;\n }\n }\n });\n\n if (in_includeRootTypeid) {\n serializedChildren['typeid'] = this.getFullTypeid();\n }\n\n return serializedChildren;\n }\n\n /**\n * Sets the property to the state in the given normalized changeset\n *\n * @param { property-changeset.SerializedChangeSet} in_serializedObj - The serialized changeset to apply to this node. This\n * has to be an normalized change-set (only containing additions and property assignments. Deletes and Modify\n * must not appear)\n * @param {boolean} [in_reportToView = true] - By default, the dirtying will always be reported to the checkout view\n * and trigger a modified event there. When batching updates, this\n * can be prevented via this flag.\n * @return {property-changeset.SerializedChangeSet} ChangeSet with the changes that actually were performed during the\n * deserialization\n */\n _deserialize(in_serializedObj, in_reportToView) {\n var changeSet = {};\n\n // Traverse all properties of this template\n this._traverseStaticProperties(function(in_node, in_pathFromTraversalStart) {\n // We do not deserialize base properties, since the traverseStatic function\n // already traverses recursively\n if (in_node.getTypeid() === 'ContainerProperty' && in_node.getContext() === 'single') {\n return;\n }\n\n var typeid = in_node.getFullTypeid();\n\n // Get the ChangeSet\n // If there is a ChangeSet in the serialized object, we use that as the\n // target ChangeSet, otherwise we use an empty ChangeSet (since properties with\n // empty Sub-ChangeSets are removed from the parent ChangeSet, we have to\n // explicitly use an empty ChangeSet for those)\n var propertyChangeSet = {};\n if (in_serializedObj[typeid] !== undefined &&\n in_serializedObj[typeid][in_pathFromTraversalStart] !== undefined) {\n propertyChangeSet = in_serializedObj[typeid][in_pathFromTraversalStart];\n }\n\n // Deserialize the ChangeSet into the property\n var changes = in_node._deserialize(propertyChangeSet, false);\n\n // And track the performed modification in the result\n if (!ChangeSet.isEmptyChangeSet(changes)) {\n changeSet[typeid] = changeSet[typeid] || {};\n changeSet[typeid][in_pathFromTraversalStart] = changes;\n }\n });\n\n // Finally report the dirtiness to the view (we postponed this above)\n if (in_reportToView) {\n this._reportDirtinessToView();\n }\n return changeSet;\n }\n\n /**\n * Get a flattened, tree like representation of this object and all of it's\n * descendants. The flattening will stop at primitive properties and collections.\n *\n * For non-leaf nodes, it is possible to access the corresponding node object itself via the\n * propertyNode member of the flattened representation (warning, this will overwrite a\n * property of this name).\n * TODO: Do we want to have this feature or is it to dangerous?\n *\n * @return {Object} the flat representation\n * @private\n */\n _flatten() {\n var flattenedRepresentation = {};\n var keys = this._getIds();\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var child = this._get(key);\n if (!child._isFlattenLeaf()) {\n flattenedRepresentation[key] = child._flatten();\n } else {\n flattenedRepresentation[key] = child;\n }\n }\n\n flattenedRepresentation.propertyNode = this;\n\n return flattenedRepresentation;\n }\n\n /**\n * Returns the number of children this node has\n * @return {number} The number of children\n * @private\n */\n _getChildrenCount() {\n return this._getIds().length;\n }\n\n /**\n * Sets constants\n * @param {Object} in_constants - The list of typed values.\n */\n _setConstants(in_constants) {\n ConsoleUtils.assert(_.isObject(in_constants), MSG.ASSERTION_FAILED +\n ' setConstants parameter: in_constants must be an object.');\n this._constantChildren = in_constants;\n }\n}\n"]}
1
+ {"version":3,"file":"abstractStaticCollectionProperty.js","sourceRoot":"","sources":["../../src/properties/abstractStaticCollectionProperty.js"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nconst _ = require('lodash');\nconst { ConsoleUtils, constants } = require('@fluid-experimental/property-common');\nconst { PathHelper, ChangeSet } = require('@fluid-experimental/property-changeset');\nconst { BaseProperty } = require('./baseProperty');\nconst { LazyLoadedProperties: Property } = require('./lazyLoadedProperties');\n\nconst { MSG, PROPERTY_PATH_DELIMITER } = constants;\nconst { BREAK_TRAVERSAL, PATH_TOKENS } = BaseProperty;\n/**\n * This class serves as a view to read, write and listen to changes in an\n * object's value field. To do this we simply keep a pointer to the object and\n * its associated data field that we are interested in. If no data field is\n * present this property will fail constructing.\n */\n\nexport class AbstractStaticCollectionProperty extends BaseProperty {\n /**\n * @param {Object=} in_params - the parameters\n * @protected\n */\n constructor(in_params) {\n super(in_params);\n\n // internal management\n if (!this._staticChildren) {\n this._staticChildren = {};\n }\n this._constantChildren = {};\n }\n\n /**\n * Returns the sub-property having the given name, or following the given paths, in this property.\n *\n * @param {string|number|array<string|number>} in_ids the ID or IDs of the property or an array of IDs\n * if an array is passed, the .get function will be performed on each id in sequence\n * for example .get(['position','x']) is equivalent to .get('position').get('x').\n * If .get resolves to a ReferenceProperty, it will, by default, return the property that the\n * ReferenceProperty refers to.\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n *\n * @throws if an in_id is neither a string or an array of strings and numbers.\n * @return {property-properties.BaseProperty | undefined} The property you seek or undefined if none is found.\n */\n get(in_ids, in_options) {\n in_options = _.isObject(in_options) ? in_options : {};\n in_options.referenceResolutionMode =\n in_options.referenceResolutionMode === undefined ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n in_options.referenceResolutionMode;\n\n var prop = this;\n if (typeof in_ids === 'string' ||\n typeof in_ids === 'number') {\n prop = this._get(in_ids);\n if (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.ALWAYS) {\n if (prop instanceof Property.ReferenceProperty) {\n prop = prop.ref;\n }\n }\n } else if (_.isArray(in_ids)) {\n for (var i = 0; i < in_ids.length && prop; i++) {\n var mode = in_options.referenceResolutionMode;\n // do not do anything with token itself, only changes behavior of path preceding the token;\n if (in_ids[i] === PATH_TOKENS.REF) {\n continue;\n }\n if (mode === BaseProperty.REFERENCE_RESOLUTION.NO_LEAFS) {\n mode = i !== in_ids.length - 1 ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n BaseProperty.REFERENCE_RESOLUTION.NEVER;\n }\n if (in_ids[i - 1] === PATH_TOKENS.REF ||\n in_ids[i + 1] === PATH_TOKENS.REF) {\n mode = BaseProperty.REFERENCE_RESOLUTION.NEVER;\n }\n prop = prop.get(in_ids[i], { referenceResolutionMode: mode });\n if (prop === undefined && i < in_ids.length - 1) {\n return undefined;\n }\n }\n } else if (in_ids === PATH_TOKENS.ROOT) {\n prop = prop.getRoot();\n } else if (in_ids === PATH_TOKENS.UP) {\n prop = prop.getParent();\n } else if (in_ids === PATH_TOKENS.REF) {\n throw new Error(MSG.NO_GET_DEREFERENCE_ONLY);\n } else {\n throw new Error(MSG.STRING_OR_ARRAY_STRINGS + in_ids);\n }\n\n return prop;\n }\n\n /**\n * Returns the sub-property having the given name in this property.\n *\n * @param {string|number} in_id the id of the prop you wish to retrieve.\n *\n * @return {property-properties.BaseProperty | undefined} The property you seek or undefined if none is found.\n */\n _get(in_id) {\n return this._staticChildren[in_id] || this._constantChildren[in_id];\n }\n\n /**\n * Returns a string identifying the property\n *\n * If an id has been explicitly set on this property we return that one, otherwise the GUID is used.\n *\n * @return {string} String identifying the property\n */\n getId() {\n if (this._id !== null) {\n return this._id;\n } else {\n return this.getGuid();\n }\n }\n\n /**\n * Returns the GUID of this named property\n * A Guid is a unique identifier for a branch, commit or repository,\n * similar to a URN. Most functions in the API will us a URN but the\n * Guid is used to traverse the commit graph.\n * @return {string} The GUID\n */\n getGuid() {\n var guid = this.get('guid', { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n return guid ? guid.value : undefined;\n }\n\n /**\n * returns the value of a sub-property\n * This is a shortcut for .get(in_ids, in_options).getValue()\n * @param {string|number|Array<string|number>} in_ids the ID or IDs of the property or an array of IDs\n * if an array is passed, the .get function will be performed on each id in sequence\n * for example .getValue(['position','x']) is equivalent to .get('position').get('x').getValue().\n * If at any point .get resolves to a ReferenceProperty, it will, by default, return the property that the\n * ReferenceProperty refers to.\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n * @throws if the in_ids does not resolve to a ValueProperty or StringProperty\n * @throws if in_ids is not a string or an array of strings or numbers.\n * @return {*} The value of the given sub-property\n */\n getValue(in_ids, in_options) {\n var property = this.get(in_ids, in_options);\n ConsoleUtils.assert((property instanceof Property.ValueProperty || property instanceof Property.StringProperty),\n MSG.GET_VALUE_NOT_A_VALUE + in_ids);\n return property.getValue();\n }\n\n /**\n * Get all sub-properties of the current property.\n * Caller MUST NOT modify the properties.\n * If entries include References, it will return the reference (will not automatically resolve the reference)\n * @return {Object.<property-properties.BaseProperty>} An object containing all the properties\n */\n getEntriesReadOnly() {\n /* Note that the implementation is voluntarily generic so that derived classes\n should not have to redefine this function. */\n var res = {};\n var ids = this.getIds();\n for (var i = 0; i < ids.length; i++) {\n res[ids[i]] = this.get(ids[i], { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n }\n return res;\n }\n\n /**\n * Returns the name of all the sub-properties of this property.\n *\n * @return {Array.<string>} An array of all the property ids\n */\n getIds() {\n return this._getIds();\n }\n\n /**\n * Returns the name of all the sub-properties of this property.\n *\n * @return {Array.<string>} An array of all the property ids\n */\n _getIds() {\n return Object.keys(this._staticChildren).concat(Object.keys(this._constantChildren));\n }\n\n /**\n * Returns an object with all the nested values contained in this property\n * @return {object} an object representing the values of your property\n * for example: {\n * position: {\n * x: 2,\n * y: 5\n * }\n * }\n */\n getValues() {\n var ids = this._getIds();\n var result = {};\n for (var i = 0; i < ids.length; i++) {\n var child = this.get(ids[i]);\n if (_.isUndefined(child)) {\n result[ids[i]] = undefined;\n } else if (child._context === 'single' && child.isPrimitiveType()) {\n result[ids[i]] = child.getValue();\n } else {\n result[ids[i]] = child.getValues();\n }\n }\n return result;\n }\n\n /**\n * Checks whether a property with the given name exists\n *\n * @param {string} in_id - Name of the property\n * @return {boolean} True if the property exists. Otherwise false.\n */\n has(in_id) {\n return this._get(in_id) !== undefined;\n }\n\n /**\n * Expand a path returning the property or value at the end.\n *\n * @param {string} in_path the path\n * @param {Object} in_options - parameter object\n * @param {property-properties.BaseProperty.REFERENCE_RESOLUTION} [in_options.referenceResolutionMode=ALWAYS]\n * How should this function behave during reference resolution?\n * @throws if in_path is not a valid path\n * @return {property-properties.BaseProperty|undefined|*} resolved path\n */\n resolvePath(in_path, in_options) {\n in_options = in_options || {};\n in_options.referenceResolutionMode =\n in_options.referenceResolutionMode === undefined ? BaseProperty.REFERENCE_RESOLUTION.ALWAYS :\n in_options.referenceResolutionMode;\n\n var node = this;\n\n // Tokenize the path string\n var tokenTypes = [];\n var pathArr = PathHelper.tokenizePathString(in_path, tokenTypes);\n\n // Return to the repository root, if the path starts with a root token (a / )\n var iterationStart = 0;\n if (pathArr.length > 0) {\n if (tokenTypes[0] === PathHelper.TOKEN_TYPES.PATH_ROOT_TOKEN) {\n node = this.getRoot();\n iterationStart = 1;\n } else if (tokenTypes[0] === PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN) {\n for (var j = 0; j < pathArr.length; j++) {\n if (tokenTypes[j] === PathHelper.TOKEN_TYPES.RAISE_LEVEL_TOKEN) {\n var parent = node.getParent();\n if (parent) {\n node = parent;\n } else {\n return undefined;\n }\n iterationStart++;\n }\n }\n }\n }\n\n for (var i = iterationStart; i < pathArr.length && node; i++) {\n if (tokenTypes[i] !== PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN) {\n node = node._resolvePathSegment(pathArr[i], tokenTypes[i]);\n if (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.ALWAYS ||\n (in_options.referenceResolutionMode === BaseProperty.REFERENCE_RESOLUTION.NO_LEAFS &&\n i !== pathArr.length - 1)) {\n if (node instanceof Property.ReferenceProperty) {\n if (tokenTypes[i + 1] !== PathHelper.TOKEN_TYPES.DEREFERENCE_TOKEN) {\n // recursive function to resolve nested reference properties\n node = node.ref;\n }\n }\n }\n }\n }\n return node;\n }\n\n /**\n * Returns the path segment for a child\n *\n * @param {property-properties.BaseProperty} in_childNode - The child for which the path is returned\n *\n * @return {string} The path segment to resolve the child property under this property\n * @protected\n */\n _getPathSegmentForChildNode(in_childNode) {\n return PROPERTY_PATH_DELIMITER + PathHelper.quotePathSegmentIfNeeded(in_childNode.getId());\n }\n\n /**\n * Resolves a direct child node based on the given path segment\n *\n * @param {String} in_segment - The path segment to resolve\n * @param {property-properties.PathHelper.TOKEN_TYPES} in_segmentType - The type of segment in the tokenized path\n *\n * @return {property-properties.BaseProperty|undefined} The child property that has been resolved\n * @protected\n */\n _resolvePathSegment(in_segment, in_segmentType) {\n // Base Properties only support paths separated via dots\n if (in_segmentType !== PathHelper.TOKEN_TYPES.PATH_SEGMENT_TOKEN) {\n throw new Error(MSG.INVALID_PATH_TOKEN + in_segment);\n }\n\n if (this.has(in_segment)) {\n return this.get(in_segment, { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n } else {\n return undefined;\n }\n }\n\n /**\n * Given an object that mirrors a PSet Template, assigns the properties to the values\n * found in that object.\n * See {@link setValues}\n * @param {object} in_values The object containing the nested values to assign\n * @param {boolean} in_typed Whether the values are typed/polymorphic.\n * @param {boolean} in_initial - Whether we are setting default/initial values\n or if the function is called directly with the values to set.\n */\n _setValues(in_values, in_typed, in_initial) {\n ConsoleUtils.assert(_.isObject(in_values), MSG.SET_VALUES_PARAM_NOT_OBJECT);\n\n var that = this;\n var keys = Object.keys(in_values);\n\n for (var i = 0; i < keys.length; i++) {\n var propertyKey = keys[i];\n var propertyValue = in_values[propertyKey];\n var property = that.get(propertyKey, { referenceResolutionMode: BaseProperty.REFERENCE_RESOLUTION.NEVER });\n\n if (property instanceof Property.ValueProperty || property instanceof Property.StringProperty) {\n property.setValue(propertyValue);\n } else if (property instanceof BaseProperty && _.isObject(propertyValue)) {\n property._setValues(propertyValue, in_typed, in_initial);\n } else if (property instanceof BaseProperty) {\n const typeid = property.getTypeid();\n throw new Error(MSG.SET_VALUES_PATH_PROPERTY + propertyKey + ', of type: ' + typeid);\n } else if (property === undefined) {\n throw new Error(MSG.SET_VALUES_PATH_INVALID + propertyKey);\n }\n }\n }\n\n /**\n * Given an object that mirrors a PSet Template, assigns the properties to the values\n * found in that object.\n * eg.\n * <pre>\n * Templates = {\n * properties: [\n * { id: 'foo', typeid: 'String' },\n * { id: 'bar', properties: [{id: 'baz', typeid: 'Uint32'}] }\n * ]\n * }\n * </pre>\n *\n * @param {object} in_values The object containing the nested values to assign\n * @throws if in_values is not an object (or in the case of ArrayProperty, an array)\n * @throws if one of the path in in_values does not correspond to a path in that property\n * @throws if one of the path to a value in in_values leads to a property in this property.\n */\n setValues(in_values) {\n var checkoutView = this._getCheckoutView();\n if (checkoutView !== undefined) {\n checkoutView.pushNotificationDelayScope();\n AbstractStaticCollectionProperty.prototype._setValues.call(this, in_values, false, false);\n checkoutView.popNotificationDelayScope();\n } else {\n AbstractStaticCollectionProperty.prototype._setValues.call(this, in_values, false, false);\n }\n }\n\n /**\n * Append a child property\n *\n * This is an internal function, called by the PropertyFactory when instantiating a template and internally by the\n * NodeProperty. Adding children dynamically by the user is only allowed in the NodeProperty.\n *\n * @param {property-properties.BaseProperty} in_property the property to append\n * @param {boolean} in_allowChildMerges - Whether merging of children (nested properties) is allowed.\n * This is used for extending inherited properties.\n * @protected\n * @throws {OVERWRITING_ID} - Thrown when adding a property with an existing id.\n * @throws {OVERRIDDING_INHERITED_TYPES} - Thrown when overriding inherited typed properties.\n */\n _append(in_property, in_allowChildMerges) {\n var id = in_property.getId();\n if (this._staticChildren[id] === undefined) {\n this._staticChildren[id] = in_property;\n in_property._setParent(this);\n } else {\n if (!in_allowChildMerges) {\n throw new Error(MSG.OVERWRITING_ID + id);\n }\n\n // if child is untyped then merge its properties\n if (this._staticChildren[id].getTypeid() === 'AbstractStaticCollectionProperty' &&\n this._staticChildren[id].getContext() === 'single') {\n // if the property's type is different than the child type, throw error.\n if (this._staticChildren[id].getTypeid() !== in_property.getTypeid()) {\n throw new Error(MSG.OVERRIDDING_INHERITED_TYPES + id);\n }\n\n this._staticChildren[id]._merge(in_property);\n } else {\n throw new Error(MSG.OVERRIDDING_INHERITED_TYPES + id);\n }\n }\n }\n\n /**\n * Merge child properties\n *\n * This is an internal function that merges children of two properties.\n * This is used for extending inherited properties.\n *\n * @param {property-properties.BaseProperty} in_property the property to merge its children (nested properties) with.\n * @protected\n */\n _merge(in_property) {\n var keys = Object.keys(in_property._staticChildren);\n\n for (var i = 0; i < keys.length; i++) {\n this._append(in_property._staticChildren[keys[i]], true);\n }\n }\n\n /**\n * @inheritdoc\n */\n _getDirtyChildren(in_flags) {\n var flags = in_flags === undefined ? ~BaseProperty.MODIFIED_STATE_FLAGS.CLEAN : in_flags;\n var rtn = [];\n var childKeys = _.keys(this._staticChildren);\n for (var i = 0; i < childKeys.length; i++) {\n if ((this._get(childKeys[i])._isDirty(flags)) !== 0) {\n rtn.push(childKeys[i]);\n }\n }\n\n return rtn;\n }\n\n /**\n * Traverses the property hierarchy downwards until all child properties are reached\n *\n * @param {Function} in_callback - Callback to invoke for each property. The traversal can be stopped\n * by returning BaseProperty.BREAK_TRAVERSAL\n * @throws if in_callback is not a function.\n * @return {string|undefined} Returns BaseProperty.BREAK_TRAVERSAL if the traversal has been interrupted,\n * otherwise undefined\n */\n traverseDown(in_callback) {\n ConsoleUtils.assert(_.isFunction(in_callback), MSG.CALLBACK_NOT_FCT);\n return this._traverse(in_callback, '');\n }\n\n /**\n * Traverses all children in the child hierarchy\n * TODO: How should this behave for collections?\n *\n * @param {function} in_callback - Callback to invoke for every child\n * @param {string} in_pathFromTraversalStart - Path from the root of the traversal to this node\n * @return {string|undefined} Returns BaseProperty.BREAK_TRAVERSAL if the traversal has been interrupted,\n * otherwise undefined\n * @private\n */\n _traverse(in_callback, in_pathFromTraversalStart) {\n if (in_pathFromTraversalStart) {\n in_pathFromTraversalStart += PROPERTY_PATH_DELIMITER;\n }\n\n var childKeys, child, childPath, result, i;\n\n childKeys = this._getIds();\n for (i = 0; i < childKeys.length; i++) {\n child = this._get(childKeys[i]);\n childPath = in_pathFromTraversalStart + PathHelper.quotePathSegmentIfNeeded(child.getId());\n\n result = in_callback(child, childPath);\n if (result !== BREAK_TRAVERSAL) {\n result = child._traverse(in_callback, childPath);\n if (result !== BREAK_TRAVERSAL) {\n continue;\n }\n }\n return BREAK_TRAVERSAL;\n }\n\n return undefined;\n }\n\n /**\n * Traverses all static properties (properties declared in the template and not added dynamically) in the\n * hierarchy below this node\n *\n * @param {function} in_callback - Callback to invoke for every property\n * @param {string?} in_pathFromTraversalStart - Path from the root of the traversal to this node\n * @protected\n */\n _traverseStaticProperties(in_callback,\n in_pathFromTraversalStart) {\n in_pathFromTraversalStart = in_pathFromTraversalStart || '';\n var propertyKeys = _.keys(this._staticChildren);\n for (var i = 0; i < propertyKeys.length; i++) {\n var property = this._staticChildren[propertyKeys[i]];\n var childPath = in_pathFromTraversalStart +\n (in_pathFromTraversalStart.length !== 0 ? PROPERTY_PATH_DELIMITER : '') +\n PathHelper.quotePathSegmentIfNeeded(property.getId());\n\n // We only recursively traverse ContainerProperties, since these are used to define the hierarchy within\n // one template\n if ((property.getTypeid() === 'AbstractStaticCollectionProperty' ||\n property.getTypeid() === 'ContainerProperty') &&\n property.getContext() === 'single') {\n property._traverseStaticProperties(in_callback, childPath);\n }\n in_callback(property, childPath);\n }\n }\n\n /**\n * Serialize the property into a changeSet\n *\n * @param {boolean} in_dirtyOnly -\n * Only include dirty entries in the serialization\n * @param {boolean} in_includeRootTypeid -\n * Include the typeid of the root of the hierarchy\n * @param {property-properties.BaseProperty.MODIFIED_STATE_FLAGS} [in_dirtinessType] -\n * The type of dirtiness to use when reporting dirty changes. By default this is\n * PENDING_CHANGE\n * @param {boolean} [in_includeReferencedRepositories=false] - If this is set to true, the serialize\n * function will descend into referenced repositories. WARNING: if there are loops in the references\n * this can result in an infinite loop\n *\n * @return {Object} The serialized representation of this property\n * @private\n */\n _serialize(in_dirtyOnly,\n in_includeRootTypeid,\n in_dirtinessType,\n in_includeReferencedRepositories) {\n var serializedChildren = {};\n var childrenType;\n\n in_dirtyOnly = in_dirtyOnly || false;\n in_dirtinessType = in_dirtinessType === undefined ?\n BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE : in_dirtinessType;\n\n this._traverseStaticProperties(function(in_node, in_pathFromTraversalStart) {\n if (in_dirtyOnly && !in_node._isDirty(in_dirtinessType)) {\n return;\n }\n\n childrenType = in_node.getFullTypeid();\n\n if (childrenType !== 'AbstractStaticCollectionProperty' &&\n childrenType !== 'ContainerProperty') { // we don't want to keep BaseProperties\n // as they mostly behave as 'paths' to\n // a ValueProperty.\n var serialized = in_node._serialize(in_dirtyOnly,\n false,\n in_dirtinessType,\n in_includeReferencedRepositories);\n\n // Add the root typeid if requested\n if (!ChangeSet.isEmptyChangeSet(serialized) || !in_dirtyOnly) {\n if (!serializedChildren[childrenType]) {\n serializedChildren[childrenType] = {};\n }\n serializedChildren[childrenType][in_pathFromTraversalStart] = serialized;\n }\n }\n });\n\n if (in_includeRootTypeid) {\n serializedChildren['typeid'] = this.getFullTypeid();\n }\n\n return serializedChildren;\n }\n\n /**\n * Sets the property to the state in the given normalized changeset\n *\n * @param { property-changeset.SerializedChangeSet} in_serializedObj - The serialized changeset to apply to this node. This\n * has to be an normalized change-set (only containing additions and property assignments. Deletes and Modify\n * must not appear)\n * @param {boolean} [in_reportToView = true] - By default, the dirtying will always be reported to the checkout view\n * and trigger a modified event there. When batching updates, this\n * can be prevented via this flag.\n * @return {property-changeset.SerializedChangeSet} ChangeSet with the changes that actually were performed during the\n * deserialization\n */\n _deserialize(in_serializedObj, in_reportToView) {\n var changeSet = {};\n\n // Traverse all properties of this template\n this._traverseStaticProperties(function(in_node, in_pathFromTraversalStart) {\n // We do not deserialize base properties, since the traverseStatic function\n // already traverses recursively\n if (in_node.getTypeid() === 'ContainerProperty' && in_node.getContext() === 'single') {\n return;\n }\n\n var typeid = in_node.getFullTypeid();\n\n // Get the ChangeSet\n // If there is a ChangeSet in the serialized object, we use that as the\n // target ChangeSet, otherwise we use an empty ChangeSet (since properties with\n // empty Sub-ChangeSets are removed from the parent ChangeSet, we have to\n // explicitly use an empty ChangeSet for those)\n var propertyChangeSet = {};\n if (in_serializedObj[typeid] !== undefined &&\n in_serializedObj[typeid][in_pathFromTraversalStart] !== undefined) {\n propertyChangeSet = in_serializedObj[typeid][in_pathFromTraversalStart];\n }\n\n // Deserialize the ChangeSet into the property\n var changes = in_node._deserialize(propertyChangeSet, false);\n\n // And track the performed modification in the result\n if (!ChangeSet.isEmptyChangeSet(changes)) {\n changeSet[typeid] = changeSet[typeid] || {};\n changeSet[typeid][in_pathFromTraversalStart] = changes;\n }\n });\n\n // Finally report the dirtiness to the view (we postponed this above)\n if (in_reportToView) {\n this._reportDirtinessToView();\n }\n return changeSet;\n }\n\n /**\n * Get a flattened, tree like representation of this object and all of it's\n * descendants. The flattening will stop at primitive properties and collections.\n *\n * For non-leaf nodes, it is possible to access the corresponding node object itself via the\n * propertyNode member of the flattened representation (warning, this will overwrite a\n * property of this name).\n * TODO: Do we want to have this feature or is it to dangerous?\n *\n * @return {Object} the flat representation\n * @private\n */\n _flatten() {\n var flattenedRepresentation = {};\n var keys = this._getIds();\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var child = this._get(key);\n if (!child._isFlattenLeaf()) {\n flattenedRepresentation[key] = child._flatten();\n } else {\n flattenedRepresentation[key] = child;\n }\n }\n\n flattenedRepresentation.propertyNode = this;\n\n return flattenedRepresentation;\n }\n\n /**\n * Returns the number of children this node has\n * @return {number} The number of children\n * @private\n */\n _getChildrenCount() {\n return this._getIds().length;\n }\n\n /**\n * Sets constants\n * @param {Object} in_constants - The list of typed values.\n */\n _setConstants(in_constants) {\n ConsoleUtils.assert(_.isObject(in_constants), MSG.ASSERTION_FAILED +\n ' setConstants parameter: in_constants must be an object.');\n this._constantChildren = in_constants;\n }\n}\n"]}
@@ -79,8 +79,9 @@ export class ArrayProperty extends AbstractStaticCollectionProperty {
79
79
  */
80
80
  set(in_position: number, in_value: any): void;
81
81
  /**
82
+ * See {@link ArrayProperty.setValues}
83
+ *
82
84
  * @param {Array<*>|Object} in_values an array or object containing the values to be set.
83
- * @see {setValues}
84
85
  */
85
86
  _setValuesInternal(in_values: Array<any> | any): void;
86
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"arrayProperty.d.ts","sourceRoot":"","sources":["../../src/properties/arrayProperty.js"],"names":[],"mappings":"AA6IA;IACI;;;;;;OAMG;IACH,wBAaC;IAJO,eAAsB;IAsD9B;;;;;;;;;OASG;IACH,oBAPW,MAAM,uBAShB;IAaD;;;;;;;OAOG;IACH,sBAFY,MAAM,CASjB;IAED;;OAEG;IACH,gCAEC;IAED;;;;;;;;;OASG;IACH,yBAFY,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,oBANW,MAAM,YAUhB;IAED;;;;OAIG;IACH,gBASC;IAED;;;OAGG;IACH,SAFY,cAAU,CAUrB;IAED;;OAEG;IACH,eAEC;IAED;;;;;;;OAOG;IACH,iBALW,MAAM,uBAUhB;IAwCD;;;OAGG;IACH,8BAHW,UAAQ,MAAO,QA8BzB;IAuBD;;OAEG;IACH,cAIC;IAYD;;;;;;OAMG;IACH,uBAUC;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;OASG;IACH,kDAwCC;IAoCD;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,YACN,UAAQ,QAsBlB;IAED;;;;;;;;OAQG;IACH,oCAgCC;IAED;;;;;;;;;;;;OAYG;IACH,uBATW,MAAM,kBACN,MAAM,GAKL,UAAQ,GAAE,eAAc,CAkBnC;IAED;;;;;;OAMG;IACH,oBAYC;IAED;;;;;;OAMG;IACH,oCAQC;IAED;;;;;;;;OAQG;IACH,oBALW,MAAM,uBAoBhB;IAED;;;;;;OAMG;IACH,oCAHW,MAAM,YACN,UAAQ,QAIlB;IAED;;;;;;OAMG;IACH,uCAHW,MAAM,YACN,UAAQ,QAmClB;IA4HD;;OAEG;IACH,oBAEC;IAkJD;;;;;;;;;;OAUG;IACH,wEANW,OAAO,YA+JjB;IAED;;;;;;;OAOG;IACH,8CAEC;IAED;;;;;;;OAOG;IACH,uCAGC;IAED;;;;;;;OAOG;IACH,kCAFY,eAAc,CAezB;IAED;;;;;;;OAOG;IACH,gDAEC;IAyGD;;;;MA4GC;IAmJD;;;OAGG;IACH,0CASC;IANG,kCAAsD;IAQ1D;;;OAGG;IACH,8BAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;OAKG;IACH,0CAEC;IAED;;;;OAIG;IACH,0DAEC;IAED;;;OAGG;IACH,gDAEC;IAED;;;;OAIG;IACH,kEAEC;IAED;;;;OAIG;IACH,oEAEC;IAED;;;;OAIG;IACH,+DAEC;IAyBD,wBAEC;IARD;;OAEG;IACH,qBAEC;CAIJ"}
1
+ {"version":3,"file":"arrayProperty.d.ts","sourceRoot":"","sources":["../../src/properties/arrayProperty.js"],"names":[],"mappings":"AA6IA;IACI;;;;;;OAMG;IACH,wBAaC;IAJO,eAAsB;IAsD9B;;;;;;;;;OASG;IACH,oBAPW,MAAM,uBAShB;IAaD;;;;;;;OAOG;IACH,sBAFY,MAAM,CASjB;IAED;;OAEG;IACH,gCAEC;IAED;;;;;;;;;OASG;IACH,yBAFY,MAAM,CASjB;IAED;;;;;;;;;OASG;IACH,oBANW,MAAM,YAUhB;IAED;;;;OAIG;IACH,gBASC;IAED;;;OAGG;IACH,SAFY,cAAU,CAUrB;IAED;;OAEG;IACH,eAEC;IAED;;;;;;;OAOG;IACH,iBALW,MAAM,uBAUhB;IA0CD;;;;OAIG;IACH,8BAFW,UAAQ,MAAO,QA6BzB;IAuBD;;OAEG;IACH,cAIC;IAYD;;;;;;OAMG;IACH,uBAUC;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;;;;;OASG;IACH,kDAwCC;IAoCD;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,YACN,UAAQ,QAsBlB;IAED;;;;;;;;OAQG;IACH,oCAgCC;IAED;;;;;;;;;;;;OAYG;IACH,uBATW,MAAM,kBACN,MAAM,GAKL,UAAQ,GAAE,eAAc,CAkBnC;IAED;;;;;;OAMG;IACH,oBAYC;IAED;;;;;;OAMG;IACH,oCAQC;IAED;;;;;;;;OAQG;IACH,oBALW,MAAM,uBAoBhB;IAED;;;;;;OAMG;IACH,oCAHW,MAAM,YACN,UAAQ,QAIlB;IAED;;;;;;OAMG;IACH,uCAHW,MAAM,YACN,UAAQ,QAmClB;IA4HD;;OAEG;IACH,oBAEC;IAkJD;;;;;;;;;;OAUG;IACH,wEANW,OAAO,YA+JjB;IAED;;;;;;;OAOG;IACH,8CAEC;IAED;;;;;;;OAOG;IACH,uCAGC;IAED;;;;;;;OAOG;IACH,kCAFY,eAAc,CAezB;IAED;;;;;;;OAOG;IACH,gDAEC;IAyGD;;;;MA4GC;IAmJD;;;OAGG;IACH,0CASC;IANG,kCAAsD;IAQ1D;;;OAGG;IACH,8BAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;;;OAKG;IACH,0CAEC;IAED;;;;OAIG;IACH,0DAEC;IAED;;;OAGG;IACH,gDAEC;IAED;;;;OAIG;IACH,kEAEC;IAED;;;;OAIG;IACH,oEAEC;IAED;;;;OAIG;IACH,+DAEC;IAyBD,wBAEC;IARD;;OAEG;IACH,qBAEC;CAIJ"}
@@ -315,7 +315,9 @@ class ArrayProperty extends AbstractStaticCollectionProperty {
315
315
  /**
316
316
  * Sets the values of items in the array.
317
317
  * If values are typed, iterates through the values and creates a property with the defined type and value.
318
- * @see {setValues}
318
+ *
319
+ * See {@link ArrayProperty.setValues}
320
+ *
319
321
  * @param {Array<*>} in_values - The list of typed values.
320
322
  * @param {Bool} in_typed - Whether the values are typed/polymorphic.
321
323
  * @param {Bool} in_initial - Whether we are setting default/initial values
@@ -349,8 +351,9 @@ class ArrayProperty extends AbstractStaticCollectionProperty {
349
351
  }
350
352
  }
351
353
  /**
354
+ * See {@link ArrayProperty.setValues}
355
+ *
352
356
  * @param {Array<*>|Object} in_values an array or object containing the values to be set.
353
- * @see {setValues}
354
357
  */
355
358
  _setValuesInternal(in_values) {
356
359
  this._checkIsNotReadOnly(true);