# app/transforms/coordinate-point.ts
import Transform from '@ember-data/serializer/transform';
declare module 'ember-data/types/registries/transform' {
export default interface TransformRegistry {
'coordinate-point': CoordinatePointTransform;
export type CoordinatePoint = {
export default class CoordinatePointTransform extends Transform {
deserialize(serialized): CoordinatePoint {
return { x: value[0], y: value[1] };
serialize(value): number {
return [value.x, value.y];
import Model, { attr } from '@ember-data/model';
import { CoordinatePoint } from 'agwa-data/transforms/coordinate-point';
declare module 'ember-data/types/registries/transform' {
export default interface ModelRegistry {
export default class Cursor extends Model {
@attr('coordinate-point') declare position: CoordinatePoint;