@aiszlab/relax 2.0.6-beta.9 → 2.0.7

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.
@@ -10,7 +10,7 @@ type UsingControlledState<S> = {
10
10
  * @description
11
11
  * value update callback
12
12
  */
13
- onUpdate?: (next: S | undefined, prev: S | undefined) => void;
13
+ onUpdate?: (next: Partialable<S>, prev: Partialable<S>) => void;
14
14
  };
15
15
  type UsedControlledState<T> = [T, Dispatch<SetStateAction<T>>];
16
16
  /**
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ /**
6
+ * @description 基于`React`.`useMemo`的增强
7
+ * 在依赖发生改变时,具备读取上一次`useMemo`结果的能力
8
+ */
9
+ var useMemorized = function useMemorized(factory, deps) {
10
+ var _previousMemorized = react.useRef(null);
11
+ var _memorized = react.useMemo(function () {
12
+ return factory(_previousMemorized.current);
13
+ }, deps);
14
+ react.useEffect(function () {
15
+ _previousMemorized.current = _memorized;
16
+ });
17
+ return _memorized;
18
+ };
19
+
20
+ exports.useMemorized = useMemorized;
@@ -0,0 +1,6 @@
1
+ import { type Nullable } from "../types";
2
+ /**
3
+ * @description 基于`React`.`useMemo`的增强
4
+ * 在依赖发生改变时,具备读取上一次`useMemo`结果的能力
5
+ */
6
+ export declare const useMemorized: <T>(factory: (previous: Nullable<T>) => T, deps: readonly unknown[]) => T;
@@ -0,0 +1,18 @@
1
+ import { useRef, useMemo, useEffect } from 'react';
2
+
3
+ /**
4
+ * @description 基于`React`.`useMemo`的增强
5
+ * 在依赖发生改变时,具备读取上一次`useMemo`结果的能力
6
+ */
7
+ var useMemorized = function useMemorized(factory, deps) {
8
+ var _previousMemorized = useRef(null);
9
+ var _memorized = useMemo(function () {
10
+ return factory(_previousMemorized.current);
11
+ }, deps);
12
+ useEffect(function () {
13
+ _previousMemorized.current = _memorized;
14
+ });
15
+ return _memorized;
16
+ };
17
+
18
+ export { useMemorized };
@@ -8,7 +8,7 @@ var isNumber = require('../is/is-number.cjs');
8
8
  * @description 比较两个`css`单位的缩放比例
9
9
  */
10
10
  var useScale = function useScale(resize, originalSize) {
11
- var _useState = react.useState(1),
11
+ var _useState = react.useState(0),
12
12
  _useState2 = _slicedToArray(_useState, 2),
13
13
  scale = _useState2[0],
14
14
  setScale = _useState2[1];
@@ -30,7 +30,7 @@ var useScale = function useScale(resize, originalSize) {
30
30
  if (_originalSizedWidth > 0) {
31
31
  setScale(_resizedWidth / _originalSizedWidth);
32
32
  } else {
33
- setScale(1);
33
+ setScale(0);
34
34
  }
35
35
  _parent.remove();
36
36
  }, [resize, originalSize]);
@@ -6,7 +6,7 @@ import { isNumber } from '../is/is-number.mjs';
6
6
  * @description 比较两个`css`单位的缩放比例
7
7
  */
8
8
  var useScale = function useScale(resize, originalSize) {
9
- var _useState = useState(1),
9
+ var _useState = useState(0),
10
10
  _useState2 = _slicedToArray(_useState, 2),
11
11
  scale = _useState2[0],
12
12
  setScale = _useState2[1];
@@ -28,7 +28,7 @@ var useScale = function useScale(resize, originalSize) {
28
28
  if (_originalSizedWidth > 0) {
29
29
  setScale(_resizedWidth / _originalSizedWidth);
30
30
  } else {
31
- setScale(1);
31
+ setScale(0);
32
32
  }
33
33
  _parent.remove();
34
34
  }, [resize, originalSize]);
package/dist/index.cjs CHANGED
@@ -19,7 +19,7 @@ var useUpdateEffect = require('./hooks/use-update-effect.cjs');
19
19
  var useCounter = require('./hooks/use-counter.cjs');
20
20
  var useHover = require('./hooks/use-hover.cjs');
