Skip to content

Commit

Permalink
Renamed ref to resolve and deprecated ref
Browse files Browse the repository at this point in the history
Per @domenicdenicola’s sagacious recommendation.
  • Loading branch information
kriskowal committed Jan 18, 2012
1 parent 70a4b57 commit 5ec5b0a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
5 changes: 5 additions & 0 deletions CHANGES.md
@@ -1,5 +1,10 @@
<!-- vim:ts=4:sts=4:sw=4:et:tw=60 -->

## Next minor

- Deprecated ``ref`` in favor of ``resolve`` as recommended by
@domenicdenicola.

## 0.8.1

- Fixed opera bug. #35 @cadorn
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -625,7 +625,7 @@ UNION
}


## ``ref(value)``
## ``resolve(value)``

If value is a promise, returns the promise.

Expand Down
32 changes: 16 additions & 16 deletions q.js
Expand Up @@ -177,11 +177,11 @@ function defer() {
return value.valueOf();
};

var resolve = function (resolvedValue) {
var become = function (resolvedValue) {
var i, ii, task;
if (!pending)
return;
value = ref(resolvedValue);
value = resolve(resolvedValue);
reduce.call(pending, function (undefined, pending) {
nextTick(function () {
value.promiseSend.apply(value, pending);
Expand All @@ -192,9 +192,9 @@ function defer() {
};

deferred.promise = freeze(promise);
deferred.resolve = resolve;
deferred.resolve = become;
deferred.reject = function (reason) {
return resolve(reject(reason));
return become(reject(reason));
};

return deferred;
Expand Down Expand Up @@ -361,12 +361,12 @@ reject.prototype = create(Promise.prototype, {
* Constructs a promise for an immediate reference.
* @param value immediate reference
*/
exports.ref = ref;
function ref(object) {
exports.resolve = resolve;
exports.ref = resolve; // XXX Deprecated
function resolve(object) {
// If the object is already a Promise, return it directly. This enables
// the ref function to both be used to created references from
// objects, but to tolerably coerce non-promises to refs if they are
// not already Promises.
// the resolve function to both be used to created references from objects,
// but to tolerably coerce non-promises to promises.
if (isPromise(object))
return object;
// assimilate thenables, CommonJS/Promises/A
Expand Down Expand Up @@ -440,7 +440,7 @@ function master(object) {

exports.viewInfo = viewInfo;
function viewInfo(object, info) {
object = ref(object);
object = resolve(object);
if (info) {
return Promise({
"viewInfo": function () {
Expand Down Expand Up @@ -476,7 +476,7 @@ function view(object) {
};
}
});
return ref(view);
return resolve(view);
});
}

Expand Down Expand Up @@ -518,12 +518,12 @@ function when(value, fulfilled, rejected) {
}

nextTick(function () {
ref(value).promiseSend("when", function (value) {
resolve(value).promiseSend("when", function (value) {
if (done)
return;
done = true;
deferred.resolve(
ref(value)
resolve(value)
.promiseSend("when", _fulfilled, _rejected)
);
}, function (reason) {
Expand Down Expand Up @@ -627,7 +627,7 @@ exports.send = send;
function send(object, op) {
var deferred = defer();
var args = slice.call(arguments, 2);
object = ref(object);
object = resolve(object);
nextTick(function () {
object.promiseSend.apply(
object,
Expand Down Expand Up @@ -668,7 +668,7 @@ exports.del = Method("del");
* @param name name of method to invoke
* @param value a value to post, typically an array of
* invocation arguments for promises that
* are ultimately backed with `ref` values,
* are ultimately backed with `resolve` values,
* as opposed to those backed with URLs
* wherein the posted value can be any
* JSON serializable object.
Expand Down Expand Up @@ -729,7 +729,7 @@ function all(promises) {
return when(promises, function (promises) {
var countDown = promises.length;
if (countDown === 0)
return ref(promises);
return resolve(promises);
var deferred = defer();
reduce.call(promises, function (undefined, promise, index) {
when(promise, function (value) {
Expand Down

0 comments on commit 5ec5b0a

Please sign in to comment.