@fluid-experimental/property-properties 0.55.2 → 0.56.2

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 (120) hide show
  1. package/dist/properties/arrayProperty.d.ts.map +1 -1
  2. package/dist/properties/arrayProperty.js +4 -4
  3. package/dist/properties/arrayProperty.js.map +1 -1
  4. package/dist/properties/baseProperty.d.ts +1 -1
  5. package/dist/properties/baseProperty.d.ts.map +1 -1
  6. package/dist/properties/baseProperty.js +13 -12
  7. package/dist/properties/baseProperty.js.map +1 -1
  8. package/dist/properties/boolProperty.d.ts.map +1 -1
  9. package/dist/properties/boolProperty.js +3 -2
  10. package/dist/properties/boolProperty.js.map +1 -1
  11. package/dist/properties/containerProperty.d.ts +1 -1
  12. package/dist/properties/containerProperty.d.ts.map +1 -1
  13. package/dist/properties/containerProperty.js +12 -3
  14. package/dist/properties/containerProperty.js.map +1 -1
  15. package/dist/properties/enumArrayProperty.js +2 -1
  16. package/dist/properties/enumArrayProperty.js.map +1 -1
  17. package/dist/properties/enumProperty.d.ts.map +1 -1
  18. package/dist/properties/enumProperty.js +2 -1
  19. package/dist/properties/enumProperty.js.map +1 -1
  20. package/dist/properties/floatProperties.d.ts.map +1 -1
  21. package/dist/properties/floatProperties.js +6 -4
  22. package/dist/properties/floatProperties.js.map +1 -1
  23. package/dist/properties/indexedCollectionBaseProperty.d.ts +2 -2
  24. package/dist/properties/indexedCollectionBaseProperty.d.ts.map +1 -1
  25. package/dist/properties/indexedCollectionBaseProperty.js +2 -2
  26. package/dist/properties/indexedCollectionBaseProperty.js.map +1 -1
  27. package/dist/properties/intProperties.d.ts.map +1 -1
  28. package/dist/properties/intProperties.js +15 -10
  29. package/dist/properties/intProperties.js.map +1 -1
  30. package/dist/properties/mapProperty.d.ts.map +1 -1
  31. package/dist/properties/mapProperty.js +2 -1
  32. package/dist/properties/mapProperty.js.map +1 -1
  33. package/dist/properties/namedNodeProperty.js +2 -1
  34. package/dist/properties/namedNodeProperty.js.map +1 -1
  35. package/dist/properties/namedProperty.js +2 -1
  36. package/dist/properties/namedProperty.js.map +1 -1
  37. package/dist/properties/nodeProperty.d.ts.map +1 -1
  38. package/dist/properties/nodeProperty.js +3 -1
  39. package/dist/properties/nodeProperty.js.map +1 -1
  40. package/dist/properties/referenceArrayProperty.js +2 -1
  41. package/dist/properties/referenceArrayProperty.js.map +1 -1
  42. package/dist/properties/referenceMapProperty.js +2 -1
  43. package/dist/properties/referenceMapProperty.js.map +1 -1
  44. package/dist/properties/referenceProperty.d.ts +1 -1
  45. package/dist/properties/referenceProperty.d.ts.map +1 -1
  46. package/dist/properties/referenceProperty.js +3 -2
  47. package/dist/properties/referenceProperty.js.map +1 -1
  48. package/dist/properties/setProperty.d.ts.map +1 -1
  49. package/dist/properties/setProperty.js +3 -2
  50. package/dist/properties/setProperty.js.map +1 -1
  51. package/dist/properties/stringProperty.d.ts.map +1 -1
  52. package/dist/properties/stringProperty.js +12 -3
  53. package/dist/properties/stringProperty.js.map +1 -1
  54. package/dist/properties/uintProperties.d.ts.map +1 -1
  55. package/dist/properties/uintProperties.js +9 -6
  56. package/dist/properties/uintProperties.js.map +1 -1
  57. package/dist/properties/valueArrayProperty.d.ts +1 -1
  58. package/dist/properties/valueArrayProperty.d.ts.map +1 -1
  59. package/dist/properties/valueArrayProperty.js +25 -13
  60. package/dist/properties/valueArrayProperty.js.map +1 -1
  61. package/dist/properties/valueMapProperty.d.ts.map +1 -1
  62. package/dist/properties/valueMapProperty.js +38 -26
  63. package/dist/properties/valueMapProperty.js.map +1 -1
  64. package/dist/propertyFactory.d.ts.map +1 -1
  65. package/dist/propertyFactory.js +442 -86
  66. package/dist/propertyFactory.js.map +1 -1
  67. package/dist/propertyTemplateWrapper.d.ts +0 -34
  68. package/dist/propertyTemplateWrapper.d.ts.map +1 -1
  69. package/dist/propertyTemplateWrapper.js +0 -108
  70. package/dist/propertyTemplateWrapper.js.map +1 -1
  71. package/dist/test/propertyFactory.spec.js +5 -2
  72. package/dist/test/propertyFactory.spec.js.map +1 -1
  73. package/dist/test/tsconfig.tsbuildinfo +11 -11
  74. package/lib/properties/arrayProperty.js +4 -4
  75. package/lib/properties/arrayProperty.js.map +1 -1
  76. package/lib/properties/baseProperty.js +13 -12
  77. package/lib/properties/baseProperty.js.map +1 -1
  78. package/lib/properties/boolProperty.js +3 -2
  79. package/lib/properties/boolProperty.js.map +1 -1
  80. package/lib/properties/containerProperty.js +12 -3
  81. package/lib/properties/containerProperty.js.map +1 -1
  82. package/lib/properties/enumArrayProperty.js +2 -1
  83. package/lib/properties/enumArrayProperty.js.map +1 -1
  84. package/lib/properties/enumProperty.js +2 -1
  85. package/lib/properties/enumProperty.js.map +1 -1
  86. package/lib/properties/floatProperties.js +6 -4
  87. package/lib/properties/floatProperties.js.map +1 -1
  88. package/lib/properties/indexedCollectionBaseProperty.js +2 -2
  89. package/lib/properties/indexedCollectionBaseProperty.js.map +1 -1
  90. package/lib/properties/intProperties.js +15 -10
  91. package/lib/properties/intProperties.js.map +1 -1
  92. package/lib/properties/mapProperty.js +2 -1
  93. package/lib/properties/mapProperty.js.map +1 -1
  94. package/lib/properties/namedNodeProperty.js +2 -1
  95. package/lib/properties/namedNodeProperty.js.map +1 -1
  96. package/lib/properties/namedProperty.js +2 -1
  97. package/lib/properties/namedProperty.js.map +1 -1
  98. package/lib/properties/nodeProperty.js +3 -1
  99. package/lib/properties/nodeProperty.js.map +1 -1
  100. package/lib/properties/referenceArrayProperty.js +2 -1
  101. package/lib/properties/referenceArrayProperty.js.map +1 -1
  102. package/lib/properties/referenceMapProperty.js +2 -1
  103. package/lib/properties/referenceMapProperty.js.map +1 -1
  104. package/lib/properties/referenceProperty.js +3 -2
  105. package/lib/properties/referenceProperty.js.map +1 -1
  106. package/lib/properties/setProperty.js +3 -2
  107. package/lib/properties/setProperty.js.map +1 -1
  108. package/lib/properties/stringProperty.js +12 -3
  109. package/lib/properties/stringProperty.js.map +1 -1
  110. package/lib/properties/uintProperties.js +9 -6
  111. package/lib/properties/uintProperties.js.map +1 -1
  112. package/lib/properties/valueArrayProperty.js +25 -13
  113. package/lib/properties/valueArrayProperty.js.map +1 -1
  114. package/lib/properties/valueMapProperty.js +38 -26
  115. package/lib/properties/valueMapProperty.js.map +1 -1
  116. package/lib/propertyFactory.js +442 -86
  117. package/lib/propertyFactory.js.map +1 -1
  118. package/lib/propertyTemplateWrapper.js +0 -108
  119. package/lib/propertyTemplateWrapper.js.map +1 -1
  120. package/package.json +4 -4
