`Ember.String.fmt` is deprecated
This commit is contained in:
parent
464f509941
commit
2d126cff8f
|
@ -1,3 +1,4 @@
|
|||
import addonFmt from 'ember-addons/fmt';
|
||||
/**
|
||||
Returns whether two properties are equal to each other.
|
||||
|
||||
|
@ -46,14 +47,10 @@ export function propertyLessThan(p1, p2) {
|
|||
@params {String} format the i18n format string
|
||||
@return {Function} computedProperty function
|
||||
**/
|
||||
export function i18n() {
|
||||
const args = Array.prototype.slice.call(arguments, 0);
|
||||
export function i18n(...args) {
|
||||
const format = args.pop();
|
||||
const computed = Em.computed(function() {
|
||||
const self = this;
|
||||
return I18n.t(format.fmt.apply(format, args.map(function (a) {
|
||||
return self.get(a);
|
||||
})));
|
||||
const computed = Ember.computed(function() {
|
||||
return I18n.t(addonFmt(format, ...args.map(a => this.get(a))));
|
||||
});
|
||||
return computed.property.apply(computed, args);
|
||||
}
|
||||
|
@ -67,14 +64,10 @@ export function i18n() {
|
|||
@params {String} format the format string
|
||||
@return {Function} computedProperty function
|
||||
**/
|
||||
export function fmt() {
|
||||
const args = Array.prototype.slice.call(arguments, 0);
|
||||
export function fmt(...args) {
|
||||
const format = args.pop();
|
||||
const computed = Em.computed(function() {
|
||||
const self = this;
|
||||
return format.fmt.apply(format, args.map(function (a) {
|
||||
return self.get(a);
|
||||
}));
|
||||
const computed = Ember.computed(function() {
|
||||
return addonFmt(format, ...args.map(a => this.get(a)));
|
||||
});
|
||||
return computed.property.apply(computed, args);
|
||||
}
|
||||
|
@ -88,14 +81,10 @@ export function fmt() {
|
|||
@params {String} format the format string for the URL
|
||||
@return {Function} computedProperty function returning a URL
|
||||
**/
|
||||
export function url() {
|
||||
const args = Array.prototype.slice.call(arguments, 0);
|
||||
export function url(...args) {
|
||||
const format = args.pop();
|
||||
const computed = Em.computed(function() {
|
||||
const self = this;
|
||||
return Discourse.getURL(format.fmt.apply(format, args.map(function (a) {
|
||||
return self.get(a);
|
||||
})));
|
||||
const computed = Ember.computed(function() {
|
||||
return Discourse.getURL(addonFmt(format, ...args.map(a => this.get(a))));
|
||||
});
|
||||
return computed.property.apply(computed, args);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
const inspect = Ember.inspect;
|
||||
const isArray = Ember.isArray;
|
||||
|
||||
export default function(str, formats) {
|
||||
let cachedFormats = formats;
|
||||
|
||||
if (!isArray(cachedFormats) || arguments.length > 2) {
|
||||
cachedFormats = new Array(arguments.length - 1);
|
||||
|
||||
for (let i = 1, l = arguments.length; i < l; i++) {
|
||||
cachedFormats[i - 1] = arguments[i];
|
||||
}
|
||||
}
|
||||
|
||||
// first, replace any ORDERED replacements.
|
||||
let idx = 0; // the current index for non-numerical replacements
|
||||
return str.replace(/%@([0-9]+)?/g, function(s, argIndex) {
|
||||
argIndex = (argIndex) ? parseInt(argIndex, 10) - 1 : idx++;
|
||||
s = cachedFormats[argIndex];
|
||||
return (s === null) ? '(null)' : (s === undefined) ? '' : inspect(s);
|
||||
});
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
//= require ./ember-addons/decorator-alias
|
||||
//= require ./ember-addons/macro-alias
|
||||
//= require ./ember-addons/ember-computed-decorators
|
||||
//= require ./ember-addons/fmt
|
||||
//= require_tree ./discourse-common
|
||||
//= require ./discourse
|
||||
//= require ./deprecated
|
||||
|
|
Loading…
Reference in New Issue