21
21
  var useFocus = require('./hooks/use-focus.cjs');
22
- var useMemorable = require('./hooks/use-memorable.cjs');
22
+ var useMemorized = require('./hooks/use-memorized.cjs');
23
23
  var useMutateObserver = require('./hooks/use-mutate-observer.cjs');
24
24
  var useRaf = require('./hooks/use-raf.cjs');
25
25
  var useDevicePixelRatio = require('./hooks/use-device-pixel-ratio.cjs');
@@ -42,11 +42,13 @@ var useDraggable = require('./hooks/use-draggable.cjs');
42
42
  var useAsyncEffect = require('./hooks/use-async-effect.cjs');
43
43
  var useLazyRef = require('./hooks/use-lazy-ref.cjs');
44
44
  var useScroll = require('./hooks/use-scroll.cjs');
45
+ var useScale = require('./hooks/use-scale.cjs');
45
46
  var isRefable = require('./is/is-refable.cjs');
46
47
  var isUndefined = require('./is/is-undefined.cjs');
47
48
  var isNull = require('./is/is-null.cjs');
48
49
  var isVoid = require('./is/is-void.cjs');
49
50
  var isArray = require('./is/is-array.cjs');
51
+ var isNumber = require('./is/is-number.cjs');
50
52
  var isEmpty = require('./is/is-empty.cjs');
51
53
  var isDomUsable = require('./is/is-dom-usable.cjs');
52
54
  var isMobile = require('./is/is-mobile.cjs');
@@ -57,7 +59,11 @@ var isThenable = require('./is/is-thenable.cjs');
57
59
  var isHtmlElement = require('./is/is-html-element.cjs');
58
60
  var isHtmlInputElement = require('./is/is-html-input-element.cjs');
59
61
  var isObject = require('./is/is-object.cjs');
60
- var useScale = require('./hooks/use-scale.cjs');
62
+ var isDeepKey = require('./is/is-deep-key.cjs');
63
+ var isString = require('./is/is-string.cjs');
64
+ var isBoolean = require('./is/is-boolean.cjs');
65
+ var isMap = require('./is/is-map.cjs');
66
+ var isSet = require('./is/is-set.cjs');
61
67
  var effect = require('./utils/effect.cjs');
62
68
  var unique = require('./utils/unique.cjs');
63
69
  var uniqueBy = require('./utils/unique-by.cjs');
@@ -109,7 +115,7 @@ exports.useUpdateEffect = useUpdateEffect.useUpdateEffect;
109
115
  exports.useCounter = useCounter.useCounter;
110
116
  exports.useHover = useHover.useHover;
111
117
  exports.useFocus = useFocus.useFocus;
112
- exports.useMemorable = useMemorable.useMemorable;
118
+ exports.useMemorized = useMemorized.useMemorized;
113
119
  exports.useMutateObserver = useMutateObserver.useMutateObserver;
114
120
  exports.useRaf = useRaf.useRaf;
115
121
  exports.useDevicePixelRatio = useDevicePixelRatio.useDevicePixelRatio;
@@ -132,11 +138,13 @@ exports.useDraggable = useDraggable.useDraggable;
132
138
  exports.useAsyncEffect = useAsyncEffect.useAsyncEffect;
133
139
  exports.useLazyRef = useLazyRef.useLazyRef;
134
140
  exports.useScroll = useScroll.useScroll;
141
+ exports.useScale = useScale.useScale;
135
142
  exports.isRefable = isRefable.isRefable;
136
143
  exports.isUndefined = isUndefined.isUndefined;
137
144
  exports.isNull = isNull.isNull;
138
145
  exports.isVoid = isVoid.isVoid;
139
146
  exports.isArray = isArray.isArray;
147
+ exports.isNumber = isNumber.isNumber;
140
148
  exports.isEmpty = isEmpty.isEmpty;
141
149
  exports.isDomUsable = isDomUsable.isDomUsable;
142
150
  exports.isMobile = isMobile.isMobile;
@@ -147,7 +155,11 @@ exports.isThenable = isThenable.isThenable;
147
155
  exports.isHTMLElement = isHtmlElement.isHTMLElement;
148
156
  exports.isHTMLInputElement = isHtmlInputElement.isHTMLInputElement;
149
157
  exports.isObject = isObject.isObject;