@@ -28,8 +28,6 @@ export class ValueMapProperty extends MapProperty {
28
28
  */
29
29
  constructor(in_params) {
30
30
  super(in_params);
31
- // The value map contains primitive types
32
- this._containsPrimitiveTypes = true;
33
31
  }
34
32
  ;
35
33
  /**
@@ -188,6 +186,8 @@ export class ValueMapProperty extends MapProperty {
188
186
  }
189
187
  ;
190
188
  }
189
+ // The value map contains primitive types
190
+ ValueMapProperty.prototype._containsPrimitiveTypes = true;
191
191
  /**
192
192
  * A ValueMapProperty which stores Float32 values
193
193
  */
@@ -202,10 +202,11 @@ export class Float32MapProperty extends ValueMapProperty {
202
202
  * @category Maps
203
203
  */
204
204
  constructor(in_params) {
205
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Float32' }));
206
- this._castFunctor = _castFunctors.Float32;
205
+ super(in_params);
207
206
  }
208
207
  }
208
+ Float32MapProperty.prototype._typeid = 'Float32';
209
+ Float32MapProperty.prototype._castFunctor = _castFunctors.Float32;
209
210
  /**
210
211
  * A ValueMapProperty which stores Float64 values
211
212
  */
@@ -220,11 +221,12 @@ export class Float64MapProperty extends ValueMapProperty {
220
221
  * @category Maps
221
222
  */
222
223
  constructor(in_params) {
223
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Float64' }));
224
- this._castFunctor = _castFunctors.Float64;
224
+ super(in_params);
225
225
  }
226
226
  ;
227
227
  }
228
+ Float64MapProperty.prototype._typeid = 'Float64';
229
+ Float64MapProperty.prototype._castFunctor = _castFunctors.Float64;
228
230
  /**
229
231
  * A ValueMapProperty which stores Uint32 values
230
232
  */
@@ -239,11 +241,12 @@ export class Uint32MapProperty extends ValueMapProperty {
239
241
  * @category Maps
240
242
  */
241
243
  constructor(in_params) {
242
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Uint32' }));
243
- this._castFunctor = _castFunctors.Uint32;
244
+ super(in_params);
244
245
  }
245
246
  ;
246
247
  }
248
+ Uint32MapProperty.prototype._typeid = 'Uint32';
249
+ Uint32MapProperty.prototype._castFunctor = _castFunctors.Uint32;
247
250
  /**
248
251
  * A ValueMapProperty which stores Uint16 values
249
252
  */
@@ -258,11 +261,12 @@ export class Uint16MapProperty extends ValueMapProperty {
258
261
  * @category Maps
259
262
  */
260
263
  constructor(in_params) {
261
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Uint16' }));
262
- this._castFunctor = _castFunctors.Uint16;
264
+ super(in_params);
263
265
  }
264
266
  ;
265
267
  }
268
+ Uint16MapProperty.prototype._typeid = 'Uint16';
269
+ Uint16MapProperty.prototype._castFunctor = _castFunctors.Uint16;
266
270
  /**
267
271
  * A ValueMapProperty which stores Uint8 values
268
272
  */
@@ -277,11 +281,12 @@ export class Uint8MapProperty extends ValueMapProperty {
277
281
  * @category Maps
278
282
  */
279
283
  constructor(in_params) {
280
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Uint8' }));
281
- this._castFunctor = _castFunctors.Uint8;
284
+ super(in_params);
282
285
  }
283
286
  ;
284
287
  }
288
+ Uint8MapProperty.prototype._typeid = 'Uint8';
289
+ Uint8MapProperty.prototype._castFunctor = _castFunctors.Uint8;
285
290
  /**
286
291
  * A ValueMapProperty which stores Int32 values
287
292
  */
@@ -296,11 +301,12 @@ export class Int32MapProperty extends ValueMapProperty {
296
301
  * @category Maps
297
302
  */
298
303
  constructor(in_params) {
299
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Int32' }));
300
- this._castFunctor = _castFunctors.Int32;
304
+ super(in_params);
301
305
  }
302
306
  ;
303
307
  }
308
+ Int32MapProperty.prototype._typeid = 'Int32';
309
+ Int32MapProperty.prototype._castFunctor = _castFunctors.Int32;
304
310
  /**
305
311
  * An abstract base class for 64 bit integer map properties
306
312
  */
@@ -389,8 +395,7 @@ export class Int64MapProperty extends Integer64MapProperty {
389
395
  * @category Maps
390
396
  */
391
397
  constructor(in_params) {
392
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Int64' }));
393
- this._castFunctor = _castFunctors.Int64;
398
+ super(in_params);
394
399
  }
395
400
  ;
396
401
  /**
@@ -406,6 +411,8 @@ export class Int64MapProperty extends Integer64MapProperty {
406
411
  }
407
412
  ;
408
413
  }
414
+ Int64MapProperty.prototype._typeid = 'Int64';
415
+ Int64MapProperty.prototype._castFunctor = _castFunctors.Int64;
409
416
  /**
410
417
  * A ValueMapProperty which stores Uint64 Properties
411
418
  */
@@ -420,8 +427,7 @@ export class Uint64MapProperty extends Integer64MapProperty {
420
427
  * @category Maps
421
428
  */
422
429
  constructor(in_params) {
423
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Uint64' }));
424
- this._castFunctor = _castFunctors.Uint64;
430
+ super(in_params);
425
431
  }
426
432
  ;
427
433
  /**
@@ -437,6 +443,8 @@ export class Uint64MapProperty extends Integer64MapProperty {
437
443
  }
438
444
  ;
439
445
  }
446
+ Uint64MapProperty.prototype._typeid = 'Uint64';
447
+ Uint64MapProperty.prototype._castFunctor = _castFunctors.Uint64;
440
448
  /**
441
449
  * A ValueMapProperty which stores Int16 values
442
450
  */
@@ -450,11 +458,12 @@ export class Int16MapProperty extends ValueMapProperty {
450
458
  * @category Maps
451
459
  */
452
460
  constructor(in_params) {
453
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Int16' }));
454
- this._castFunctor = _castFunctors.Int16;
461
+ super(in_params);
455
462
  }
456
463
  ;
457
464
  }
465
+ Int16MapProperty.prototype._typeid = 'Int16';
466
+ Int16MapProperty.prototype._castFunctor = _castFunctors.Int16;
458
467
  /**
459
468
  * A ValueMapProperty which stores Int8 values
460
469
  */
@@ -469,11 +478,12 @@ export class Int8MapProperty extends ValueMapProperty {
469
478
  * @category Maps
470
479
  */
471
480
  constructor(in_params) {
472
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Int8' }));
473
- this._castFunctor = _castFunctors.Int8;
481
+ super(in_params);
474
482
  }
475
483
  ;
476
484
  }
485
+ Int8MapProperty.prototype._typeid = 'Int8';
486
+ Int8MapProperty.prototype._castFunctor = _castFunctors.Int8;
477
487
  /**
478
488
  * A ValueMapProperty which stores string values
479
489
  */
@@ -488,11 +498,12 @@ export class StringMapProperty extends ValueMapProperty {
488
498
  * @category Maps
489
499
  */
490
500
  constructor(in_params) {
491
- super(Object.assign({ typeid: 'String' }, in_params));
492
- this._castFunctor = _castFunctors.String;
501
+ super(in_params);
493
502
  }
494
503
  ;
495
504
  }
505
+ StringMapProperty.prototype._typeid = 'String';
506
+ StringMapProperty.prototype._castFunctor = _castFunctors.String;
496
507
  /**
497
508
  * A ValueMapProperty which stores boolean values
498
509
  */
@@ -507,9 +518,10 @@ export class BoolMapProperty extends ValueMapProperty {
507
518
  * @category Maps
508
519
  */
509
520
  constructor(in_params) {
510
- super(Object.assign(Object.assign({}, in_params), { typeid: 'Bool' }));
511
- this._castFunctor = _castFunctors.Boolean;
521
+ super(in_params);
512
522
  }
513
523
  ;
514
524
  }
525
+ BoolMapProperty.prototype._typeid = 'Bool';
526
+ BoolMapProperty.prototype._castFunctor = _castFunctors.Boolean;
515
527
  //# sourceMappingURL=valueMapProperty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueMapProperty.js","sourceRoot":"","sources":["../../src/properties/valueMapProperty.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 */\n/**\n * @fileoverview Definition of the valuemap property class\n */\n\nconst _ = require('lodash');\nconst { MSG } = require('@fluid-experimental/property-common').constants;\nconst { _castFunctors } = require('./primitiveTypeCasts');\nconst { BaseProperty } = require('./baseProperty');\nconst { MapProperty } = require('./mapProperty');\nconst { Int64, Uint64 } = require('@fluid-experimental/property-common');\nconst { Int64Property, Uint64Property } = require('../properties/intProperties');\nconst { validationsEnabled } = require('../enableValidations');\n\n\n/**\n * A ValueMapProperty is a collection class that can contain an dictionary that maps from strings to primitive types.\n */\nexport class ValueMapProperty extends MapProperty {\n\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.MapProperty\n * @alias property-properties.ValueMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n // The value map contains primitive types\n _containsPrimitiveTypes = true;\n\n /**\n * Inserts a value into the map. Using insert with a key that already exists will throw an error.\n *\n * @param {string} in_key - The key under which the entry is added\n * @param {*} in_value - The primitive type value to set\n * @throws if a value already exists for in_key\n */\n insert(in_key, in_value) {\n var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n this._insert(in_key, castedValue, true);\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 'firstString': 'test1',\n 'secondString': 'test2'\n }\n */\n getValues() {\n var ids = this.getIds();\n var result = {};\n for (var i = 0; i < ids.length; i++) {\n result[ids[i]] = this.get(ids[i]);\n }\n return result;\n };\n\n /**\n * Return a JSON representation of the map and its items.\n * @return {object} A JSON representation of the map and its items.\n * @private\n */\n _toJson() {\n return {\n id: this.getId(),\n context: this._context,\n typeid: this.getTypeid(),\n isConstant: this._isConstant,\n value: this.getValues()\n };\n };\n\n /**\n * Repeatedly calls back the given function with human-readable string\n * representations of the property's sub-properties.\n * @param {string} indent - Leading spaces to create the tree representation\n * @param {function} printFct - Function to call for printing each property\n */\n _prettyPrintChildren(indent, printFct) {\n indent += ' ';\n var prefix = '';\n var suffix = '';\n if (this.getTypeid() === 'String') {\n prefix = '\"';\n suffix = '\"';\n }\n _.mapValues(this._dynamicChildren, function (val, key) {\n printFct(indent + key + ': ' + prefix + val + suffix);\n });\n };\n\n /**\n * Sets the value of a property into the map.\n *\n * @param {string} in_key the key under which the entry is set\n * @param {*} in_value the value to be set\n */\n\tset(in_key, in_value) {\n\t if (validationsEnabled.enabled) {\n\t this._checkIsNotReadOnly(true);\n\t }\n\t var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n\t if (this._dynamicChildren[in_key] !== castedValue) {\n\t if (validationsEnabled.enabled) {\n\t this._checkIsNotReadOnly(true);\n\t }\n if (this._dynamicChildren[in_key] !== undefined) {\n this._removeByKey(in_key, false);\n }\n this._insert(in_key, castedValue, false);\n // Make one final report\n this._reportDirtinessToView();\n }\n };\n\n _getValue(in_key) {\n return this._dynamicChildren[in_key];\n };\n\n /**\n * @inheritdoc\n */\n _reapplyDirtyFlags(in_pendingChangeSet, in_dirtyChangeSet) {\n BaseProperty.prototype._reapplyDirtyFlags.call(this, in_pendingChangeSet, in_dirtyChangeSet);\n\n var i, j, keys, key;\n\n // Remove existing entries\n // (we remove before we add, so that a remove+add operation in effect becomes a replace)\n if (in_pendingChangeSet.remove) {\n if (_.isArray(in_pendingChangeSet.remove)) {\n for (i = 0; i < in_pendingChangeSet.remove.length; i++) {\n key = in_pendingChangeSet.remove[i];\n this._pendingChanges.remove[key] = true;\n }\n } else {\n // handle remove is an object case:\n keys = Object.keys(in_pendingChangeSet.remove);\n for (j = 0; j < keys.length; j++) {\n this._pendingChanges.remove[keys[j]] = true;\n }\n }\n }\n\n // Inserted entries\n if (in_pendingChangeSet.insert) {\n keys = Object.keys(in_pendingChangeSet.insert);\n for (i = 0; i < keys.length; i++) {\n if (this._dynamicChildren[keys[i]] !== undefined) {\n this._pendingChanges.insert[keys[i]] = true;\n } else {\n throw new Error(`${MSG.CANT_DIRTY_MISSING_PROPERTY}${keys[i]}`);\n }\n }\n }\n\n // Modify entries\n if (in_pendingChangeSet.modify) {\n var modifiedPendingEntries = in_pendingChangeSet ? in_pendingChangeSet.modify || {} : {};\n var modifiedDirtyEntries = in_dirtyChangeSet ? in_dirtyChangeSet.modify || {} : {};\n keys = Object.keys(modifiedPendingEntries).concat(Object.keys(modifiedDirtyEntries));\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n if (this._dynamicChildren[key] !== undefined) {\n if (modifiedPendingEntries[key]) {\n if (!this._pendingChanges.insert[key]) {\n this._pendingChanges.modify[key] = true;\n }\n }\n if (modifiedDirtyEntries[key]) {\n if (!this._dirtyChanges.insert[key]) {\n this._dirtyChanges.modify[key] = true;\n }\n }\n } else {\n throw new Error(MSG.MODIFY_NON_EXISTING_ENTRY + key);\n }\n }\n }\n\n // If working with primitive types, we have to update the dirty flag, when one of the entries\n // was changed\n this._setDirty(false);\n };\n\n}\n\n/**\n * A ValueMapProperty which stores Float32 values\n */\nexport class Float32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Float32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Float32' });\n }\n\n _castFunctor = _castFunctors.Float32;\n}\n\n/**\n * A ValueMapProperty which stores Float64 values\n */\nexport class Float64MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Float64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Float64' });\n };\n _castFunctor = _castFunctors.Float64;\n}\n\n/**\n * A ValueMapProperty which stores Uint32 values\n */\nexport class Uint32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Uint32' });\n };\n\n _castFunctor = _castFunctors.Uint32;\n\n}\n\n/**\n * A ValueMapProperty which stores Uint16 values\n */\nexport class Uint16MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint16MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Uint16' });\n };\n\n _castFunctor = _castFunctors.Uint16;\n}\n\n/**\n * A ValueMapProperty which stores Uint8 values\n */\nexport class Uint8MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint8MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Uint8' });\n };\n\n _castFunctor = _castFunctors.Uint8;\n}\n\n/**\n * A ValueMapProperty which stores Int32 values\n */\nexport class Int32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Int32' });\n };\n\n _castFunctor = _castFunctors.Int32;\n}\n\n/**\n * An abstract base class for 64 bit integer map properties\n */\nexport class Integer64MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Integer64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n /**\n * Sets the entry with the given key to the value passed in\n *\n * Note: this will overwrite an already existing value\n *\n * @param {string} in_key - The key under which the entry is stored\n * @param {Int64|Uint64|string|number} in_value - The value or property to store in the map\n */\n set(in_key, in_value) {\n var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n var myValue = this._dynamicChildren[in_key];\n if (myValue === undefined) {\n this._insert(in_key, castedValue, true);\n } else if (myValue.getValueHigh() !== castedValue.getValueHigh() ||\n myValue.getValueLow() !== castedValue.getValueLow()) {\n this._removeByKey(in_key, false);\n this._insert(in_key, castedValue, false);\n // Make one final report\n this._reportDirtinessToView();\n }\n };\n\n /**\n * Function to serialize special primitive types.\n * Some primitive types (e.g. Int64, which is not natively supported by javascript) require\n * special treatment on serialization. For supported types, we can just return the input here.\n *\n * @param {*} in_obj - The object to be serialized\n * @return {property-properties.SerializedChangeSet} the serialized object\n */\n _serializeValue(in_obj) {\n return [in_obj.getValueLow(), in_obj.getValueHigh()];\n };\n\n /**\n * @inheritdoc\n */\n _prettyPrintChildren(indent, printFct) {\n indent += ' ';\n var int64Prop;\n _.mapValues(this._dynamicChildren, function (val, key) {\n // TODO: The 'toString()' function is defined on Integer64Property, so we need to create\n // such object to use it. It would be better to have it in Utils Integer64.prototype.toString\n if (val instanceof Int64) {\n int64Prop = new Int64Property({});\n } else {\n int64Prop = new Uint64Property({});\n }\n int64Prop.setValueLow(val.getValueLow());\n int64Prop.setValueHigh(val.getValueHigh());\n printFct(indent + key + ': ' + int64Prop);\n });\n };\n}\n\n/**\n * A ValueMapProperty which stores Int64 Properties\n */\nexport class Int64MapProperty extends Integer64MapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends Integer64MapProperty\n * @alias property-properties.Int64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Int64', });\n };\n\n _castFunctor = _castFunctors.Int64;\n\n\n /**\n * Specialized function to deserialize Int64 primitive types.\n * Some primitive types (e.g. Int64, which is not natively supported by javascript) require\n * special treatment on deserialization. For supported types, we can just return the input here.\n *\n * @param {property-properties.SerializedChangeSet} in_serializedObj - The object to be deserialized\n * @return {Int64} the deserialized value\n */\n _deserializeValue(in_serializedObj) {\n return new Int64(in_serializedObj[0], in_serializedObj[1]);\n };\n\n}\n\n/**\n * A ValueMapProperty which stores Uint64 Properties\n */\nexport class Uint64MapProperty extends Integer64MapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends Integer64MapProperty\n * @alias property-properties.Uint64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Uint64' });\n };\n\n _castFunctor = _castFunctors.Uint64;\n\n /**\n * Specialized function to deserialize Uint64 primitive types.\n * Some primitive types (e.g. Uint64, which is not natively supported by javascript) require\n * special treatment on deserialization. For supported types, we can just return the input here.\n *\n * @param {property-properties.SerializedChangeSet} in_serializedObj - The object to be deserialized\n * @return {Uint64} the deserialized value\n */\n _deserializeValue(in_serializedObj) {\n return new Uint64(in_serializedObj[0], in_serializedObj[1]);\n };\n}\n\n/**\n * A ValueMapProperty which stores Int16 values\n */\nexport class Int16MapProperty extends ValueMapProperty {\n /** @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int16MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Int16' });\n };\n\n _castFunctor = _castFunctors.Int16;\n}\n\n/**\n * A ValueMapProperty which stores Int8 values\n */\nexport class Int8MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int8MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Int8' });\n };\n\n _castFunctor = _castFunctors.Int8;\n}\n\n/**\n * A ValueMapProperty which stores string values\n */\nexport class StringMapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.StringMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ typeid: 'String', ...in_params, });\n };\n\n _castFunctor = _castFunctors.String;\n}\n\n/**\n * A ValueMapProperty which stores boolean values\n */\nexport class BoolMapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.BoolMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super({ ...in_params, typeid: 'Bool' });\n };\n\n _castFunctor = _castFunctors.Boolean;\n}\n"]}
1
+ {"version":3,"file":"valueMapProperty.js","sourceRoot":"","sources":["../../src/properties/valueMapProperty.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 */\n/**\n * @fileoverview Definition of the valuemap property class\n */\n\nconst _ = require('lodash');\nconst { MSG } = require('@fluid-experimental/property-common').constants;\nconst { _castFunctors } = require('./primitiveTypeCasts');\nconst { BaseProperty } = require('./baseProperty');\nconst { MapProperty } = require('./mapProperty');\nconst { Int64, Uint64 } = require('@fluid-experimental/property-common');\nconst { Int64Property, Uint64Property } = require('../properties/intProperties');\nconst { validationsEnabled } = require('../enableValidations');\n\n\n/**\n * A ValueMapProperty is a collection class that can contain an dictionary that maps from strings to primitive types.\n */\nexport class ValueMapProperty extends MapProperty {\n\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.MapProperty\n * @alias property-properties.ValueMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n /**\n * Inserts a value into the map. Using insert with a key that already exists will throw an error.\n *\n * @param {string} in_key - The key under which the entry is added\n * @param {*} in_value - The primitive type value to set\n * @throws if a value already exists for in_key\n */\n insert(in_key, in_value) {\n var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n this._insert(in_key, castedValue, true);\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 'firstString': 'test1',\n 'secondString': 'test2'\n }\n */\n getValues() {\n var ids = this.getIds();\n var result = {};\n for (var i = 0; i < ids.length; i++) {\n result[ids[i]] = this.get(ids[i]);\n }\n return result;\n };\n\n /**\n * Return a JSON representation of the map and its items.\n * @return {object} A JSON representation of the map and its items.\n * @private\n */\n _toJson() {\n return {\n id: this.getId(),\n context: this._context,\n typeid: this.getTypeid(),\n isConstant: this._isConstant,\n value: this.getValues()\n };\n };\n\n /**\n * Repeatedly calls back the given function with human-readable string\n * representations of the property's sub-properties.\n * @param {string} indent - Leading spaces to create the tree representation\n * @param {function} printFct - Function to call for printing each property\n */\n _prettyPrintChildren(indent, printFct) {\n indent += ' ';\n var prefix = '';\n var suffix = '';\n if (this.getTypeid() === 'String') {\n prefix = '\"';\n suffix = '\"';\n }\n _.mapValues(this._dynamicChildren, function (val, key) {\n printFct(indent + key + ': ' + prefix + val + suffix);\n });\n };\n\n /**\n * Sets the value of a property into the map.\n *\n * @param {string} in_key the key under which the entry is set\n * @param {*} in_value the value to be set\n */\n\tset(in_key, in_value) {\n\t if (validationsEnabled.enabled) {\n\t this._checkIsNotReadOnly(true);\n\t }\n\t var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n\t if (this._dynamicChildren[in_key] !== castedValue) {\n\t if (validationsEnabled.enabled) {\n\t this._checkIsNotReadOnly(true);\n\t }\n if (this._dynamicChildren[in_key] !== undefined) {\n this._removeByKey(in_key, false);\n }\n this._insert(in_key, castedValue, false);\n // Make one final report\n this._reportDirtinessToView();\n }\n };\n\n _getValue(in_key) {\n return this._dynamicChildren[in_key];\n };\n\n /**\n * @inheritdoc\n */\n _reapplyDirtyFlags(in_pendingChangeSet, in_dirtyChangeSet) {\n BaseProperty.prototype._reapplyDirtyFlags.call(this, in_pendingChangeSet, in_dirtyChangeSet);\n\n var i, j, keys, key;\n\n // Remove existing entries\n // (we remove before we add, so that a remove+add operation in effect becomes a replace)\n if (in_pendingChangeSet.remove) {\n if (_.isArray(in_pendingChangeSet.remove)) {\n for (i = 0; i < in_pendingChangeSet.remove.length; i++) {\n key = in_pendingChangeSet.remove[i];\n this._pendingChanges.remove[key] = true;\n }\n } else {\n // handle remove is an object case:\n keys = Object.keys(in_pendingChangeSet.remove);\n for (j = 0; j < keys.length; j++) {\n this._pendingChanges.remove[keys[j]] = true;\n }\n }\n }\n\n // Inserted entries\n if (in_pendingChangeSet.insert) {\n keys = Object.keys(in_pendingChangeSet.insert);\n for (i = 0; i < keys.length; i++) {\n if (this._dynamicChildren[keys[i]] !== undefined) {\n this._pendingChanges.insert[keys[i]] = true;\n } else {\n throw new Error(`${MSG.CANT_DIRTY_MISSING_PROPERTY}${keys[i]}`);\n }\n }\n }\n\n // Modify entries\n if (in_pendingChangeSet.modify) {\n var modifiedPendingEntries = in_pendingChangeSet ? in_pendingChangeSet.modify || {} : {};\n var modifiedDirtyEntries = in_dirtyChangeSet ? in_dirtyChangeSet.modify || {} : {};\n keys = Object.keys(modifiedPendingEntries).concat(Object.keys(modifiedDirtyEntries));\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n if (this._dynamicChildren[key] !== undefined) {\n if (modifiedPendingEntries[key]) {\n if (!this._pendingChanges.insert[key]) {\n this._pendingChanges.modify[key] = true;\n }\n }\n if (modifiedDirtyEntries[key]) {\n if (!this._dirtyChanges.insert[key]) {\n this._dirtyChanges.modify[key] = true;\n }\n }\n } else {\n throw new Error(MSG.MODIFY_NON_EXISTING_ENTRY + key);\n }\n }\n }\n\n // If working with primitive types, we have to update the dirty flag, when one of the entries\n // was changed\n this._setDirty(false);\n };\n\n}\n// The value map contains primitive types\nValueMapProperty.prototype._containsPrimitiveTypes = true;\n\n/**\n * A ValueMapProperty which stores Float32 values\n */\nexport class Float32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Float32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n }\n\n}\nFloat32MapProperty.prototype._typeid = 'Float32';\nFloat32MapProperty.prototype._castFunctor = _castFunctors.Float32;\n\n/**\n * A ValueMapProperty which stores Float64 values\n */\nexport class Float64MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Float64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nFloat64MapProperty.prototype._typeid = 'Float64';\nFloat64MapProperty.prototype._castFunctor = _castFunctors.Float64;\n\n/**\n * A ValueMapProperty which stores Uint32 values\n */\nexport class Uint32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nUint32MapProperty.prototype._typeid = 'Uint32';\nUint32MapProperty.prototype._castFunctor = _castFunctors.Uint32;\n\n/**\n * A ValueMapProperty which stores Uint16 values\n */\nexport class Uint16MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint16MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nUint16MapProperty.prototype._typeid = 'Uint16';\nUint16MapProperty.prototype._castFunctor = _castFunctors.Uint16;\n\n/**\n * A ValueMapProperty which stores Uint8 values\n */\nexport class Uint8MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Uint8MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nUint8MapProperty.prototype._typeid = 'Uint8';\nUint8MapProperty.prototype._castFunctor = _castFunctors.Uint8;\n\n/**\n * A ValueMapProperty which stores Int32 values\n */\nexport class Int32MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int32MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nInt32MapProperty.prototype._typeid = 'Int32';\nInt32MapProperty.prototype._castFunctor = _castFunctors.Int32;\n\n/**\n * An abstract base class for 64 bit integer map properties\n */\nexport class Integer64MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Integer64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n /**\n * Sets the entry with the given key to the value passed in\n *\n * Note: this will overwrite an already existing value\n *\n * @param {string} in_key - The key under which the entry is stored\n * @param {Int64|Uint64|string|number} in_value - The value or property to store in the map\n */\n set(in_key, in_value) {\n var castedValue = this._castFunctor ? this._castFunctor(in_value) : in_value;\n var myValue = this._dynamicChildren[in_key];\n if (myValue === undefined) {\n this._insert(in_key, castedValue, true);\n } else if (myValue.getValueHigh() !== castedValue.getValueHigh() ||\n myValue.getValueLow() !== castedValue.getValueLow()) {\n this._removeByKey(in_key, false);\n this._insert(in_key, castedValue, false);\n // Make one final report\n this._reportDirtinessToView();\n }\n };\n\n /**\n * Function to serialize special primitive types.\n * Some primitive types (e.g. Int64, which is not natively supported by javascript) require\n * special treatment on serialization. For supported types, we can just return the input here.\n *\n * @param {*} in_obj - The object to be serialized\n * @return {property-properties.SerializedChangeSet} the serialized object\n */\n _serializeValue(in_obj) {\n return [in_obj.getValueLow(), in_obj.getValueHigh()];\n };\n\n /**\n * @inheritdoc\n */\n _prettyPrintChildren(indent, printFct) {\n indent += ' ';\n var int64Prop;\n _.mapValues(this._dynamicChildren, function (val, key) {\n // TODO: The 'toString()' function is defined on Integer64Property, so we need to create\n // such object to use it. It would be better to have it in Utils Integer64.prototype.toString\n if (val instanceof Int64) {\n int64Prop = new Int64Property({});\n } else {\n int64Prop = new Uint64Property({});\n }\n int64Prop.setValueLow(val.getValueLow());\n int64Prop.setValueHigh(val.getValueHigh());\n printFct(indent + key + ': ' + int64Prop);\n });\n };\n}\n\n/**\n * A ValueMapProperty which stores Int64 Properties\n */\nexport class Int64MapProperty extends Integer64MapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends Integer64MapProperty\n * @alias property-properties.Int64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n /**\n * Specialized function to deserialize Int64 primitive types.\n * Some primitive types (e.g. Int64, which is not natively supported by javascript) require\n * special treatment on deserialization. For supported types, we can just return the input here.\n *\n * @param {property-properties.SerializedChangeSet} in_serializedObj - The object to be deserialized\n * @return {Int64} the deserialized value\n */\n _deserializeValue(in_serializedObj) {\n return new Int64(in_serializedObj[0], in_serializedObj[1]);\n };\n\n}\nInt64MapProperty.prototype._typeid = 'Int64';\nInt64MapProperty.prototype._castFunctor = _castFunctors.Int64;\n\n/**\n * A ValueMapProperty which stores Uint64 Properties\n */\nexport class Uint64MapProperty extends Integer64MapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends Integer64MapProperty\n * @alias property-properties.Uint64MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n\n /**\n * Specialized function to deserialize Uint64 primitive types.\n * Some primitive types (e.g. Uint64, which is not natively supported by javascript) require\n * special treatment on deserialization. For supported types, we can just return the input here.\n *\n * @param {property-properties.SerializedChangeSet} in_serializedObj - The object to be deserialized\n * @return {Uint64} the deserialized value\n */\n _deserializeValue(in_serializedObj) {\n return new Uint64(in_serializedObj[0], in_serializedObj[1]);\n };\n}\nUint64MapProperty.prototype._typeid = 'Uint64';\nUint64MapProperty.prototype._castFunctor = _castFunctors.Uint64;\n\n/**\n * A ValueMapProperty which stores Int16 values\n */\nexport class Int16MapProperty extends ValueMapProperty {\n /** @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int16MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nInt16MapProperty.prototype._typeid = 'Int16';\nInt16MapProperty.prototype._castFunctor = _castFunctors.Int16;\n\n/**\n * A ValueMapProperty which stores Int8 values\n */\nexport class Int8MapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.Int8MapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nInt8MapProperty.prototype._typeid = 'Int8';\nInt8MapProperty.prototype._castFunctor = _castFunctors.Int8;\n\n/**\n * A ValueMapProperty which stores string values\n */\nexport class StringMapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.StringMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nStringMapProperty.prototype._typeid = 'String';\nStringMapProperty.prototype._castFunctor = _castFunctors.String;\n\n/**\n * A ValueMapProperty which stores boolean values\n */\nexport class BoolMapProperty extends ValueMapProperty {\n /**\n * @param {Object} in_params - Input parameters for property creation\n *\n * @constructor\n * @protected\n * @extends property-properties.ValueMapProperty\n * @alias property-properties.BoolMapProperty\n * @category Maps\n */\n constructor(in_params) {\n super(in_params);\n };\n}\nBoolMapProperty.prototype._typeid = 'Bool';\nBoolMapProperty.prototype._castFunctor = _castFunctors.Boolean;\n"]}