Skip to content

Commit

Permalink
down to just circular refs and instance initializers
Browse files Browse the repository at this point in the history
  • Loading branch information
runspired authored and stefanpenner committed Apr 24, 2017
1 parent 9c5557c commit 24f4120
Show file tree
Hide file tree
Showing 28 changed files with 14,519 additions and 721 deletions.
13,758 changes: 13,758 additions & 0 deletions DEBUG-rollup-tree/-private.js

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions addon/-private/adapters/errors.js

Large diffs are not rendered by default.

18 changes: 16 additions & 2 deletions addon/-private/index.js
Expand Up @@ -7,14 +7,28 @@ export { default as belongsTo } from './system/relationships/belongs-to';
export { default as hasMany } from './system/relationships/has-many';
export { default as BuildURLMixin } from './adapters/build-url-mixin';
export { default as Snapshot } from './system/snapshot';
export {
AdapterError,
InvalidError,
UnauthorizedError,
ForbiddenError,
NotFoundError,
ConflictError,
ServerError,
TimeoutError,
AbortError,
errorsHashToArray,
errorsArrayToHash
} from './adapters/errors';

// maybe public ?
export { default as normalizeModelName } from './system/normalize-model-name';
export { modelHasAttributeOrRelationshipNamedType } from './utils';
export { getOwner, modelHasAttributeOrRelationshipNamedType } from './utils';
export { default as coerceId } from './system/coerce-id';
export { default as parseResponseHeaders } from './utils/parse-response-headers';

// should be moved into public ?
export { default as Transform } from './transforms/transform';
export { default as NumberTransform } from './transforms/number';
export { default as DateTransform } from './transforms/date';
export { default as StringTransform } from './transforms/string';
Expand All @@ -25,6 +39,7 @@ export { default as RootState } from './system/model/states';
export { default as global } from './global';
export { default as isEnabled } from './features';
export { default as InternalModel } from './system/model/internal-model';
export { parseDate } from './ext/date';