150
- exports.useScale = useScale.useScale;
158
+ exports.isDeepKey = isDeepKey.isDeepKey;
159
+ exports.isString = isString.isString;
160
+ exports.isBoolean = isBoolean.isBoolean;
161
+ exports.isMap = isMap.isMap;
162
+ exports.isSet = isSet.isSet;
151
163
  exports.effect = effect.effect;
152
164
  exports.unique = unique.unique;
153
165
  exports.uniqueBy = uniqueBy.uniqueBy;
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ export { useUpdateEffect } from "./hooks/use-update-effect";
21
21
  export { useCounter } from "./hooks/use-counter";
22
22
  export { useHover } from "./hooks/use-hover";
23
23
  export { useFocus } from "./hooks/use-focus";
24
- export { useMemorable } from "./hooks/use-memorable";
24
+ export { useMemorized } from "./hooks/use-memorized";
25
25
  export { useMutateObserver } from "./hooks/use-mutate-observer";
26
26
  export { useRaf } from "./hooks/use-raf";
27
27
  export { useDevicePixelRatio } from "./hooks/use-device-pixel-ratio";
@@ -44,6 +44,7 @@ export { useDraggable } from "./hooks/use-draggable";
44
44
  export { useAsyncEffect } from "./hooks/use-async-effect";
45
45
  export { useLazyRef } from "./hooks/use-lazy-ref";
46
46
  export { useScroll } from "./hooks/use-scroll";
47
+ export { useScale } from "./hooks/use-scale";
47
48
  /**
48
49
  * @description
49
50
  * is
@@ -53,6 +54,7 @@ export { isUndefined } from "./is/is-undefined";
53
54
  export { isNull } from "./is/is-null";
54
55
  export { isVoid } from "./is/is-void";
55
56
  export { isArray } from "./is/is-array";
57
+ export { isNumber } from "./is/is-number";
56
58
  export { isEmpty } from "./is/is-empty";
57
59
  export { isDomUsable } from "./is/is-dom-usable";
58
60
  export { isMobile } from "./is/is-mobile";
@@ -63,7 +65,11 @@ export { isThenable } from "./is/is-thenable";
63
65
  export { isHTMLElement } from "./is/is-html-element";
64
66
  export { isHTMLInputElement } from "./is/is-html-input-element";
65
67
  export { isObject } from "./is/is-object";
66
- export { useScale } from "./hooks/use-scale";
68
+ export { isDeepKey } from "./is/is-deep-key";
69
+ export { isString } from "./is/is-string";
70
+ export { isBoolean } from "./is/is-boolean";
71
+ export { isMap } from "./is/is-map";
72
+ export { isSet } from "./is/is-set";
67
73
  /**
68
74
  * @description
69
75
  * utils
package/dist/index.mjs CHANGED
@@ -17,7 +17,7 @@ export { useUpdateEffect } from './hooks/use-update-effect.mjs';
17
17
  export { useCounter } from './hooks/use-counter.mjs';
18
18
  export { useHover } from './hooks/use-hover.mjs';
19
19
  export { useFocus } from './hooks/use-focus.mjs';
20
- export { useMemorable } from './hooks/use-memorable.mjs';
20
+ export { useMemorized } from './hooks/use-memorized.mjs';
21
21
  export { useMutateObserver } from './hooks/use-mutate-observer.mjs';
22
22
  export { useRaf } from './hooks/use-raf.mjs';
23
23
  export { useDevicePixelRatio } from './hooks/use-device-pixel-ratio.mjs';
@@ -40,11 +40,13 @@ export { useDraggable } from './hooks/use-draggable.mjs';
40
40
  export { useAsyncEffect } from './hooks/use-async-effect.mjs';
41
41
  export { useLazyRef } from './hooks/use-lazy-ref.mjs';
42
42
  export { useScroll } from './hooks/use-scroll.mjs';
43
+ export { useScale } from './hooks/use-scale.mjs';
43
44
  export { isRefable } from './is/is-refable.mjs';
44
45
  export { isUndefined } from './is/is-undefined.mjs';
45
46
  export { isNull } from './is/is-null.mjs';
46
47
  export { isVoid } from './is/is-void.mjs';
47
48
  export { isArray } from './is/is-array.mjs';
49
+ export { isNumber } from './is/is-number.mjs';
48
50
  export { isEmpty } from './is/is-empty.mjs';
49
51
  export { isDomUsable } from './is/is-dom-usable.mjs';
50
52
  export { isMobile } from './is/is-mobile.mjs';
@@ -55,7 +57,11 @@ export { isThenable } from './is/is-thenable.mjs';
55
57
  export { isHTMLElement } from './is/is-html-element.mjs';
56
58
  export { isHTMLInputElement } from './is/is-html-input-element.mjs';
57
59
  export { isObject } from './is/is-object.mjs';
58
- export { useScale } from './hooks/use-scale.mjs';
60
+ export { isDeepKey } from './is/is-deep-key.mjs';
61
+ export { isString } from './is/is-string.mjs';
62
+ export { isBoolean } from './is/is-boolean.mjs';
63
+ export { isMap } from './is/is-map.mjs';
64
+ export { isSet } from './is/is-set.mjs';
59
65
  export { effect } from './utils/effect.mjs';
60
66
  export { unique } from './utils/unique.mjs';
61
67
  export { uniqueBy } from './utils/unique-by.mjs';
@@ -1,5 +1,5 @@
1
- import { Partialable } from "./partialable";
1
+ import type { Partialable } from "./partialable";
2
2
  /**
3
- * `At` types
3
+ * @description `At` types
4
4
  */
