url-safe-bitpacking 0.1.10 → 0.1.11

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { ObjectGenerationOutputStatus, DataType } from './enums';
2
2
  export { DataEntryFactory } from './factory';
3
- export { createParserObject, parseUrl, updateDataEntry, getURLSafeBase64ForData, getSemanticallyNestedValues } from './objectmap';
3
+ export { createParserObject, parseUrl, updateDataEntry, getURLSafeBase64ForData, getSemanticallyNestedValues, getDefaultObject, getFlatArray, } from './objectmap';
4
4
  export {} from './parsers';
5
5
  export { SingleLevelContentType, NestedContentDataType, NestedContentType, DoubleLevelContentType, NonEmptyValidEntryArrayType, OptionalEntryDataType, EnumEntryDataType, VersionArrayDefinitionType, PrecisionRangeType, SignificandMaxBits, FloatData, IntegerMaxBits, IntData, VersionRangeType, VersionData, BooleanData, DataEntry, DataEntryArray, SemanticlyNestedDataEntry, ObjectGeneratorMethod, DefinitionGenerationObject, DefinitionNestedArray, DefinitionNestedGenerationObject, DefinitionSubObject, DefinitionArrayObject, VersionDefinitionObject, VersionEnumSemantics, ParserForVersion, ParsersForVersionObject, } from './types';
6
6
  export {} from './update';
package/dist/index.js CHANGED
@@ -315,6 +315,21 @@ var dataArrayStringifier = (dataEntryArray) => {
315
315
 
316
316
  // src/objectmap/versionReading.ts
317
317
  var currentObjectIndex = -1;
318
+ var nestedDataEntryArrayToObject = (definitionArrayObject) => {
319
+ currentObjectIndex = -1;
320
+ return internalNestedDataEntryArrayToObject(definitionArrayObject);
321
+ };
322
+ var internalNestedDataEntryArrayToObject = (definitionArrayObject) => {
323
+ return Object.fromEntries(definitionArrayObject.map((value) => {
324
+ if (Array.isArray(value)) {
325
+ if (value.length === 2)
326
+ return [value[0], internalNestedDataEntryArrayToObject(value[1])];
327
+ else
328
+ return [value[0], internalNestedDataEntryArrayToObject(value[2](value[1]))];
329
+ }
330
+ return [value.name, { ...value, index: ++currentObjectIndex }];
331
+ }));
332
+ };
318
333
  var definitionArrayObjectParser = (bitString, v) => {
319
334
  const [key, values] = v;
320
335
  const [nestedSemanticObject, objectGenerationStatus, localEndIndex] = parsingDefinitionArrayObject(bitString, values);
@@ -531,6 +546,12 @@ var getSemanticallyNestedValues = (data, parserVersions) => {
531
546
  const attributeSemanticsMapping = parserVersions.parsers[versionNumber]?.attributeSemanticsMapping;
532
547
  return internalStrictSemanticallyNestedValues(data, enumSemanticsMapping, attributeSemanticsMapping);
533
548
  };
549
+ var getDefaultObject = (parserForVersions, versionindex) => {
550
+ if (!parserForVersions.parsers[versionindex])
551
+ throw new Error(`No parser for version ${versionindex} index`);
552
+ return nestedDataEntryArrayToObject(parserForVersions.parsers[versionindex].objectGeneratorParameters);
553
+ };
554
+ var getFlatArray = (data) => parseDownNestedDataDescription(data);
534
555
  // src/utils/interpolateData.ts
535
556
  var interpolateEntryAt = (dataEntry2, t) => {
536
557
  const localT = Math.max(Math.min(1, t), 0);
@@ -570,6 +591,8 @@ export {
570
591
  getURLSafeBase64ForData,
571
592
  getSemanticallyNestedValues,
572
593
  getRelativeValue,
594
+ getFlatArray,
595
+ getDefaultObject,
573
596
  createParserObject,
574
597
  SignificandMaxBits,
575
598
  ObjectGenerationOutputStatus,
@@ -1,4 +1,4 @@
1
- import { VersionArrayDefinitionType, VersionRangeType, VersionEnumSemantics, ParsersForVersionObject, SemanticlyNestedDataEntry, DataEntry, SemanticlyNestedValues } from '../types';
1
+ import { VersionArrayDefinitionType, VersionRangeType, VersionEnumSemantics, ParsersForVersionObject, SemanticlyNestedDataEntry, DataEntry, SemanticlyNestedValues, DataEntryArray } from '../types';
2
2
  /**
3
3
  * Method to create version definition objects
4
4
  * @param {VersionArrayDefinitionType[]} versionArray - version definition array
@@ -41,3 +41,16 @@ export declare const getURLSafeBase64ForData: (data: SemanticlyNestedDataEntry)
41
41
  * @returns {SemanticlyNestedDataEntry} - the basic object
42
42
  */
43
43
  export declare const getSemanticallyNestedValues: (data: SemanticlyNestedDataEntry, parserVersions: ParsersForVersionObject) => SemanticlyNestedValues;
44
+ /**
45
+ * Method to get the default object for a given version
46
+ * @param {ParsersForVersionObject} parserForVersions - the object containing the version parsers
47
+ * @param {number} versionindex - number of the version you want to generate the default object for
48
+ * @returns SemanticlyNestedDataEntry
49
+ */
50
+ export declare const getDefaultObject: (parserForVersions: ParsersForVersionObject, versionindex: number) => SemanticlyNestedDataEntry;
51
+ /**
52
+ * Method to get the get a (sorted by index) flat array of a SemanticallyNestedDataEntry
53
+ * @param {SemanticlyNestedDataEntry} data - the semanticly nested data entry to flatten
54
+ * @returns DataEntryArray
55
+ */
56
+ export declare const getFlatArray: (data: SemanticlyNestedDataEntry) => DataEntryArray;
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "dist/*"
7
7
  ],
8
8
  "type": "module",
9
- "version": "0.1.10",
9
+ "version": "0.1.11",
10
10
  "author": "Jonas Ward",
11
11
  "description": "Library for creating web safe base64 objects with custom bith widths and dynamic values.",
12
12
  "scripts": {