export {
PromiseArray,
Expand All @@ -40,7 +55,6 @@ export {

export { default as ManyArray } from './system/many-array';
export { default as RecordArrayManager } from './system/record-array-manager';
export { default as initializeStoreService } from './instance-initializers/initialize-store-service';
export { default as Relationship } from './system/relationships/state/relationship';

// Should be a different Repo ?
Expand Down
12 changes: 0 additions & 12 deletions addon/-private/initializers/data-adapter.js

This file was deleted.

15 changes: 0 additions & 15 deletions addon/-private/initializers/store-injections.js

This file was deleted.

43 changes: 0 additions & 43 deletions addon/-private/initializers/store.js

This file was deleted.

18 changes: 0 additions & 18 deletions addon/-private/initializers/transforms.js

This file was deleted.

4 changes: 1 addition & 3 deletions addon/-private/system/model/internal-model.js
Expand Up @@ -6,9 +6,7 @@ import Snapshot from "../snapshot";
import isEnabled from '../../features';
import OrderedSet from "../ordered-set";

import {
getOwner
} from 'ember-data/-private/utils';
import { getOwner } from '../../utils';

import {
RecordReference,
Expand Down
3 changes: 1 addition & 2 deletions addon/-private/system/model/model.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import { assert, deprecate, warn } from 'ember-data/-debug';
import { assert, deprecate, warn, runInDebug } from 'ember-data/-debug';
import { PromiseObject } from "../promise-proxies";
import Errors from "../model/errors";
import isEnabled from '../../features';
Expand All @@ -9,7 +9,6 @@ import {
relatedTypesDescriptor,
relationshipsDescriptor
} from '../relationships/ext';
import { runInDebug } from 'ember-data/-debug';

const {
get,
Expand Down
2 changes: 1 addition & 1 deletion addon/-private/system/references/belongs-to.js
@@ -1,4 +1,4 @@
import Model from 'ember-data/model';
import Model from '../model/model';
import Ember from 'ember';
import Reference from './reference';

Expand Down
4 changes: 2 additions & 2 deletions addon/-private/system/store.js
Expand Up @@ -3,16 +3,16 @@
*/

import Ember from 'ember';
import { InvalidError } from '../adapters/errors';
import {
instrument,
assert,
deprecate,
warn,
runInDebug
} from 'ember-data/-debug';
import Model from '../../model';
import Model from './model/model';
import normalizeModelName from "./normalize-model-name";
import { InvalidError } from '../../adapters/errors';
import IdentityMap from './identity-map';

import {
Expand Down
11 changes: 3 additions & 8 deletions addon/-private/system/store/finders.js
Expand Up @@ -4,15 +4,10 @@ import {
_bind,
_guard,
_objectIsAlive
} from "ember-data/-private/system/store/common";
} from "./common";

import {
normalizeResponseHelper
} from "ember-data/-private/system/store/serializer-response";

import {
serializerForAdapter
} from "ember-data/-private/system/store/serializers";
import { normalizeResponseHelper } from "./serializer-response";
import { serializerForAdapter } from "./serializers";

const { Promise } = Ember.RSVP;

Expand Down
2 changes: 1 addition & 1 deletion addon/-private/transforms/boolean.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Transform from "../../transform";
import Transform from './transform';

const { isNone } = Ember;

Expand Down
4 changes: 2 additions & 2 deletions addon/-private/transforms/date.js
@@ -1,4 +1,5 @@
import { parseDate } from "../ext/date";
import Transform from './transform';
import { parseDate } from '../ext/date';

/**
The `DS.DateTransform` class is used to serialize and deserialize
Expand All @@ -21,7 +22,6 @@ import { parseDate } from "../ext/date";
@extends DS.Transform
@namespace DS
*/
import Transform from "ember-data/transform";

export default Transform.extend({
deserialize(serialized) {
Expand Down
2 changes: 1 addition & 1 deletion addon/-private/transforms/number.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Transform from "../../transform";
import Transform from './transform';

const empty = Ember.isEmpty;

Expand Down
2 changes: 1 addition & 1 deletion addon/-private/transforms/string.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import Transform from "../../transform";
import Transform from './transform';

const none = Ember.isNone;

Expand Down
108 changes: 108 additions & 0 deletions addon/-private/transforms/transform.js
@@ -0,0 +1,108 @@
import Ember from 'ember';

/**
The `DS.Transform` class is used to serialize and deserialize model
attributes when they are saved or loaded from an
adapter. Subclassing `DS.Transform` is useful for creating custom
attributes. All subclasses of `DS.Transform` must implement a
`serialize` and a `deserialize` method.
Example
```app/transforms/temperature.js
import DS from 'ember-data';
// Converts centigrade in the JSON to fahrenheit in the app
export default DS.Transform.extend({
deserialize(serialized, options) {
return (serialized * 1.8) + 32;
},
serialize(deserialized, options) {
return (deserialized - 32) / 1.8;
}
});
```
The options passed into the `DS.attr` function when the attribute is
declared on the model is also available in the transform.
```app/models/post.js
export default DS.Model.extend({
title: DS.attr('string'),
markdown: DS.attr('markdown', {
markdown: {
gfm: false,
sanitize: true
}
})
});
```
```app/transforms/markdown.js
export default DS.Transform.extend({
serialize(deserialized, options) {
return deserialized.raw;
},
deserialize(serialized, options) {
var markdownOptions = options.markdown || {};
return marked(serialized, markdownOptions);
}
});
```
Usage
```app/models/requirement.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
temperature: DS.attr('temperature')
});
```
@class Transform
@namespace DS
*/
export default Ember.Object.extend({
/**
When given a deserialized value from a record attribute this
method must return the serialized value.
Example
```javascript
serialize(deserialized, options) {
return Ember.isEmpty(deserialized) ? null : Number(deserialized);
}
```
@method serialize
@param deserialized The deserialized value
@param options hash of options passed to `DS.attr`
@return The serialized value
*/
serialize: null,

/**
When given a serialize value from a JSON object this method must
return the deserialized value for the record attribute.
Example
```javascript
deserialize(serialized, options) {
return empty(serialized) ? null : Number(serialized);
}
```
@method deserialize
@param serialized The serialized value
@param options hash of options passed to `DS.attr`
@return The deserialized value
*/
deserialize: null
});

0 comments on commit 24f4120

Please sign in to comment.