This package provides a utility function to transform a Cube.js object into a nested JavaScript object.
To install the package, you can use npm or yarn:
npm install cubejs-object-transformer
or
yarn add cubejs-object-transformer
import {
convertCubeObjectToNestedObject,
convertCubeArrayToNestedObjectArray,
} from "cubejs-object-transformer";
const originalObject = {
"Issue.id": "1",
"Issue.description": "asd",
"Issue.x": "asd",
"Issue.y": "asd",
"Member.id": "a",
"Member.b": "b",
};
const convertedObject = convertCubeObjectToNestedObject(
originalObject,
"Issue"
);
console.log(convertedObject);
/*
Output:
{
id: '1',
description: 'asd',
x: 'asd',
y: 'asd',
member: {
id: 'a',
b: 'b',
},
}
*/
const originalArray = [originalObject];
const convertedArray = convertCubeArrayToNestedObjectArray(
originalArray,
"Issue"
);
console.log(convertedArray);
/*
Output:
[
{
id: '1',
description: 'asd',
x: 'asd',
y: 'asd',
member: {
id: 'a',
b: 'b',
},
},
]
*/
convertCubeObjectToNestedObject<T extends CubeObject>(originalObject: T, mainField?: string): NestedObject
This function takes a Cube.js object originalObject
and converts it into a nested JavaScript object. You can also provide an optional mainField
parameter to specify the main field that should be used to group the properties on higher level.
convertCubeArrayToNestedObjectArray<T extends CubeObject>(originalArray: T[], mainField?: string): NestedObject[]
This function takes an array of Cube.js objects originalArray
and converts each object into a nested JavaScript object. You can also provide an optional mainField
parameter to specify the main field that should be used to group the properties on higher level.
This package is licensed under the MIT License.
Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open a GitHub issue or submit a pull request.