Skip to content

Commit 12ffed0

Browse files
authored
Esm utils (#28)
* esm for @prefresh/utils * add es exports * remove cjyes * correct mistake for switched types
1 parent 7180dc5 commit 12ffed0

File tree

6 files changed

+68
-43
lines changed

6 files changed

+68
-43
lines changed

packages/utils/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"name": "@prefresh/utils",
33
"version": "0.1.0",
4-
"main": "src/index.js",
4+
"module": "src/index.es.js",
5+
"main": "src/index.js",
56
"scripts": {
67
"lint": "eslint src"
78
},

packages/utils/src/compareSignatures.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

packages/utils/src/index.es.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
export const compareSignatures = (prev, next) => {
2+
const prevSignature = self.__PREFRESH__.getSignature(prev) || {};
3+
const nextSignature = self.__PREFRESH__.getSignature(next) || {};
4+
5+
if (
6+
prevSignature.key !== nextSignature.key ||
7+
self.__PREFRESH__.computeKey(prevSignature) !==
8+
self.__PREFRESH__.computeKey(nextSignature) ||
9+
nextSignature.forceReset
10+
) {
11+
self.__PREFRESH__.replaceComponent(prev, next, true);
12+
} else {
13+
self.__PREFRESH__.replaceComponent(prev, next, false);
14+
}
15+
};
16+
17+
export const isPreactCitizen = name =>
18+
typeof name === 'string' &&
19+
name[0](
20+
(name[0] && name[0] == name[0].toUpperCase()) ||
21+
(name.startsWith('use') && name[3] && name[3] == name[3].toUpperCase())
22+
);
23+
24+
export const isCustomHook = name =>
25+
typeof name === 'string' &&
26+
name.startsWith('use') &&
27+
name[3] &&
28+
name[3] == name[3].toUpperCase();
29+
30+
export const isComponent = name =>
31+
typeof name === 'string' && name[0] && name[0] == name[0].toUpperCase();

packages/utils/src/index.js

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
1-
const { compareSignatures } = require('./compareSignatures');
2-
const {
3-
isPreactCitizen,
4-
isComponent,
5-
isCustomHook
6-
} = require('./isPreactCitizen');
7-
8-
module.exports = {
9-
compareSignatures,
10-
isPreactCitizen,
11-
isComponent,
12-
isCustomHook
1+
exports.compareSignatures = (prev, next) => {
2+
const prevSignature = self.__PREFRESH__.getSignature(prev) || {};
3+
const nextSignature = self.__PREFRESH__.getSignature(next) || {};
4+
5+
if (
6+
prevSignature.key !== nextSignature.key ||
7+
self.__PREFRESH__.computeKey(prevSignature) !==
8+
self.__PREFRESH__.computeKey(nextSignature) ||
9+
nextSignature.forceReset
10+
) {
11+
self.__PREFRESH__.replaceComponent(prev, next, true);
12+
} else {
13+
self.__PREFRESH__.replaceComponent(prev, next, false);
14+
}
1315
};
16+
17+
exports.isPreactCitizen = name =>
18+
typeof name === 'string' &&
19+
name[0](
20+
(name[0] && name[0] == name[0].toUpperCase()) ||
21+
(name.startsWith('use') && name[3] && name[3] == name[3].toUpperCase())
22+
);
23+
24+
exports.isCustomHook = name =>
25+
typeof name === 'string' &&
26+
name.startsWith('use') &&
27+
name[3] &&
28+
name[3] == name[3].toUpperCase();
29+
30+
exports.isComponent = name =>
31+
typeof name === 'string' && name[0] && name[0] == name[0].toUpperCase();

packages/utils/src/isPreactCitizen.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@
130130
"@nodelib/fs.scandir" "2.1.3"
131131
fastq "^1.6.0"
132132

133+
"@prefresh/core@0.5.0":
134+
version "0.5.0"
135+
resolved "https://registry.yarnpkg.com/@prefresh/core/-/core-0.5.0.tgz#119da56977cba45d5d7d4eaf99d0394bb9296c9a"
136+
integrity sha512-1omCRCn7Jmv28DdgydMOoOuQFDaccbHx9EItJRAFNAxwvfr01/qi2fhVZa60tSV8HKEdOvBWvdky/l2sLNUSDQ==
137+
133138
"@rollup/plugin-json@^4.0.3":
134139
version "4.0.3"
135140
resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.0.3.tgz#747e2c2884c5a0fa00b66c9c0f3f1012cddca534"

0 commit comments

Comments
 (0)