@kaspernj/api-maker 1.0.2037 → 1.0.2039
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/use-event-listener.js +11 -5
- package/build/utils/icon.js +3 -1
- package/link.sh +8 -0
- package/package.json +3 -2
- package/src/use-event-listener.js +9 -4
- package/src/utils/icon.jsx +2 -0
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
import { useCallback, useLayoutEffect } from "react";
|
|
1
|
+
import { useCallback, useEffect, useLayoutEffect } from "react";
|
|
2
|
+
import useSSR from "use-ssr";
|
|
2
3
|
const ApiMakerUseEventListener = (target, event, onCalled) => {
|
|
4
|
+
const {
|
|
5
|
+
isServer
|
|
6
|
+
} = useSSR();
|
|
7
|
+
const useWorkingEffect = isServer ? useEffect : useLayoutEffect;
|
|
3
8
|
const onCalledCallback = useCallback((...args) => {
|
|
4
9
|
onCalled.apply(null, args);
|
|
5
10
|
}, [target, event, onCalled]);
|
|
6
|
-
|
|
11
|
+
useWorkingEffect(() => {
|
|
7
12
|
if (target) {
|
|
8
|
-
target.addEventListener(event, onCalledCallback);
|
|
13
|
+
const eventListener = target.addEventListener(event, onCalledCallback);
|
|
9
14
|
return () => {
|
|
10
|
-
|
|
15
|
+
if (eventListener) eventListener.remove(); // This is how its done in Expo + Jest.
|
|
16
|
+
if (target.removeEventListener) target.removeEventListener(event, onCalledCallback); // This is the "old" way in browsers.
|
|
11
17
|
};
|
|
12
18
|
}
|
|
13
19
|
}, [target, event, onCalled]);
|
|
14
20
|
};
|
|
15
21
|
export default ApiMakerUseEventListener;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZVNTUiIsIkFwaU1ha2VyVXNlRXZlbnRMaXN0ZW5lciIsInRhcmdldCIsImV2ZW50Iiwib25DYWxsZWQiLCJpc1NlcnZlciIsInVzZVdvcmtpbmdFZmZlY3QiLCJvbkNhbGxlZENhbGxiYWNrIiwiYXJncyIsImFwcGx5IiwiZXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1ldmVudC1saXN0ZW5lci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VTU1IgZnJvbSBcInVzZS1zc3JcIlxuXG5jb25zdCBBcGlNYWtlclVzZUV2ZW50TGlzdGVuZXIgPSAodGFyZ2V0LCBldmVudCwgb25DYWxsZWQpID0+IHtcbiAgY29uc3Qge2lzU2VydmVyfSA9IHVzZVNTUigpXG4gIGNvbnN0IHVzZVdvcmtpbmdFZmZlY3QgPSBpc1NlcnZlciA/IHVzZUVmZmVjdCA6IHVzZUxheW91dEVmZmVjdFxuXG4gIGNvbnN0IG9uQ2FsbGVkQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgIG9uQ2FsbGVkLmFwcGx5KG51bGwsIGFyZ3MpXG4gIH0sIFt0YXJnZXQsIGV2ZW50LCBvbkNhbGxlZF0pXG5cbiAgdXNlV29ya2luZ0VmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgY29uc3QgZXZlbnRMaXN0ZW5lciA9IHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvbkNhbGxlZENhbGxiYWNrKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnRMaXN0ZW5lcikgZXZlbnRMaXN0ZW5lci5yZW1vdmUoKSAvLyBUaGlzIGlzIGhvdyBpdHMgZG9uZSBpbiBFeHBvICsgSmVzdC5cbiAgICAgICAgaWYgKHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKSB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgb25DYWxsZWRDYWxsYmFjaykgLy8gVGhpcyBpcyB0aGUgXCJvbGRcIiB3YXkgaW4gYnJvd3NlcnMuXG4gICAgICB9XG4gICAgfVxuICB9LCBbdGFyZ2V0LCBldmVudCwgb25DYWxsZWRdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcGlNYWtlclVzZUV2ZW50TGlzdGVuZXJcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLGVBQWUsUUFBTyxPQUFPO0FBQzdELE9BQU9DLE1BQU0sTUFBTSxTQUFTO0FBRTVCLE1BQU1DLHdCQUF3QixHQUFHQSxDQUFDQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxLQUFLO0VBQzVELE1BQU07SUFBQ0M7RUFBUSxDQUFDLEdBQUdMLE1BQU0sQ0FBQyxDQUFDO0VBQzNCLE1BQU1NLGdCQUFnQixHQUFHRCxRQUFRLEdBQUdQLFNBQVMsR0FBR0MsZUFBZTtFQUUvRCxNQUFNUSxnQkFBZ0IsR0FBR1YsV0FBVyxDQUFDLENBQUMsR0FBR1csSUFBSSxLQUFLO0lBQ2hESixRQUFRLENBQUNLLEtBQUssQ0FBQyxJQUFJLEVBQUVELElBQUksQ0FBQztFQUM1QixDQUFDLEVBQUUsQ0FBQ04sTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0VBRTdCRSxnQkFBZ0IsQ0FBQyxNQUFNO0lBQ3JCLElBQUlKLE1BQU0sRUFBRTtNQUNWLE1BQU1RLGFBQWEsR0FBR1IsTUFBTSxDQUFDUyxnQkFBZ0IsQ0FBQ1IsS0FBSyxFQUFFSSxnQkFBZ0IsQ0FBQztNQUV0RSxPQUFPLE1BQU07UUFDWCxJQUFJRyxhQUFhLEVBQUVBLGFBQWEsQ0FBQ0UsTUFBTSxDQUFDLENBQUMsRUFBQztRQUMxQyxJQUFJVixNQUFNLENBQUNXLG1CQUFtQixFQUFFWCxNQUFNLENBQUNXLG1CQUFtQixDQUFDVixLQUFLLEVBQUVJLGdCQUFnQixDQUFDLEVBQUM7TUFDdEYsQ0FBQztJQUNIO0VBQ0YsQ0FBQyxFQUFFLENBQUNMLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsZUFBZUgsd0JBQXdCIiwiaWdub3JlTGlzdCI6W119
|
package/build/utils/icon.js
CHANGED
|
@@ -41,6 +41,8 @@ export default memo(shapeComponent(class ApiMakerUtilsIcon extends BaseComponent
|
|
|
41
41
|
actualVersion = "FontAwesome";
|
|
42
42
|
} else if (name in MaterialIconsGlyphMap) {
|
|
43
43
|
actualVersion = "MaterialIcons";
|
|
44
|
+
} else {
|
|
45
|
+
actualVersion = "FontAwesome";
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
|
|
@@ -95,4 +97,4 @@ export default memo(shapeComponent(class ApiMakerUtilsIcon extends BaseComponent
|
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
}));
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiRm9udEF3ZXNvbWVJY29uIiwiRm9udEF3ZXNvbWU1SWNvbiIsIkZvbnRBd2Vzb21lNkljb24iLCJNYXRlcmlhbEljb25zSWNvbiIsIm1lbW8iLCJSZWFjdCIsInVzZU1lbW8iLCJzaGFwZUNvbXBvbmVudCIsInVzZU1lcmdlZFN0eWxlIiwiRm9udEF3ZXNvbWVHbHlwaE1hcCIsImdldFJhd0dseXBoTWFwIiwiRm9udEF3ZXNvbWU1R2x5cGhNYXAiLCJGb250QXdlc29tZTZHbHlwaE1hcCIsIk1hdGVyaWFsSWNvbnNHbHlwaE1hcCIsImljb25NYXAiLCJwZW5jaWwiLCJyZW1vdmUiLCJzZWFyY2giLCJBcGlNYWtlclV0aWxzSWNvbiIsInJlbmRlciIsImRhdGFTZXQiLCJuYW1lIiwic3R5bGUiLCJ2ZXJzaW9uIiwicmVzdFByb3BzIiwicHJvcHMiLCJzdHlsZXNMaXN0IiwiYWN0dWFsVmVyc2lvbiIsImFjdHVhbFN0eWxlc0xpc3QiLCJuZXdTdHlsZSIsImNvdW50Iiwia2V5IiwicHVzaCIsImFjdHVhbERhdGFTZXQiLCJPYmplY3QiLCJhc3NpZ24iLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pY29uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEZvbnRBd2Vzb21lSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZVwiXG5pbXBvcnQgRm9udEF3ZXNvbWU1SWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZTVcIlxuaW1wb3J0IEZvbnRBd2Vzb21lNkljb24gZnJvbSBcInJlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWU2XCJcbmltcG9ydCBNYXRlcmlhbEljb25zSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9NYXRlcmlhbEljb25zXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHt1c2VNZXJnZWRTdHlsZX0gZnJvbSBcIi4vZGVmYXVsdC1zdHlsZVwiXG5cbmNvbnN0IEZvbnRBd2Vzb21lR2x5cGhNYXAgPSBGb250QXdlc29tZUljb24uZ2V0UmF3R2x5cGhNYXAoKVxuY29uc3QgRm9udEF3ZXNvbWU1R2x5cGhNYXAgPSBGb250QXdlc29tZTVJY29uLmdldFJhd0dseXBoTWFwKClcbmNvbnN0IEZvbnRBd2Vzb21lNkdseXBoTWFwID0gRm9udEF3ZXNvbWU2SWNvbi5nZXRSYXdHbHlwaE1hcCgpXG5jb25zdCBNYXRlcmlhbEljb25zR2x5cGhNYXAgPSBNYXRlcmlhbEljb25zSWNvbi5nZXRSYXdHbHlwaE1hcCgpXG5cbmNvbnN0IGljb25NYXAgPSB7XG4gIHBlbmNpbDogXCJGb250QXdlc29tZVwiLFxuICByZW1vdmU6IFwiRm9udEF3ZXNvbWVcIixcbiAgc2VhcmNoOiBcIkZvbnRBd2Vzb21lXCJcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclV0aWxzSWNvbiBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXQsIG5hbWUsIHN0eWxlLCB2ZXJzaW9uLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtzdHlsZXNMaXN0fSA9IHVzZU1lcmdlZFN0eWxlKHN0eWxlLCBcIlRleHRcIilcbiAgICBsZXQgYWN0dWFsVmVyc2lvbiA9IHZlcnNpb25cblxuICAgIGlmICghYWN0dWFsVmVyc2lvbikge1xuICAgICAgaWYgKG5hbWUgaW4gaWNvbk1hcCkge1xuICAgICAgICBhY3R1YWxWZXJzaW9uID0gaWNvbk1hcFtuYW1lXVxuICAgICAgfSBlbHNlIGlmIChuYW1lIGluIEZvbnRBd2Vzb21lNkdseXBoTWFwKSB7XG4gICAgICAgIGFjdHVhbFZlcnNpb24gPSBcIkZvbnRBd2Vzb21lNlwiXG4gICAgICB9IGVsc2UgaWYgKG5hbWUgaW4gRm9udEF3ZXNvbWU1R2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWU1XCJcbiAgICAgIH0gZWxzZSBpZiAobmFtZSBpbiBGb250QXdlc29tZUdseXBoTWFwKSB7XG4gICAgICAgIGFjdHVhbFZlcnNpb24gPSBcIkZvbnRBd2Vzb21lXCJcbiAgICAgIH0gZWxzZSBpZiAobmFtZSBpbiBNYXRlcmlhbEljb25zR2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9ICBcIk1hdGVyaWFsSWNvbnNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWVcIlxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgZm9yd2FyZCBzb21lIHN0eWxlcyBsaWtlIGNvbG9yXG4gICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IFtdXG5cbiAgICAgIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzTGlzdCkge1xuICAgICAgICBjb25zdCBuZXdTdHlsZSA9IHt9XG4gICAgICAgIGxldCBjb3VudCA9IDBcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzdHlsZSkge1xuICAgICAgICAgIGlmIChrZXkgPT0gXCJjb2xvclwiKSB7XG4gICAgICAgICAgICBuZXdTdHlsZVtrZXldID0gc3R5bGVba2V5XVxuICAgICAgICAgICAgY291bnQrK1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb3VudCA+IDApIHtcbiAgICAgICAgICBhY3R1YWxTdHlsZXNMaXN0LnB1c2gobmV3U3R5bGUpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjdHVhbFN0eWxlc0xpc3RcbiAgICB9LCBbc3R5bGVzTGlzdCwgc3R5bGVdKVxuXG4gICAgY29uc3QgYWN0dWFsRGF0YVNldCA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LmFzc2lnbih7bmFtZSwgdmVyc2lvbjogYWN0dWFsVmVyc2lvbn0sIGRhdGFTZXQpLCBbYWN0dWFsVmVyc2lvbiwgZGF0YVNldCwgbmFtZV0pXG5cbiAgICBpZiAoYWN0dWFsVmVyc2lvbiA9PSBcIkZvbnRBd2Vzb21lXCIpIHtcbiAgICAgIHJldHVybiA8Rm9udEF3ZXNvbWVJY29uIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9IG5hbWU9e25hbWV9IHN0eWxlPXthY3R1YWxTdHlsZXNMaXN0fSB7Li4ucmVzdFByb3BzfSAvPlxuICAgIH0gZWxzZSBpZiAoYWN0dWFsVmVyc2lvbiA9PSBcIkZvbnRBd2Vzb21lNVwiKSB7XG4gICAgICByZXR1cm4gPEZvbnRBd2Vzb21lNUljb24gZGF0YVNldD17YWN0dWFsRGF0YVNldH0gbmFtZT17bmFtZX0gc3R5bGU9e2FjdHVhbFN0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgfSBlbHNlIGlmIChhY3R1YWxWZXJzaW9uID09IFwiRm9udEF3ZXNvbWU2XCIpIHtcbiAgICAgIHJldHVybiA8Rm9udEF3ZXNvbWU2SWNvbiBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fSBuYW1lPXtuYW1lfSBzdHlsZT17YWN0dWFsU3R5bGVzTGlzdH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICB9IGVsc2UgaWYgKGFjdHVhbFZlcnNpb24gPT0gXCJNYXRlcmlhbEljb25zXCIpIHtcbiAgICAgIHJldHVybiA8TWF0ZXJpYWxJY29uc0ljb24gZGF0YVNldD17YWN0dWFsRGF0YVNldH0gbmFtZT17bmFtZX0gc3R5bGU9e2FjdHVhbFN0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB2ZXJzaW9uOiAke2FjdHVhbFZlcnNpb259YClcbiAgICB9XG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxPQUFPQyxlQUFlLE1BQU0sdUNBQXVDO0FBQ25FLE9BQU9DLGdCQUFnQixNQUFNLHdDQUF3QztBQUNyRSxPQUFPQyxnQkFBZ0IsTUFBTSx3Q0FBd0M7QUFDckUsT0FBT0MsaUJBQWlCLE1BQU0seUNBQXlDO0FBQ3ZFLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsS0FBSyxJQUFHQyxPQUFPLFFBQU8sT0FBTztBQUNwQyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLFNBQVFDLGNBQWMsUUFBTyxpQkFBaUI7QUFFOUMsTUFBTUMsbUJBQW1CLEdBQUdULGVBQWUsQ0FBQ1UsY0FBYyxDQUFDLENBQUM7QUFDNUQsTUFBTUMsb0JBQW9CLEdBQUdWLGdCQUFnQixDQUFDUyxjQUFjLENBQUMsQ0FBQztBQUM5RCxNQUFNRSxvQkFBb0IsR0FBR1YsZ0JBQWdCLENBQUNRLGNBQWMsQ0FBQyxDQUFDO0FBQzlELE1BQU1HLHFCQUFxQixHQUFHVixpQkFBaUIsQ0FBQ08sY0FBYyxDQUFDLENBQUM7QUFFaEUsTUFBTUksT0FBTyxHQUFHO0VBQ2RDLE1BQU0sRUFBRSxhQUFhO0VBQ3JCQyxNQUFNLEVBQUUsYUFBYTtFQUNyQkMsTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELGVBQWViLElBQUksQ0FBQ0csY0FBYyxDQUFDLE1BQU1XLGlCQUFpQixTQUFTbkIsYUFBYSxDQUFDO0VBQy9Fb0IsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDQyxPQUFPO01BQUVDLElBQUk7TUFBRUMsS0FBSztNQUFFQyxPQUFPO01BQUUsR0FBR0M7SUFBUyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO0lBQ2hFLE1BQU07TUFBQ0M7SUFBVSxDQUFDLEdBQUdsQixjQUFjLENBQUNjLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDbEQsSUFBSUssYUFBYSxHQUFHSixPQUFPO0lBRTNCLElBQUksQ0FBQ0ksYUFBYSxFQUFFO01BQ2xCLElBQUlOLElBQUksSUFBSVAsT0FBTyxFQUFFO1FBQ25CYSxhQUFhLEdBQUdiLE9BQU8sQ0FBQ08sSUFBSSxDQUFDO01BQy9CLENBQUMsTUFBTSxJQUFJQSxJQUFJLElBQUlULG9CQUFvQixFQUFFO1FBQ3ZDZSxhQUFhLEdBQUcsY0FBYztNQUNoQyxDQUFDLE1BQU0sSUFBSU4sSUFBSSxJQUFJVixvQkFBb0IsRUFBRTtRQUN2Q2dCLGFBQWEsR0FBRyxjQUFjO01BQ2hDLENBQUMsTUFBTSxJQUFJTixJQUFJLElBQUlaLG1CQUFtQixFQUFFO1FBQ3RDa0IsYUFBYSxHQUFHLGFBQWE7TUFDL0IsQ0FBQyxNQUFNLElBQUlOLElBQUksSUFBSVIscUJBQXFCLEVBQUU7UUFDeENjLGFBQWEsR0FBSSxlQUFlO01BQ2xDLENBQUMsTUFBTTtRQUNMQSxhQUFhLEdBQUcsYUFBYTtNQUMvQjtJQUNGOztJQUVBO0lBQ0EsTUFBTUMsZ0JBQWdCLEdBQUd0QixPQUFPLENBQUMsTUFBTTtNQUNyQyxNQUFNc0IsZ0JBQWdCLEdBQUcsRUFBRTtNQUUzQixLQUFLLE1BQU1OLEtBQUssSUFBSUksVUFBVSxFQUFFO1FBQzlCLE1BQU1HLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSUMsS0FBSyxHQUFHLENBQUM7UUFFYixLQUFLLE1BQU1DLEdBQUcsSUFBSVQsS0FBSyxFQUFFO1VBQ3ZCLElBQUlTLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDbEJGLFFBQVEsQ0FBQ0UsR0FBRyxDQUFDLEdBQUdULEtBQUssQ0FBQ1MsR0FBRyxDQUFDO1lBQzFCRCxLQUFLLEVBQUU7VUFDVDtRQUNGO1FBRUEsSUFBSUEsS0FBSyxHQUFHLENBQUMsRUFBRTtVQUNiRixnQkFBZ0IsQ0FBQ0ksSUFBSSxDQUFDSCxRQUFRLENBQUM7UUFDakM7TUFDRjtNQUVBLE9BQU9ELGdCQUFnQjtJQUN6QixDQUFDLEVBQUUsQ0FBQ0YsVUFBVSxFQUFFSixLQUFLLENBQUMsQ0FBQztJQUV2QixNQUFNVyxhQUFhLEdBQUczQixPQUFPLENBQUMsTUFBTTRCLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDO01BQUNkLElBQUk7TUFBRUUsT0FBTyxFQUFFSTtJQUFhLENBQUMsRUFBRVAsT0FBTyxDQUFDLEVBQUUsQ0FBQ08sYUFBYSxFQUFFUCxPQUFPLEVBQUVDLElBQUksQ0FBQyxDQUFDO0lBRTNILElBQUlNLGFBQWEsSUFBSSxhQUFhLEVBQUU7TUFDbEMsb0JBQU90QixLQUFBLENBQUErQixhQUFBLENBQUNwQyxlQUFlLEVBQUFxQyxRQUFBO1FBQUNqQixPQUFPLEVBQUVhLGFBQWM7UUFBQ1osSUFBSSxFQUFFQSxJQUFLO1FBQUNDLEtBQUssRUFBRU07TUFBaUIsR0FBS0osU0FBUyxDQUFHLENBQUM7SUFDeEcsQ0FBQyxNQUFNLElBQUlHLGFBQWEsSUFBSSxjQUFjLEVBQUU7TUFDMUMsb0JBQU90QixLQUFBLENBQUErQixhQUFBLENBQUNuQyxnQkFBZ0IsRUFBQW9DLFFBQUE7UUFBQ2pCLE9BQU8sRUFBRWEsYUFBYztRQUFDWixJQUFJLEVBQUVBLElBQUs7UUFBQ0MsS0FBSyxFQUFFTTtNQUFpQixHQUFLSixTQUFTLENBQUcsQ0FBQztJQUN6RyxDQUFDLE1BQU0sSUFBSUcsYUFBYSxJQUFJLGNBQWMsRUFBRTtNQUMxQyxvQkFBT3RCLEtBQUEsQ0FBQStCLGFBQUEsQ0FBQ2xDLGdCQUFnQixFQUFBbUMsUUFBQTtRQUFDakIsT0FBTyxFQUFFYSxhQUFjO1FBQUNaLElBQUksRUFBRUEsSUFBSztRQUFDQyxLQUFLLEVBQUVNO01BQWlCLEdBQUtKLFNBQVMsQ0FBRyxDQUFDO0lBQ3pHLENBQUMsTUFBTSxJQUFJRyxhQUFhLElBQUksZUFBZSxFQUFFO01BQzNDLG9CQUFPdEIsS0FBQSxDQUFBK0IsYUFBQSxDQUFDakMsaUJBQWlCLEVBQUFrQyxRQUFBO1FBQUNqQixPQUFPLEVBQUVhLGFBQWM7UUFBQ1osSUFBSSxFQUFFQSxJQUFLO1FBQUNDLEtBQUssRUFBRU07TUFBaUIsR0FBS0osU0FBUyxDQUFHLENBQUM7SUFDMUcsQ0FBQyxNQUFNO01BQ0wsTUFBTSxJQUFJYyxLQUFLLENBQUMsb0JBQW9CWCxhQUFhLEVBQUUsQ0FBQztJQUN0RDtFQUNGO0FBQ0YsQ0FBQyxDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/link.sh
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaspernj/api-maker",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2039",
|
|
4
4
|
"description": "My new module",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"strftime": ">= 0.10.0",
|
|
58
58
|
"uniqunize": "^1.0.1",
|
|
59
59
|
"url-parse": "^1.5.10",
|
|
60
|
+
"use-ssr": "^1.0.25",
|
|
60
61
|
"wake-event": ">= 0.0.1"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
"eslint-find-rules": "^5.0.0",
|
|
69
70
|
"eslint-plugin-jest": "^28.2.0",
|
|
70
71
|
"eslint-plugin-react": "^7.23.2",
|
|
71
|
-
"expo": "~
|
|
72
|
+
"expo": "~53.0.9",
|
|
72
73
|
"expo-module-scripts": "^4.0.2",
|
|
73
74
|
"jest": "^29.0.1"
|
|
74
75
|
},
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import {useCallback, useLayoutEffect} from "react"
|
|
1
|
+
import {useCallback, useEffect, useLayoutEffect} from "react"
|
|
2
|
+
import useSSR from "use-ssr"
|
|
2
3
|
|
|
3
4
|
const ApiMakerUseEventListener = (target, event, onCalled) => {
|
|
5
|
+
const {isServer} = useSSR()
|
|
6
|
+
const useWorkingEffect = isServer ? useEffect : useLayoutEffect
|
|
7
|
+
|
|
4
8
|
const onCalledCallback = useCallback((...args) => {
|
|
5
9
|
onCalled.apply(null, args)
|
|
6
10
|
}, [target, event, onCalled])
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
useWorkingEffect(() => {
|
|
9
13
|
if (target) {
|
|
10
|
-
target.addEventListener(event, onCalledCallback)
|
|
14
|
+
const eventListener = target.addEventListener(event, onCalledCallback)
|
|
11
15
|
|
|
12
16
|
return () => {
|
|
13
|
-
|
|
17
|
+
if (eventListener) eventListener.remove() // This is how its done in Expo + Jest.
|
|
18
|
+
if (target.removeEventListener) target.removeEventListener(event, onCalledCallback) // This is the "old" way in browsers.
|
|
14
19
|
}
|
|
15
20
|
}
|
|
16
21
|
}, [target, event, onCalled])
|
package/src/utils/icon.jsx
CHANGED