# Registering transforms in Ember-Data Beta 2

**URL:** <https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489>\
**Category:** Uncategorized\
**Created:** [September 6, 2013, 8:51pm UTC](https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489 "2013-09-06T20:51:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pzuraq](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/pzuraq/32/13754_2.png) [@pzuraq](https://discuss.emberjs.com/u/pzuraq)\
**Post date:** [September 6, 2013, 8:51pm UTC](https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489/1 "2013-09-06T20:51:29Z")

</div>

The `registerTransform` method has been removed, and the guides haven’t been updated yet. Looking at the source, it seems they are registered via initializers? How would I make my own to register my own transforms?

---

<div class="post-metadata">

**Author:** ![thomaslang](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/thomaslang/32/4780_2.png) [@thomaslang](https://discuss.emberjs.com/u/thomaslang)\
**Post date:** [September 10, 2013, 8:37am UTC](https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489/2 "2013-09-10T08:37:55Z")

</div>

Transforms are looked up in the container. Try this:

```
App.register('transform:my_transform', function(){...});

```

---

<div class="post-metadata">

**Author:** ![codefox421](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/codefox421/32/14885_2.png) [@codefox421](https://discuss.emberjs.com/u/codefox421)\
**Post date:** [September 10, 2013, 1:21pm UTC](https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489/3 "2013-09-10T13:21:44Z")

</div>

I’m trying to find the answer to this as well. (Here’s a [link to the initializers](https://github.com/emberjs/data/blob/v1.0.0-beta.2/packages/ember-data/lib/initializers.js#L57) @pzuraq mentioned btw.)

@thomaslang’s solution is what I’m currently using, but it seems like there should be an easier way to do this. If nothing exists right now, what about something as simple as:

```javascript
Ember.Application.reopen({
  registerTransform: function(type, transform) {
    // TODO: Probably needs some error checking here
    this.register('transform:' + type, transform);
  }
});

```

This way the old `registerTransform` syntax would be preserved. Users would only have to move their registrations from their adapter to their application:

```javascript
// App.RESTAdapter.registerTransform('custom_type', {
// serialize: function(value) { ... },
// deserialize: function(value) { ... }
// });
//
// ...becomes...

App.registerTransform('custom_type', {
  serialize: function(value) { ... },
  deserialize: function(value) { ... }
});

```

Extending `DS.Transform` doesn’t seem to be mandatory, but might be advisable. This too would be an insignificant edit to existing code.

---

<div class="post-metadata">

**Author:** ![codefox421](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/codefox421/32/14885_2.png) [@codefox421](https://discuss.emberjs.com/u/codefox421)\
**Post date:** [September 10, 2013, 3:43pm UTC](https://discuss.emberjs.com/t/registering-transforms-in-ember-data-beta-2/2489/4 "2013-09-10T15:43:26Z")

</div>

I’ve since found this gem: [https://github.com/emberjs/data/blob/master/TRANSITION.md#json-transforms](https://github.com/emberjs/data/blob/master/TRANSITION.md#json-transforms)

I’ve changed my app in accordance with this. However, I can’t tell if it works because I’m using `DS.FixtureAdapter` which seems to bypass transforms.

If anyone knows how to get the fixture adapter working with the JSON serializer, please hit the _Reply as new Topic_ link and let me know! 😀
