vault/ui/app/transforms/comma-string.js
claire bontempo f2cc80c282
Secrets Sync UI: Refactor vercel-project destination to expect array from server (#24628)
* fix vercel project to expect array from server

* add test

* use reduce function!
2023-12-21 14:39:05 -08:00

28 lines
708 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Transform from '@ember-data/serializer/transform';
/**
* transforms array types from the server to a comma separated string
* useful when using changedAttributes() in the serializer to track attribute changes for PATCH requests
* because arrays are not trackable and strings are!
*/
export default class CommaString extends Transform {
deserialize(serialized) {
if (Array.isArray(serialized)) {
return serialized.join(',');
}
return serialized;
}
serialize(deserialized) {
if (typeof deserialized === 'string') {
return deserialized.split(',');
}
return deserialized;
}
}