Skip to content

Commit

Permalink
📦 generate types and bundles
Browse files Browse the repository at this point in the history
  • Loading branch information
VitorLuizC committed Mar 22, 2021
1 parent e91db47 commit 2db1775
Show file tree
Hide file tree
Showing 11 changed files with 155 additions and 95 deletions.
52 changes: 35 additions & 17 deletions dist/index.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,44 @@

'use strict';

Object.defineProperty(exports, '__esModule', { value: true });
var defaultResolver = require('jest-resolve/build/defaultResolver');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var defaultResolver__default = /*#__PURE__*/_interopDefaultLegacy(defaultResolver);

/**
* Check if value is parseable to number.
* @example ```ts
* isNumberParseable('AAAA');
* //=> false
*
* isNumberParseable('100');
* //=> true
* A `RegExp` that checks if file name has JavaScript extension.
*/
var JAVASCRIPT_EXTENSION = /\.js$/i;
/**
* A list of TypeScript file extensions, in the order used by its resolver.
*/
var TYPESCRIPT_EXTENSIONS = ['.ts', '.tsx'];
/**
* A resolver for `jest` that uses same strategy as TS when resolving files with
* JavaScript extension (".js"). Otherwise it just uses default resolver.
*
* if (!isNumberParseable(value))
* throw new Error('Value can\'t be parseable to `Number`.')
* return Number(value);
* ```
* @param value - An `unknown` value to be checked.
* When receives a path with JavaScript extension (".js"):
* 1. It tries to resolve to a path with ".ts".
* 2. If no file was found, it tries to resolve to a path with ".tsx".
* 3. If no file was found, it resolves to original path (with ".js").
*/
var isNumberParseable = function (value) {
return !Number.isNaN(Number(value));
};
function resolverForTSJest(path, options) {
var resolver = options.defaultResolver || defaultResolver__default['default'];
if (JAVASCRIPT_EXTENSION.test(path)) {
for (var _i = 0, TYPESCRIPT_EXTENSIONS_1 = TYPESCRIPT_EXTENSIONS; _i < TYPESCRIPT_EXTENSIONS_1.length; _i++) {
var extension = TYPESCRIPT_EXTENSIONS_1[_i];
try {
return resolver(path.replace(JAVASCRIPT_EXTENSION, extension), options);
}
catch (_a) {
continue;
}
}
}
return resolver(path, options);
}

exports.isNumberParseable = isNumberParseable;
module.exports = resolverForTSJest;
//# sourceMappingURL=index.cjs.map
2 changes: 1 addition & 1 deletion dist/index.cjs.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 32 additions & 16 deletions dist/index.esm.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index.esm.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 35 additions & 17 deletions dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 32 additions & 16 deletions dist/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,40 @@
* Released under the MIT License.
*/

import defaultResolver from 'jest-resolve/build/defaultResolver';

/**
* Check if value is parseable to number.
* @example ```ts
* isNumberParseable('AAAA');
* //=> false
*
* isNumberParseable('100');
* //=> true
* A `RegExp` that checks if file name has JavaScript extension.
*/
var JAVASCRIPT_EXTENSION = /\.js$/i;
/**
* A list of TypeScript file extensions, in the order used by its resolver.
*/
var TYPESCRIPT_EXTENSIONS = ['.ts', '.tsx'];
/**
* A resolver for `jest` that uses same strategy as TS when resolving files with
* JavaScript extension (".js"). Otherwise it just uses default resolver.
*
* if (!isNumberParseable(value))
* throw new Error('Value can\'t be parseable to `Number`.')
* return Number(value);
* ```
* @param value - An `unknown` value to be checked.
* When receives a path with JavaScript extension (".js"):
* 1. It tries to resolve to a path with ".ts".
* 2. If no file was found, it tries to resolve to a path with ".tsx".
* 3. If no file was found, it resolves to original path (with ".js").
*/
var isNumberParseable = function (value) {
return !Number.isNaN(Number(value));
};
function resolverForTSJest(path, options) {
var resolver = options.defaultResolver || defaultResolver;
if (JAVASCRIPT_EXTENSION.test(path)) {
for (var _i = 0, TYPESCRIPT_EXTENSIONS_1 = TYPESCRIPT_EXTENSIONS; _i < TYPESCRIPT_EXTENSIONS_1.length; _i++) {
var extension = TYPESCRIPT_EXTENSIONS_1[_i];
try {
return resolver(path.replace(JAVASCRIPT_EXTENSION, extension), options);
}
catch (_a) {
continue;
}
}
}
return resolver(path, options);
}

export { isNumberParseable };
export default resolverForTSJest;
//# sourceMappingURL=index.mjs.map
2 changes: 1 addition & 1 deletion dist/index.mjs.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 2db1775

Please # to comment.