project files added
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildFormatLongFn;
|
||||
|
||||
function buildFormatLongFn(args) {
|
||||
return function (dirtyOptions) {
|
||||
var options = dirtyOptions || {};
|
||||
var width = options.width ? String(options.width) : args.defaultWidth;
|
||||
var format = args.formats[width] || args.formats[args.defaultWidth];
|
||||
return format;
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildLocalizeFn;
|
||||
|
||||
function buildLocalizeFn(args) {
|
||||
return function (dirtyIndex, dirtyOptions) {
|
||||
var options = dirtyOptions || {};
|
||||
var context = options.context ? String(options.context) : 'standalone';
|
||||
var valuesArray;
|
||||
|
||||
if (context === 'formatting' && args.formattingValues) {
|
||||
var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
|
||||
var width = options.width ? String(options.width) : defaultWidth;
|
||||
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
|
||||
} else {
|
||||
var _defaultWidth = args.defaultWidth;
|
||||
|
||||
var _width = options.width ? String(options.width) : args.defaultWidth;
|
||||
|
||||
valuesArray = args.values[_width] || args.values[_defaultWidth];
|
||||
}
|
||||
|
||||
var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
|
||||
return valuesArray[index];
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildMatchFn;
|
||||
|
||||
function buildMatchFn(args) {
|
||||
return function (dirtyString, dirtyOptions) {
|
||||
var string = String(dirtyString);
|
||||
var options = dirtyOptions || {};
|
||||
var width = options.width;
|
||||
var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
|
||||
var matchResult = string.match(matchPattern);
|
||||
|
||||
if (!matchResult) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var matchedString = matchResult[0];
|
||||
var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
|
||||
var value;
|
||||
|
||||
if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {
|
||||
value = findIndex(parsePatterns, function (pattern) {
|
||||
return pattern.test(string);
|
||||
});
|
||||
} else {
|
||||
value = findKey(parsePatterns, function (pattern) {
|
||||
return pattern.test(string);
|
||||
});
|
||||
}
|
||||
|
||||
value = args.valueCallback ? args.valueCallback(value) : value;
|
||||
value = options.valueCallback ? options.valueCallback(value) : value;
|
||||
return {
|
||||
value: value,
|
||||
rest: string.slice(matchedString.length)
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
function findKey(object, predicate) {
|
||||
for (var key in object) {
|
||||
if (object.hasOwnProperty(key) && predicate(object[key])) {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function findIndex(array, predicate) {
|
||||
for (var key = 0; key < array.length; key++) {
|
||||
if (predicate(array[key])) {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildMatchPatternFn;
|
||||
|
||||
function buildMatchPatternFn(args) {
|
||||
return function (dirtyString, dirtyOptions) {
|
||||
var string = String(dirtyString);
|
||||
var options = dirtyOptions || {};
|
||||
var matchResult = string.match(args.matchPattern);
|
||||
|
||||
if (!matchResult) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var matchedString = matchResult[0];
|
||||
var parseResult = string.match(args.parsePattern);
|
||||
|
||||
if (!parseResult) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
|
||||
value = options.valueCallback ? options.valueCallback(value) : value;
|
||||
return {
|
||||
value: value,
|
||||
rest: string.slice(matchedString.length)
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = exports.default;
|
||||
Reference in New Issue
Block a user