5
- export type At<T> = T extends string ? Partialable<string> : T extends ReadonlyArray<infer R> ? R : never;
5
+ export type At<T> = T extends string ? Partialable<string> : T extends Array<infer R> ? Partialable<R> : never;
@@ -1 +1 @@
1
- export type Last<T> = T extends null | undefined ? undefined : T extends string ? string : T extends [...Array<unknown>, infer D] ? D : T extends ReadonlyArray<infer I> ? I | undefined : T;
1
+ export type Last<T> = T extends null | undefined ? undefined : T extends string ? string : T extends [...Array<unknown>, infer D] ? D : T extends ReadonlyArray<infer I> ? I | undefined : never;
package/dist/utils/at.cjs CHANGED
@@ -1,16 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  var isString = require('../is/is-string.cjs');
4
+ var isVoid = require('../is/is-void.cjs');
4
5
 
5
6
  /**
6
7
  * @description for different browser or browser version, use good api to cover
7
8
  */
8
9
  function at(value, index) {
10
+ if (isVoid.isVoid(value)) {
11
+ return void 0;
12
+ }
9
13
  if (isString.isString(value)) {
10
14
  return value.at(index);
11
15
  }
12
- // @ts-expect-error Can i use `at`
13
- if (Array.prototype.at) {
16
+ if (value.at) {
14
17
  return value.at(index);
15
18
  }
16
19
  return value[index];
@@ -1,6 +1,7 @@
1
+ import type { Voidable } from "../types";
1
2
  import type { At } from "../types/at";
2
3
  /**
3
4
  * @description for different browser or browser version, use good api to cover
4
5
  */
5
- declare function at<T>(value: string | ReadonlyArray<T>, index: number): At<T>;
6
+ declare function at<T extends Array<unknown>>(value: Voidable<string | T>, index: number): At<T>;
6
7
  export { at };
package/dist/utils/at.mjs CHANGED
@@ -1,14 +1,17 @@
1
1
  import { isString } from '../is/is-string.mjs';
2
+ import { isVoid } from '../is/is-void.mjs';
2
3
 
3
4
  /**
4
5
  * @description for different browser or browser version, use good api to cover
5
6
  */
6
7
  function at(value, index) {
8
+ if (isVoid(value)) {
9
+ return void 0;
10
+ }
7
11
  if (isString(value)) {
8
12
  return value.at(index);
9
13
  }
10
- // @ts-expect-error Can i use `at`
11
- if (Array.prototype.at) {
14
+ if (value.at) {
12
15
  return value.at(index);
13
16
  }
14
17
  return value[index];
@@ -3,5 +3,5 @@ import type { Voidable, First } from "@aiszlab/relax/types";
3
3
  * @description
4
4
  * first element
5
5
  */
6
- declare function first<T extends ReadonlyArray<unknown>>(value: Voidable<string | T>): First<T>;
6
+ declare function first<T extends Array<unknown>>(value: Voidable<string | T>): First<T>;
7
7
  export { first };
@@ -3,5 +3,5 @@ import type { Voidable, Last } from "@aiszlab/relax/types";
3
3
  * @description
4
4
  * last element
5
5
  */
6
- declare function last<T extends ReadonlyArray<unknown>>(value: Voidable<string | T>): Last<T>;
6
+ declare function last<T extends Array<unknown>>(value: Voidable<string | T>): Last<T>;
7
7
  export { last };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiszlab/relax",
3
- "version": "2.0.6-beta.9",
3
+ "version": "2.0.7",
4
4
  "description": "react utils collection",
5
5
  "exports": {
6
6
  ".": {
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
-
5
- var useMemorable = function useMemorable(getter, condition, shouldUpdate) {
6
- var cacheRef = react.useRef(null);
7
- if (cacheRef.current === null || shouldUpdate(cacheRef.current.condition, condition)) {
8
- cacheRef.current = {
9
- value: getter(),
10
- condition: condition
11
- };
12
- }
13
- return cacheRef.current.value;
14
- };
15
-
16
- exports.useMemorable = useMemorable;
@@ -1 +0,0 @@
1
- export declare const useMemorable: <Value, Condition = unknown[]>(getter: () => Value, condition: Condition, shouldUpdate: (prev: Condition, next: Condition) => boolean) => Value;
@@ -1,14 +0,0 @@
1
- import { useRef } from 'react';
2
-
3
- var useMemorable = function useMemorable(getter, condition, shouldUpdate) {
4
- var cacheRef = useRef(null);
5
- if (cacheRef.current === null || shouldUpdate(cacheRef.current.condition, condition)) {
6
- cacheRef.current = {
7
- value: getter(),
8
- condition: condition
9
- };
10
- }
11
- return cacheRef.current.value;
12
- };
13
-
14
- export { useMemorable };
@@ -1,46 +0,0 @@
1
- 'use strict';
2
-
3
- var _regeneratorRuntime = require('@babel/runtime/helpers/regeneratorRuntime');
4
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
5
- var react = require('react');
6
- var constants = require('./constants.cjs');
7
- var authentication = require('./authentication.cjs');
8
-
9
- /**
10
- * 认证注入组件
11
- */
12
- var Authenticated = /*#__PURE__*/function () {
13
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
14
- var authenticated;
15
- return _regeneratorRuntime().wrap(function (_context) {
16
- while (1) switch (_context.prev = _context.next) {
17
- case 0:
18
- _context.next = 1;
19
- return authentication.tryAuthenticate()["catch"](function () {
20
- return null;
21
- });
22
- case 1:
23
- authenticated = _context.sent;
24
- if (authenticated) {
25
- _context.next = 2;
26
- break;
27
- }
28
- return _context.abrupt("return", null);
29
- case 2:
30
- return _context.abrupt("return", /*#__PURE__*/react.createElement("script", {
31
- dangerouslySetInnerHTML: {
32
- __html: "sessionStorage.setItem('".concat(constants.TOKEN_KEY, "', '").concat(authenticated, "')")
33
- }
34
- }));
35
- case 3:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }, _callee);
40
- }));
41
- return function Authenticated() {
42
- return _ref.apply(this, arguments);
43
- };
44
- }();
45
-
46
- module.exports = Authenticated;
@@ -1,9 +0,0 @@
1
- /**
2
- * 认证注入组件
3
- */
4
- declare const Authenticated: () => Promise<import("react").DetailedReactHTMLElement<{
5
- dangerouslySetInnerHTML: {
6
- __html: string;
7
- };
8
- }, HTMLElement> | null>;
9
- export default Authenticated;
@@ -1,44 +0,0 @@
1
- import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
2
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
- import { createElement } from 'react';
4
- import { TOKEN_KEY } from './constants.mjs';
5
- import { tryAuthenticate } from './authentication.mjs';
6
-
7
- /**
8
- * 认证注入组件
9
- */
10
- var Authenticated = /*#__PURE__*/function () {
11
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
12
- var authenticated;
13
- return _regeneratorRuntime().wrap(function (_context) {
14
- while (1) switch (_context.prev = _context.next) {
15
- case 0:
16
- _context.next = 1;
17
- return tryAuthenticate()["catch"](function () {
18
- return null;
19
- });
20
- case 1:
21
- authenticated = _context.sent;
22
- if (authenticated) {
23
- _context.next = 2;
24
- break;
25
- }
26
- return _context.abrupt("return", null);
27
- case 2:
28
- return _context.abrupt("return", /*#__PURE__*/createElement("script", {
29
- dangerouslySetInnerHTML: {
30
- __html: "sessionStorage.setItem('".concat(TOKEN_KEY, "', '").concat(authenticated, "')")
31
- }
32
- }));
33
- case 3:
34
- case "end":
35
- return _context.stop();
36
- }
37
- }, _callee);
38
- }));
39
- return function Authenticated() {
40
- return _ref.apply(this, arguments);
41
- };
42
- }();
43
-
44
- export { Authenticated as default };
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- var _regeneratorRuntime = require('@babel/runtime/helpers/regeneratorRuntime');
4
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
5
- var headers = require('next/headers');
6
- var isDomUsable = require('../is/is-dom-usable.cjs');
7
- var constants = require('./constants.cjs');
8
- var server = require('next/server');
9
-
10
- /**
11
- * 获取当前应用认证信息
12
- */
13
- var tryAuthenticate = /*#__PURE__*/function () {
14
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
15
- var _yield$cookies$get$va, _yield$cookies$get;
16
- var _t, _t2, _t3, _t4, _t5, _t6;
17
- return _regeneratorRuntime().wrap(function (_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- if (!isDomUsable.isDomUsable()) {
21
- _context.next = 1;
22
- break;
23
- }
24
- return _context.abrupt("return", sessionStorage.getItem(constants.TOKEN_KEY));
25
- case 1:
26
- _context.next = 2;
27
- return headers.cookies();
28
- case 2:
29
- _t3 = _yield$cookies$get = _context.sent.get(constants.TOKEN_KEY);
30
- _t2 = _t3 === null;
31
- if (_t2) {
32
- _context.next = 3;
33
- break;
34
- }
35
- _t2 = _yield$cookies$get === void 0;
36
- case 3:
37
- if (!_t2) {
38
- _context.next = 4;
39
- break;
40
- }
41
- _t4 = void 0;
42
- _context.next = 5;
43
- break;
44
- case 4:
45
- _t4 = _yield$cookies$get.value;
46
- case 5:
47
- _t5 = _yield$cookies$get$va = _t4;
48
- _t = _t5 !== null;
49
- if (!_t) {
50
- _context.next = 6;
51
- break;
52
- }
53
- _t = _yield$cookies$get$va !== void 0;
54
- case 6:
55
- if (!_t) {
56
- _context.next = 7;
57
- break;
58
- }
59
- _t6 = _yield$cookies$get$va;
60
- _context.next = 8;
61
- break;
62
- case 7:
63
- _t6 = null;
64
- case 8:
65
- return _context.abrupt("return", _t6);
66
- case 9:
67
- case "end":
68
- return _context.stop();
69
- }
70
- }, _callee);
71
- }));
72
- return function tryAuthenticate() {
73
- return _ref.apply(this, arguments);
74
- };
75
- }();
76
- /**
77
- * 中间介
78
- */
79
- var middleware = function middleware(request) {
80
- var isAuthenticated = request.nextUrl.searchParams.has(constants.TOKEN_KEY);
81
- if (!isAuthenticated) return;
82
- var _authenticated = request.nextUrl.searchParams.get(constants.TOKEN_KEY);
83
- var url = new URL(request.url);
84
- url.searchParams["delete"](constants.TOKEN_KEY);
85
- var response = server.NextResponse.redirect(url);
86
- if (_authenticated) {
87
- response.cookies.set({
88
- httpOnly: true,
89
- name: constants.TOKEN_KEY,
90
- value: _authenticated
91
- });
92
- }
93
- return response;
94
- };
95
-
96
- exports.middleware = middleware;
97
- exports.tryAuthenticate = tryAuthenticate;
@@ -1,10 +0,0 @@
1
- import type { Nullable } from "../types";
2
- import { NextResponse, type NextRequest } from "next/server";
3
- /**
4
- * 获取当前应用认证信息
5
- */
6
- export declare const tryAuthenticate: () => Promise<Nullable<string>>;
7
- /**
8
- * 中间介
9
- */
10
- export declare const middleware: (request: NextRequest) => NextResponse<unknown> | undefined;
@@ -1,94 +0,0 @@
1
- import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
2
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
- import { cookies } from 'next/headers';
4
- import { isDomUsable } from '../is/is-dom-usable.mjs';
5
- import { TOKEN_KEY } from './constants.mjs';
6
- import { NextResponse } from 'next/server';
7
-
8
- /**
9
- * 获取当前应用认证信息
10
- */
11
- var tryAuthenticate = /*#__PURE__*/function () {
12
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
13
- var _yield$cookies$get$va, _yield$cookies$get;
14
- var _t, _t2, _t3, _t4, _t5, _t6;
15
- return _regeneratorRuntime().wrap(function (_context) {
16
- while (1) switch (_context.prev = _context.next) {
17
- case 0:
18
- if (!isDomUsable()) {
19
- _context.next = 1;
20
- break;
21
- }
22
- return _context.abrupt("return", sessionStorage.getItem(TOKEN_KEY));
23
- case 1:
24
- _context.next = 2;
25
- return cookies();
26
- case 2:
27
- _t3 = _yield$cookies$get = _context.sent.get(TOKEN_KEY);
28
- _t2 = _t3 === null;
29
- if (_t2) {
30
- _context.next = 3;
31
- break;
32
- }
33
- _t2 = _yield$cookies$get === void 0;
34
- case 3:
35
- if (!_t2) {
36
- _context.next = 4;
37
- break;
38
- }
39
- _t4 = void 0;
40
- _context.next = 5;
41
- break;
42
- case 4:
43
- _t4 = _yield$cookies$get.value;
44
- case 5:
45
- _t5 = _yield$cookies$get$va = _t4;
46
- _t = _t5 !== null;
47
- if (!_t) {
48
- _context.next = 6;
49
- break;
50
- }
51
- _t = _yield$cookies$get$va !== void 0;
52
- case 6:
53
- if (!_t) {
54
- _context.next = 7;
55
- break;
56
- }
57
- _t6 = _yield$cookies$get$va;
58
- _context.next = 8;
59
- break;
60
- case 7:
61
- _t6 = null;
62
- case 8:
63
- return _context.abrupt("return", _t6);
64
- case 9:
65
- case "end":
66
- return _context.stop();
67
- }
68
- }, _callee);
69
- }));
70
- return function tryAuthenticate() {
71
- return _ref.apply(this, arguments);
72
- };
73
- }();
74
- /**
75
- * 中间介
76
- */
77
- var middleware = function middleware(request) {
78
- var isAuthenticated = request.nextUrl.searchParams.has(TOKEN_KEY);
79
- if (!isAuthenticated) return;
80
- var _authenticated = request.nextUrl.searchParams.get(TOKEN_KEY);
81
- var url = new URL(request.url);
82
- url.searchParams["delete"](TOKEN_KEY);
83
- var response = NextResponse.redirect(url);
84
- if (_authenticated) {
85
- response.cookies.set({
86
- httpOnly: true,
87
- name: TOKEN_KEY,
88
- value: _authenticated
89
- });
90
- }
91
- return response;
92
- };
93
-
94
- export { middleware, tryAuthenticate };
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * `Token` key
5
- */
6
- var TOKEN_KEY = "authenticated";
7
-
8
- exports.TOKEN_KEY = TOKEN_KEY;
@@ -1,4 +0,0 @@
1
- /**
2
- * `Token` key
3
- */
4
- export declare const TOKEN_KEY = "authenticated";
@@ -1,6 +0,0 @@
1
- /**
2
- * `Token` key
3
- */
4
- var TOKEN_KEY = "authenticated";
5
-
6
- export { TOKEN_KEY };
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var authenticated = require('./authenticated.cjs');
4
- var authentication = require('./authentication.cjs');
5
-
6
-
7
-
8
- exports.Authenticated = authenticated;
9
- exports.middleware = authentication.middleware;
10
- exports.tryAuthenticate = authentication.tryAuthenticate;
@@ -1,3 +0,0 @@
1
- import Authenticated from "./authenticated";
2
- import { middleware, tryAuthenticate } from "./authentication";
3
- export { Authenticated, middleware, tryAuthenticate };
@@ -1,2 +0,0 @@
1
- export { default as Authenticated } from './authenticated.mjs';
2
- export { middleware, tryAuthenticate } from './authentication.mjs';