@gamedev-sensei/react-extras 1.1.2 → 2.0.1

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/dist/index.d.mts CHANGED
@@ -1,34 +1,44 @@
1
- import * as react from 'react';
2
- import { DependencyList } from 'react';
1
+ import * as react2 from "react";
2
+ import { DependencyList } from "react";
3
3
 
4
+ //#region src/idGenerator/generator.d.ts
4
5
  type WithId<T extends object> = T extends object ? (T & {
5
- id: string;
6
+ id: string;
6
7
  }) : never;
7
8
  type WithoutId<T extends object> = T extends object ? Omit<T, "id"> : never;
8
9
  declare const withId: <T extends object>(v: T, id: string) => WithId<T>;
9
- declare const withoutId: <T extends object>({ id, ...v }: WithId<T>) => WithoutId<WithId<T>>;
10
+ declare const withoutId: <T extends object>({
11
+ id,
12
+ ...v
13
+ }: WithId<T>) => WithoutId<WithId<T>>;
10
14
  type ArrayWithId<T extends object> = WithId<T>[];
11
15
  type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[];
12
16
  declare const arrayWithIds: <T extends object>(v: T[], idGenerator: () => string) => ArrayWithId<T>;
13
17
  declare const arrayWithoutIds: <T extends object>(v: ArrayWithId<T>) => ArrayWithoutId<T>;
14
18
  declare function wrapIdGenerator(generator: () => string): (() => string) & {
15
- withId<T extends {}>(v: T): WithId<T>;
16
- arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
19
+ withId<T extends {}>(v: T): WithId<T>;
20
+ arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
17
21
  };
18
22
  type IdGenerator = ReturnType<typeof wrapIdGenerator>;
19
-
23
+ //#endregion
24
+ //#region src/idGenerator/useIdGenerator.d.ts
20
25
  declare function useIdGenerator(): IdGenerator;
21
-
26
+ //#endregion
27
+ //#region src/idGenerator/useProvidedIdGenerator.d.ts
22
28
  declare function useProvidedIdGenerator(): IdGenerator;
23
-
24
- declare const IdGeneratorProvider: react.Provider<(() => string) & {
25
- withId<T extends {}>(v: T): WithId<T>;
26
- arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
29
+ //#endregion
30
+ //#region src/idGenerator/IdGeneratorProvider.d.ts
31
+ declare const IdGeneratorProvider: react2.Provider<(() => string) & {
32
+ withId<T extends {}>(v: T): WithId<T>;
33
+ arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
27
34
  }>;
28
-
35
+ //#endregion
36
+ //#region src/useDerived.d.ts
29
37
  declare function useDerived<T>(factory: () => T, dependencies: DependencyList, compareFn?: (a: unknown, b: unknown) => boolean): T;
30
-
38
+ //#endregion
39
+ //#region src/useMount.d.ts
31
40
  type CleanupFunction = () => void;
32
41
  declare function useMount(callback: () => (CleanupFunction | void)): void;
33
-
34
- export { type ArrayWithId, type ArrayWithoutId, type IdGenerator, IdGeneratorProvider, type WithId, type WithoutId, arrayWithIds, arrayWithoutIds, useDerived, useIdGenerator, useMount, useProvidedIdGenerator, withId, withoutId, wrapIdGenerator };
42
+ //#endregion
43
+ export { ArrayWithId, ArrayWithoutId, IdGenerator, IdGeneratorProvider, WithId, WithoutId, arrayWithIds, arrayWithoutIds, useDerived, useIdGenerator, useMount, useProvidedIdGenerator, withId, withoutId, wrapIdGenerator };
44
+ //# sourceMappingURL=index.d.mts.map
package/dist/index.d.ts CHANGED
@@ -1,34 +1,44 @@
1
- import * as react from 'react';
2
- import { DependencyList } from 'react';
1
+ import * as react2 from "react";
2
+ import { DependencyList } from "react";
3
3
 
4
+ //#region src/idGenerator/generator.d.ts
4
5
  type WithId<T extends object> = T extends object ? (T & {
5
- id: string;
6
+ id: string;
6
7
  }) : never;
7
8
  type WithoutId<T extends object> = T extends object ? Omit<T, "id"> : never;
8
9
  declare const withId: <T extends object>(v: T, id: string) => WithId<T>;
9
- declare const withoutId: <T extends object>({ id, ...v }: WithId<T>) => WithoutId<WithId<T>>;
10
+ declare const withoutId: <T extends object>({
11
+ id,
12
+ ...v
13
+ }: WithId<T>) => WithoutId<WithId<T>>;
10
14
  type ArrayWithId<T extends object> = WithId<T>[];
11
15
  type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[];
12
16
  declare const arrayWithIds: <T extends object>(v: T[], idGenerator: () => string) => ArrayWithId<T>;
13
17
  declare const arrayWithoutIds: <T extends object>(v: ArrayWithId<T>) => ArrayWithoutId<T>;
14
18
  declare function wrapIdGenerator(generator: () => string): (() => string) & {
15
- withId<T extends {}>(v: T): WithId<T>;
16
- arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
19
+ withId<T extends {}>(v: T): WithId<T>;
20
+ arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
17
21
  };
18
22
  type IdGenerator = ReturnType<typeof wrapIdGenerator>;
19
-
23
+ //#endregion
24
+ //#region src/idGenerator/useIdGenerator.d.ts
20
25
  declare function useIdGenerator(): IdGenerator;
21
-
26
+ //#endregion
27
+ //#region src/idGenerator/useProvidedIdGenerator.d.ts
22
28
  declare function useProvidedIdGenerator(): IdGenerator;
23
-
24
- declare const IdGeneratorProvider: react.Provider<(() => string) & {
25
- withId<T extends {}>(v: T): WithId<T>;
26
- arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
29
+ //#endregion
30
+ //#region src/idGenerator/IdGeneratorProvider.d.ts
31
+ declare const IdGeneratorProvider: react2.Provider<(() => string) & {
32
+ withId<T extends {}>(v: T): WithId<T>;
33
+ arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T>;
27
34
  }>;
28
-
35
+ //#endregion
36
+ //#region src/useDerived.d.ts
29
37
  declare function useDerived<T>(factory: () => T, dependencies: DependencyList, compareFn?: (a: unknown, b: unknown) => boolean): T;
30
-
38
+ //#endregion
39
+ //#region src/useMount.d.ts
31
40
  type CleanupFunction = () => void;
32
41
  declare function useMount(callback: () => (CleanupFunction | void)): void;
33
-
34
- export { type ArrayWithId, type ArrayWithoutId, type IdGenerator, IdGeneratorProvider, type WithId, type WithoutId, arrayWithIds, arrayWithoutIds, useDerived, useIdGenerator, useMount, useProvidedIdGenerator, withId, withoutId, wrapIdGenerator };
42
+ //#endregion
43
+ export { ArrayWithId, ArrayWithoutId, IdGenerator, IdGeneratorProvider, WithId, WithoutId, arrayWithIds, arrayWithoutIds, useDerived, useIdGenerator, useMount, useProvidedIdGenerator, withId, withoutId, wrapIdGenerator };
44
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,122 +1,107 @@
1
- "use strict";
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
8
  var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
17
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
19
22
 
20
- // src/index.ts
21
- var index_exports = {};
22
- __export(index_exports, {
23
- IdGeneratorProvider: () => IdGeneratorProvider,
24
- arrayWithIds: () => arrayWithIds,
25
- arrayWithoutIds: () => arrayWithoutIds,
26
- useDerived: () => useDerived,
27
- useIdGenerator: () => useIdGenerator,
28
- useMount: () => useMount,
29
- useProvidedIdGenerator: () => useProvidedIdGenerator,
30
- withId: () => withId,
31
- withoutId: () => withoutId,
32
- wrapIdGenerator: () => wrapIdGenerator
33
- });
34
- module.exports = __toCommonJS(index_exports);
23
+ //#endregion
24
+ const react = __toESM(require("react"));
35
25
 
36
- // src/idGenerator/generator.ts
37
- var withId = (v, id) => ({ ...v, id });
38
- var withoutId = ({ id, ...v }) => v;
39
- var arrayWithIds = (v, idGenerator) => v.map((i) => withId(i, idGenerator()));
40
- var arrayWithoutIds = (v) => v.map(withoutId);
26
+ //#region src/idGenerator/generator.ts
27
+ const withId = (v, id) => ({
28
+ ...v,
29
+ id
30
+ });
31
+ const withoutId = ({ id,...v }) => v;
32
+ const arrayWithIds = (v, idGenerator) => v.map((i) => withId(i, idGenerator()));
33
+ const arrayWithoutIds = (v) => v.map(withoutId);
41
34
  function wrapIdGenerator(generator) {
42
- return Object.assign(generator, {
43
- withId(v) {
44
- return withId(v, generator());
45
- },
46
- arrayWithIds(v) {
47
- return arrayWithIds(v, generator);
48
- }
49
- });
35
+ return Object.assign(generator, {
36
+ withId(v) {
37
+ return withId(v, generator());
38
+ },
39
+ arrayWithIds(v) {
40
+ return arrayWithIds(v, generator);
41
+ }
42
+ });
50
43
  }
51
44
 
52
- // src/idGenerator/useIdGenerator.ts
53
- var import_react2 = require("react");
54
-
55
- // src/useDerived.ts
56
- var import_react = require("react");
45
+ //#endregion
46
+ //#region src/useDerived.ts
57
47
  function equals(x, y) {
58
- if (typeof x === "number" && typeof y === "number") {
59
- return x === y || x !== x && y !== y;
60
- }
61
- return x === y;
48
+ if (typeof x === "number" && typeof y === "number") return x === y || x !== x && y !== y;
49
+ return x === y;
62
50
  }
63
51
  function useDerived(factory, dependencies, compareFn = equals) {
64
- const deps = (0, import_react.useRef)(dependencies);
65
- const valueRef = (0, import_react.useRef)({ value: null });
66
- valueRef.current.value ??= factory();
67
- if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {
68
- valueRef.current.value = factory();
69
- }
70
- deps.current = dependencies;
71
- return valueRef.current.value;
52
+ const deps = (0, react.useRef)(dependencies);
53
+ const valueRef = (0, react.useRef)({ value: null });
54
+ valueRef.current.value ??= factory();
55
+ if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) valueRef.current.value = factory();
56
+ deps.current = dependencies;
57
+ return valueRef.current.value;
72
58
  }
73
59
 
74
- // src/idGenerator/useIdGenerator.ts
60
+ //#endregion
61
+ //#region src/idGenerator/useIdGenerator.ts
75
62
  function useIdGenerator() {
76
- const nextId = (0, import_react2.useRef)(0);
77
- return useDerived(() => {
78
- function generateId() {
79
- return `${nextId.current++}`;
80
- }
81
- return wrapIdGenerator(generateId);
82
- }, [nextId]);
63
+ const nextId = (0, react.useRef)(0);
64
+ return useDerived(() => {
65
+ function generateId() {
66
+ return `${nextId.current++}`;
67
+ }
68
+ return wrapIdGenerator(generateId);
69
+ }, [nextId]);
83
70
  }
84
71
 
85
- // src/idGenerator/useProvidedIdGenerator.ts
86
- var import_react4 = require("react");
87
-
88
- // src/idGenerator/IdGeneratorContext.ts
89
- var import_react3 = require("react");
90
- var globalNextId = 0;
72
+ //#endregion
73
+ //#region src/idGenerator/IdGeneratorContext.ts
74
+ let globalNextId = 0;
91
75
  function globalGenerateId() {
92
- return `${globalNextId++}`;
76
+ return `${globalNextId++}`;
93
77
  }
94
- var IdGeneratorContext = (0, import_react3.createContext)(wrapIdGenerator(globalGenerateId));
78
+ const IdGeneratorContext = (0, react.createContext)(wrapIdGenerator(globalGenerateId));
95
79
 
96
- // src/idGenerator/useProvidedIdGenerator.ts
80
+ //#endregion
81
+ //#region src/idGenerator/useProvidedIdGenerator.ts
97
82
  function useProvidedIdGenerator() {
98
- return (0, import_react4.useContext)(IdGeneratorContext);
83
+ return (0, react.useContext)(IdGeneratorContext);
99
84
  }
100
85
 
101
- // src/idGenerator/IdGeneratorProvider.ts
102
- var IdGeneratorProvider = IdGeneratorContext.Provider;
86
+ //#endregion
87
+ //#region src/idGenerator/IdGeneratorProvider.ts
88
+ const IdGeneratorProvider = IdGeneratorContext.Provider;
103
89
 
104
- // src/useMount.ts
105
- var import_react5 = require("react");
90
+ //#endregion
91
+ //#region src/useMount.ts
106
92
  function useMount(callback) {
107
- return (0, import_react5.useEffect)(callback, []);
93
+ return (0, react.useEffect)(callback, []);
108
94
  }
109
- // Annotate the CommonJS export names for ESM import in node:
110
- 0 && (module.exports = {
111
- IdGeneratorProvider,
112
- arrayWithIds,
113
- arrayWithoutIds,
114
- useDerived,
115
- useIdGenerator,
116
- useMount,
117
- useProvidedIdGenerator,
118
- withId,
119
- withoutId,
120
- wrapIdGenerator
121
- });
95
+
96
+ //#endregion
97
+ exports.IdGeneratorProvider = IdGeneratorProvider;
98
+ exports.arrayWithIds = arrayWithIds;
99
+ exports.arrayWithoutIds = arrayWithoutIds;
100
+ exports.useDerived = useDerived;
101
+ exports.useIdGenerator = useIdGenerator;
102
+ exports.useMount = useMount;
103
+ exports.useProvidedIdGenerator = useProvidedIdGenerator;
104
+ exports.withId = withId;
105
+ exports.withoutId = withoutId;
106
+ exports.wrapIdGenerator = wrapIdGenerator;
122
107
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/idGenerator/generator.ts","../src/idGenerator/useIdGenerator.ts","../src/useDerived.ts","../src/idGenerator/useProvidedIdGenerator.ts","../src/idGenerator/IdGeneratorContext.ts","../src/idGenerator/IdGeneratorProvider.ts","../src/useMount.ts"],"sourcesContent":["export * from \"./idGenerator\"\nexport * from \"./useDerived\"\nexport * from \"./useMount\"\n","export type WithId<T extends object> = T extends object ? (T & { id: string }) : never\nexport type WithoutId<T extends object> = T extends object ? Omit<T, \"id\"> : never\n\nexport const withId = <T extends object>(v: T, id: string) =>\n ({ ...v, id }) as WithId<T>\nexport const withoutId = <T extends object>({ id, ...v }: WithId<T>) =>\n v as WithoutId<WithId<T>>\n\nexport type ArrayWithId<T extends object> = WithId<T>[]\nexport type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[]\n\nexport const arrayWithIds = <T extends object>(v: T[], idGenerator: () => string): ArrayWithId<T> =>\n v.map(i => withId(i, idGenerator()))\nexport const arrayWithoutIds = <T extends object>(v: ArrayWithId<T>): ArrayWithoutId<T> =>\n v.map(withoutId)\n\nexport function wrapIdGenerator(generator: () => string) {\n return Object.assign(generator, {\n withId<T extends {}>(v: T): WithId<T> {\n return withId(v, generator())\n },\n arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T> {\n return arrayWithIds(v, generator)\n }\n })\n}\n\nexport type IdGenerator = ReturnType<typeof wrapIdGenerator>","import {useRef} from \"react\";\nimport {wrapIdGenerator, IdGenerator} from \"./generator\";\nimport {useDerived} from \"@/useDerived\";\n\nexport function useIdGenerator(): IdGenerator {\n const nextId = useRef(0)\n return useDerived(() => {\n function generateId() {\n return `${nextId.current++}`\n }\n return wrapIdGenerator(generateId)\n }, [nextId])\n}","import {DependencyList, useRef} from \"react\";\n\nfunction equals(x: unknown, y: unknown): boolean {\n if (typeof x === \"number\" && typeof y === \"number\") {\n return x === y || (x !== x && y !== y);\n }\n return x === y;\n}\n\nexport function useDerived<T>(\n factory: () => T,\n dependencies: DependencyList,\n compareFn: (a: unknown, b: unknown) => boolean = equals\n): T {\n const deps = useRef(dependencies)\n const valueRef = useRef<{ value: T | null }>({ value: null })\n\n valueRef.current.value ??= factory()\n\n if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {\n valueRef.current.value = factory()\n }\n\n deps.current = dependencies\n return valueRef.current.value\n}","import {useContext} from \"react\";\nimport {IdGenerator} from \"./generator\";\nimport {IdGeneratorContext} from \"./IdGeneratorContext\";\n\nexport function useProvidedIdGenerator(): IdGenerator {\n return useContext(IdGeneratorContext)\n}","import {createContext} from \"react\";\nimport {IdGenerator, wrapIdGenerator} from \"./generator\";\n\nlet globalNextId: number = 0\n\nfunction globalGenerateId(): string {\n return `${globalNextId++}`\n}\n\nexport const IdGeneratorContext = createContext<IdGenerator>(wrapIdGenerator(globalGenerateId))","import {IdGeneratorContext} from \"./IdGeneratorContext\"\n\nexport const IdGeneratorProvider = IdGeneratorContext.Provider","import {useEffect} from \"react\";\n\ntype CleanupFunction = () => void\nexport function useMount(callback: () => (CleanupFunction | void)) {\n return useEffect(callback, [])\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,SAAS,CAAmB,GAAM,QAC1C,EAAE,GAAG,GAAG,GAAG;AACT,IAAM,YAAY,CAAmB,EAAE,IAAI,GAAG,EAAE,MACnD;AAKG,IAAM,eAAe,CAAmB,GAAQ,gBACnD,EAAE,IAAI,OAAK,OAAO,GAAG,YAAY,CAAC,CAAC;AAChC,IAAM,kBAAkB,CAAmB,MAC9C,EAAE,IAAI,SAAS;AAEZ,SAAS,gBAAgB,WAAyB;AACrD,SAAO,OAAO,OAAO,WAAW;AAAA,IAC5B,OAAqB,GAAiB;AAClC,aAAO,OAAO,GAAG,UAAU,CAAC;AAAA,IAChC;AAAA,IACA,aAA2B,GAAwB;AAC/C,aAAO,aAAa,GAAG,SAAS;AAAA,IACpC;AAAA,EACJ,CAAC;AACL;;;ACzBA,IAAAA,gBAAqB;;;ACArB,mBAAqC;AAErC,SAAS,OAAO,GAAY,GAAqB;AAC7C,MAAI,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AAChD,WAAO,MAAM,KAAM,MAAM,KAAK,MAAM;AAAA,EACxC;AACA,SAAO,MAAM;AACjB;AAEO,SAAS,WACZ,SACA,cACA,YAAiD,QAChD;AACD,QAAM,WAAO,qBAAO,YAAY;AAChC,QAAM,eAAW,qBAA4B,EAAE,OAAO,KAAK,CAAC;AAE5D,WAAS,QAAQ,UAAU,QAAQ;AAEnC,MAAI,KAAK,QAAQ,WAAW,aAAa,UAAU,CAAC,KAAK,QAAQ,MAAM,CAAC,GAAG,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG;AAC7G,aAAS,QAAQ,QAAQ,QAAQ;AAAA,EACrC;AAEA,OAAK,UAAU;AACf,SAAO,SAAS,QAAQ;AAC5B;;;ADrBO,SAAS,iBAA8B;AAC1C,QAAM,aAAS,sBAAO,CAAC;AACvB,SAAO,WAAW,MAAM;AACpB,aAAS,aAAa;AAClB,aAAO,GAAG,OAAO,SAAS;AAAA,IAC9B;AACA,WAAO,gBAAgB,UAAU;AAAA,EACrC,GAAG,CAAC,MAAM,CAAC;AACf;;;AEZA,IAAAC,gBAAyB;;;ACAzB,IAAAC,gBAA4B;AAG5B,IAAI,eAAuB;AAE3B,SAAS,mBAA2B;AAChC,SAAO,GAAG,cAAc;AAC5B;AAEO,IAAM,yBAAqB,6BAA2B,gBAAgB,gBAAgB,CAAC;;;ADLvF,SAAS,yBAAsC;AAClD,aAAO,0BAAW,kBAAkB;AACxC;;;AEJO,IAAM,sBAAsB,mBAAmB;;;ACFtD,IAAAC,gBAAwB;AAGjB,SAAS,SAAS,UAA0C;AAC/D,aAAO,yBAAU,UAAU,CAAC,CAAC;AACjC;","names":["import_react","import_react","import_react","import_react"]}
1
+ {"version":3,"file":"index.js","names":["v: T","id: string","v: T[]","idGenerator: () => string","v: ArrayWithId<T>","generator: () => string","x: unknown","y: unknown","factory: () => T","dependencies: DependencyList","compareFn: (a: unknown, b: unknown) => boolean","globalNextId: number","callback: () => (CleanupFunction | void)"],"sources":["../src/idGenerator/generator.ts","../src/useDerived.ts","../src/idGenerator/useIdGenerator.ts","../src/idGenerator/IdGeneratorContext.ts","../src/idGenerator/useProvidedIdGenerator.ts","../src/idGenerator/IdGeneratorProvider.ts","../src/useMount.ts"],"sourcesContent":["export type WithId<T extends object> = T extends object ? (T & { id: string }) : never\nexport type WithoutId<T extends object> = T extends object ? Omit<T, \"id\"> : never\n\nexport const withId = <T extends object>(v: T, id: string) =>\n ({ ...v, id }) as WithId<T>\nexport const withoutId = <T extends object>({ id, ...v }: WithId<T>) =>\n v as WithoutId<WithId<T>>\n\nexport type ArrayWithId<T extends object> = WithId<T>[]\nexport type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[]\n\nexport const arrayWithIds = <T extends object>(v: T[], idGenerator: () => string): ArrayWithId<T> =>\n v.map(i => withId(i, idGenerator()))\nexport const arrayWithoutIds = <T extends object>(v: ArrayWithId<T>): ArrayWithoutId<T> =>\n v.map(withoutId)\n\nexport function wrapIdGenerator(generator: () => string) {\n return Object.assign(generator, {\n withId<T extends {}>(v: T): WithId<T> {\n return withId(v, generator())\n },\n arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T> {\n return arrayWithIds(v, generator)\n }\n })\n}\n\nexport type IdGenerator = ReturnType<typeof wrapIdGenerator>","import {DependencyList, useRef} from \"react\";\n\nfunction equals(x: unknown, y: unknown): boolean {\n if (typeof x === \"number\" && typeof y === \"number\") {\n return x === y || (x !== x && y !== y);\n }\n return x === y;\n}\n\nexport function useDerived<T>(\n factory: () => T,\n dependencies: DependencyList,\n compareFn: (a: unknown, b: unknown) => boolean = equals\n): T {\n const deps = useRef(dependencies)\n const valueRef = useRef<{ value: T | null }>({ value: null })\n\n valueRef.current.value ??= factory()\n\n if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {\n valueRef.current.value = factory()\n }\n\n deps.current = dependencies\n return valueRef.current.value\n}","import {useRef} from \"react\";\nimport {wrapIdGenerator, IdGenerator} from \"./generator\";\nimport {useDerived} from \"@/useDerived\";\n\nexport function useIdGenerator(): IdGenerator {\n const nextId = useRef(0)\n return useDerived(() => {\n function generateId() {\n return `${nextId.current++}`\n }\n return wrapIdGenerator(generateId)\n }, [nextId])\n}","import {createContext} from \"react\";\nimport {IdGenerator, wrapIdGenerator} from \"./generator\";\n\nlet globalNextId: number = 0\n\nfunction globalGenerateId(): string {\n return `${globalNextId++}`\n}\n\nexport const IdGeneratorContext = createContext<IdGenerator>(wrapIdGenerator(globalGenerateId))","import {useContext} from \"react\";\nimport {IdGenerator} from \"./generator\";\nimport {IdGeneratorContext} from \"./IdGeneratorContext\";\n\nexport function useProvidedIdGenerator(): IdGenerator {\n return useContext(IdGeneratorContext)\n}","import {IdGeneratorContext} from \"./IdGeneratorContext\"\n\nexport const IdGeneratorProvider = IdGeneratorContext.Provider","import {useEffect} from \"react\";\n\ntype CleanupFunction = () => void\nexport function useMount(callback: () => (CleanupFunction | void)) {\n return useEffect(callback, [])\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAa,SAAS,CAAmBA,GAAMC,QAC1C;CAAE,GAAG;CAAG;AAAI;AACjB,MAAa,YAAY,CAAmB,EAAE,GAAI,GAAG,GAAc,KAC/D;AAKJ,MAAa,eAAe,CAAmBC,GAAQC,gBACnD,EAAE,IAAI,OAAK,OAAO,GAAG,aAAa,CAAC,CAAC;AACxC,MAAa,kBAAkB,CAAmBC,MAC9C,EAAE,IAAI,UAAU;AAEpB,SAAgB,gBAAgBC,WAAyB;AACrD,QAAO,OAAO,OAAO,WAAW;EAC5B,OAAqBL,GAAiB;AAClC,UAAO,OAAO,GAAG,WAAW,CAAC;EAChC;EACD,aAA2BE,GAAwB;AAC/C,UAAO,aAAa,GAAG,UAAU;EACpC;CACJ,EAAC;AACL;;;;ACvBD,SAAS,OAAOI,GAAYC,GAAqB;AAC7C,YAAW,MAAM,mBAAmB,MAAM,SACtC,QAAO,MAAM,KAAM,MAAM,KAAK,MAAM;AAExC,QAAO,MAAM;AAChB;AAED,SAAgB,WACZC,SACAC,cACAC,YAAiD,QAChD;CACD,MAAM,OAAO,kBAAO,aAAa;CACjC,MAAM,WAAW,kBAA4B,EAAE,OAAO,KAAM,EAAC;AAE7D,UAAS,QAAQ,UAAU,SAAS;AAEpC,KAAI,KAAK,QAAQ,WAAW,aAAa,WAAW,KAAK,QAAQ,MAAM,CAAC,GAAG,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,CAC3G,UAAS,QAAQ,QAAQ,SAAS;AAGtC,MAAK,UAAU;AACf,QAAO,SAAS,QAAQ;AAC3B;;;;ACrBD,SAAgB,iBAA8B;CAC1C,MAAM,SAAS,kBAAO,EAAE;AACxB,QAAO,WAAW,MAAM;EACpB,SAAS,aAAa;AAClB,WAAQ,EAAE,OAAO,UAAU;EAC9B;AACD,SAAO,gBAAgB,WAAW;CACrC,GAAE,CAAC,MAAO,EAAC;AACf;;;;ACTD,IAAIC,eAAuB;AAE3B,SAAS,mBAA2B;AAChC,SAAQ,EAAE,eAAe;AAC5B;AAED,MAAa,qBAAqB,yBAA2B,gBAAgB,iBAAiB,CAAC;;;;ACL/F,SAAgB,yBAAsC;AAClD,QAAO,sBAAW,mBAAmB;AACxC;;;;ACJD,MAAa,sBAAsB,mBAAmB;;;;ACCtD,SAAgB,SAASC,UAA0C;AAC/D,QAAO,qBAAU,UAAU,CAAE,EAAC;AACjC"}
package/dist/index.mjs CHANGED
@@ -1,86 +1,75 @@
1
- // src/idGenerator/generator.ts
2
- var withId = (v, id) => ({ ...v, id });
3
- var withoutId = ({ id, ...v }) => v;
4
- var arrayWithIds = (v, idGenerator) => v.map((i) => withId(i, idGenerator()));
5
- var arrayWithoutIds = (v) => v.map(withoutId);
1
+ import { createContext, useContext, useEffect, useRef } from "react";
2
+
3
+ //#region src/idGenerator/generator.ts
4
+ const withId = (v, id) => ({
5
+ ...v,
6
+ id
7
+ });
8
+ const withoutId = ({ id,...v }) => v;
9
+ const arrayWithIds = (v, idGenerator) => v.map((i) => withId(i, idGenerator()));
10
+ const arrayWithoutIds = (v) => v.map(withoutId);
6
11
  function wrapIdGenerator(generator) {
7
- return Object.assign(generator, {
8
- withId(v) {
9
- return withId(v, generator());
10
- },
11
- arrayWithIds(v) {
12
- return arrayWithIds(v, generator);
13
- }
14
- });
12
+ return Object.assign(generator, {
13
+ withId(v) {
14
+ return withId(v, generator());
15
+ },
16
+ arrayWithIds(v) {
17
+ return arrayWithIds(v, generator);
18
+ }
19
+ });
15
20
  }
16
21
 
17
- // src/idGenerator/useIdGenerator.ts
18
- import { useRef as useRef2 } from "react";
19
-
20
- // src/useDerived.ts
21
- import { useRef } from "react";
22
+ //#endregion
23
+ //#region src/useDerived.ts
22
24
  function equals(x, y) {
23
- if (typeof x === "number" && typeof y === "number") {
24
- return x === y || x !== x && y !== y;
25
- }
26
- return x === y;
25
+ if (typeof x === "number" && typeof y === "number") return x === y || x !== x && y !== y;
26
+ return x === y;
27
27
  }
28
28
  function useDerived(factory, dependencies, compareFn = equals) {
29
- const deps = useRef(dependencies);
30
- const valueRef = useRef({ value: null });
31
- valueRef.current.value ??= factory();
32
- if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {
33
- valueRef.current.value = factory();
34
- }
35
- deps.current = dependencies;
36
- return valueRef.current.value;
29
+ const deps = useRef(dependencies);
30
+ const valueRef = useRef({ value: null });
31
+ valueRef.current.value ??= factory();
32
+ if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) valueRef.current.value = factory();
33
+ deps.current = dependencies;
34
+ return valueRef.current.value;
37
35
  }
38
36
 
39
- // src/idGenerator/useIdGenerator.ts
37
+ //#endregion
38
+ //#region src/idGenerator/useIdGenerator.ts
40
39
  function useIdGenerator() {
41
- const nextId = useRef2(0);
42
- return useDerived(() => {
43
- function generateId() {
44
- return `${nextId.current++}`;
45
- }
46
- return wrapIdGenerator(generateId);
47
- }, [nextId]);
40
+ const nextId = useRef(0);
41
+ return useDerived(() => {
42
+ function generateId() {
43
+ return `${nextId.current++}`;
44
+ }
45
+ return wrapIdGenerator(generateId);
46
+ }, [nextId]);
48
47
  }
49
48
 
50
- // src/idGenerator/useProvidedIdGenerator.ts
51
- import { useContext } from "react";
52
-
53
- // src/idGenerator/IdGeneratorContext.ts
54
- import { createContext } from "react";
55
- var globalNextId = 0;
49
+ //#endregion
50
+ //#region src/idGenerator/IdGeneratorContext.ts
51
+ let globalNextId = 0;
56
52
  function globalGenerateId() {
57
- return `${globalNextId++}`;
53
+ return `${globalNextId++}`;
58
54
  }
59
- var IdGeneratorContext = createContext(wrapIdGenerator(globalGenerateId));
55
+ const IdGeneratorContext = createContext(wrapIdGenerator(globalGenerateId));
60
56
 
61
- // src/idGenerator/useProvidedIdGenerator.ts
57
+ //#endregion
58
+ //#region src/idGenerator/useProvidedIdGenerator.ts
62
59
  function useProvidedIdGenerator() {
63
- return useContext(IdGeneratorContext);
60
+ return useContext(IdGeneratorContext);
64
61
  }
65
62
 
66
- // src/idGenerator/IdGeneratorProvider.ts
67
- var IdGeneratorProvider = IdGeneratorContext.Provider;
63
+ //#endregion
64
+ //#region src/idGenerator/IdGeneratorProvider.ts
65
+ const IdGeneratorProvider = IdGeneratorContext.Provider;
68
66
 
69
- // src/useMount.ts
70
- import { useEffect } from "react";
67
+ //#endregion
68
+ //#region src/useMount.ts
71
69
  function useMount(callback) {
72
- return useEffect(callback, []);
70
+ return useEffect(callback, []);
73
71
  }
74
- export {
75
- IdGeneratorProvider,
76
- arrayWithIds,
77
- arrayWithoutIds,
78
- useDerived,
79
- useIdGenerator,
80
- useMount,
81
- useProvidedIdGenerator,
82
- withId,
83
- withoutId,
84
- wrapIdGenerator
85
- };
72
+
73
+ //#endregion
74
+ export { IdGeneratorProvider, arrayWithIds, arrayWithoutIds, useDerived, useIdGenerator, useMount, useProvidedIdGenerator, withId, withoutId, wrapIdGenerator };
86
75
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/idGenerator/generator.ts","../src/idGenerator/useIdGenerator.ts","../src/useDerived.ts","../src/idGenerator/useProvidedIdGenerator.ts","../src/idGenerator/IdGeneratorContext.ts","../src/idGenerator/IdGeneratorProvider.ts","../src/useMount.ts"],"sourcesContent":["export type WithId<T extends object> = T extends object ? (T & { id: string }) : never\nexport type WithoutId<T extends object> = T extends object ? Omit<T, \"id\"> : never\n\nexport const withId = <T extends object>(v: T, id: string) =>\n ({ ...v, id }) as WithId<T>\nexport const withoutId = <T extends object>({ id, ...v }: WithId<T>) =>\n v as WithoutId<WithId<T>>\n\nexport type ArrayWithId<T extends object> = WithId<T>[]\nexport type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[]\n\nexport const arrayWithIds = <T extends object>(v: T[], idGenerator: () => string): ArrayWithId<T> =>\n v.map(i => withId(i, idGenerator()))\nexport const arrayWithoutIds = <T extends object>(v: ArrayWithId<T>): ArrayWithoutId<T> =>\n v.map(withoutId)\n\nexport function wrapIdGenerator(generator: () => string) {\n return Object.assign(generator, {\n withId<T extends {}>(v: T): WithId<T> {\n return withId(v, generator())\n },\n arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T> {\n return arrayWithIds(v, generator)\n }\n })\n}\n\nexport type IdGenerator = ReturnType<typeof wrapIdGenerator>","import {useRef} from \"react\";\nimport {wrapIdGenerator, IdGenerator} from \"./generator\";\nimport {useDerived} from \"@/useDerived\";\n\nexport function useIdGenerator(): IdGenerator {\n const nextId = useRef(0)\n return useDerived(() => {\n function generateId() {\n return `${nextId.current++}`\n }\n return wrapIdGenerator(generateId)\n }, [nextId])\n}","import {DependencyList, useRef} from \"react\";\n\nfunction equals(x: unknown, y: unknown): boolean {\n if (typeof x === \"number\" && typeof y === \"number\") {\n return x === y || (x !== x && y !== y);\n }\n return x === y;\n}\n\nexport function useDerived<T>(\n factory: () => T,\n dependencies: DependencyList,\n compareFn: (a: unknown, b: unknown) => boolean = equals\n): T {\n const deps = useRef(dependencies)\n const valueRef = useRef<{ value: T | null }>({ value: null })\n\n valueRef.current.value ??= factory()\n\n if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {\n valueRef.current.value = factory()\n }\n\n deps.current = dependencies\n return valueRef.current.value\n}","import {useContext} from \"react\";\nimport {IdGenerator} from \"./generator\";\nimport {IdGeneratorContext} from \"./IdGeneratorContext\";\n\nexport function useProvidedIdGenerator(): IdGenerator {\n return useContext(IdGeneratorContext)\n}","import {createContext} from \"react\";\nimport {IdGenerator, wrapIdGenerator} from \"./generator\";\n\nlet globalNextId: number = 0\n\nfunction globalGenerateId(): string {\n return `${globalNextId++}`\n}\n\nexport const IdGeneratorContext = createContext<IdGenerator>(wrapIdGenerator(globalGenerateId))","import {IdGeneratorContext} from \"./IdGeneratorContext\"\n\nexport const IdGeneratorProvider = IdGeneratorContext.Provider","import {useEffect} from \"react\";\n\ntype CleanupFunction = () => void\nexport function useMount(callback: () => (CleanupFunction | void)) {\n return useEffect(callback, [])\n}"],"mappings":";AAGO,IAAM,SAAS,CAAmB,GAAM,QAC1C,EAAE,GAAG,GAAG,GAAG;AACT,IAAM,YAAY,CAAmB,EAAE,IAAI,GAAG,EAAE,MACnD;AAKG,IAAM,eAAe,CAAmB,GAAQ,gBACnD,EAAE,IAAI,OAAK,OAAO,GAAG,YAAY,CAAC,CAAC;AAChC,IAAM,kBAAkB,CAAmB,MAC9C,EAAE,IAAI,SAAS;AAEZ,SAAS,gBAAgB,WAAyB;AACrD,SAAO,OAAO,OAAO,WAAW;AAAA,IAC5B,OAAqB,GAAiB;AAClC,aAAO,OAAO,GAAG,UAAU,CAAC;AAAA,IAChC;AAAA,IACA,aAA2B,GAAwB;AAC/C,aAAO,aAAa,GAAG,SAAS;AAAA,IACpC;AAAA,EACJ,CAAC;AACL;;;ACzBA,SAAQ,UAAAA,eAAa;;;ACArB,SAAwB,cAAa;AAErC,SAAS,OAAO,GAAY,GAAqB;AAC7C,MAAI,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AAChD,WAAO,MAAM,KAAM,MAAM,KAAK,MAAM;AAAA,EACxC;AACA,SAAO,MAAM;AACjB;AAEO,SAAS,WACZ,SACA,cACA,YAAiD,QAChD;AACD,QAAM,OAAO,OAAO,YAAY;AAChC,QAAM,WAAW,OAA4B,EAAE,OAAO,KAAK,CAAC;AAE5D,WAAS,QAAQ,UAAU,QAAQ;AAEnC,MAAI,KAAK,QAAQ,WAAW,aAAa,UAAU,CAAC,KAAK,QAAQ,MAAM,CAAC,GAAG,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG;AAC7G,aAAS,QAAQ,QAAQ,QAAQ;AAAA,EACrC;AAEA,OAAK,UAAU;AACf,SAAO,SAAS,QAAQ;AAC5B;;;ADrBO,SAAS,iBAA8B;AAC1C,QAAM,SAASC,QAAO,CAAC;AACvB,SAAO,WAAW,MAAM;AACpB,aAAS,aAAa;AAClB,aAAO,GAAG,OAAO,SAAS;AAAA,IAC9B;AACA,WAAO,gBAAgB,UAAU;AAAA,EACrC,GAAG,CAAC,MAAM,CAAC;AACf;;;AEZA,SAAQ,kBAAiB;;;ACAzB,SAAQ,qBAAoB;AAG5B,IAAI,eAAuB;AAE3B,SAAS,mBAA2B;AAChC,SAAO,GAAG,cAAc;AAC5B;AAEO,IAAM,qBAAqB,cAA2B,gBAAgB,gBAAgB,CAAC;;;ADLvF,SAAS,yBAAsC;AAClD,SAAO,WAAW,kBAAkB;AACxC;;;AEJO,IAAM,sBAAsB,mBAAmB;;;ACFtD,SAAQ,iBAAgB;AAGjB,SAAS,SAAS,UAA0C;AAC/D,SAAO,UAAU,UAAU,CAAC,CAAC;AACjC;","names":["useRef","useRef"]}
1
+ {"version":3,"file":"index.mjs","names":["v: T","id: string","v: T[]","idGenerator: () => string","v: ArrayWithId<T>","generator: () => string","x: unknown","y: unknown","factory: () => T","dependencies: DependencyList","compareFn: (a: unknown, b: unknown) => boolean","globalNextId: number","callback: () => (CleanupFunction | void)"],"sources":["../src/idGenerator/generator.ts","../src/useDerived.ts","../src/idGenerator/useIdGenerator.ts","../src/idGenerator/IdGeneratorContext.ts","../src/idGenerator/useProvidedIdGenerator.ts","../src/idGenerator/IdGeneratorProvider.ts","../src/useMount.ts"],"sourcesContent":["export type WithId<T extends object> = T extends object ? (T & { id: string }) : never\nexport type WithoutId<T extends object> = T extends object ? Omit<T, \"id\"> : never\n\nexport const withId = <T extends object>(v: T, id: string) =>\n ({ ...v, id }) as WithId<T>\nexport const withoutId = <T extends object>({ id, ...v }: WithId<T>) =>\n v as WithoutId<WithId<T>>\n\nexport type ArrayWithId<T extends object> = WithId<T>[]\nexport type ArrayWithoutId<T extends object> = WithoutId<WithId<T>>[]\n\nexport const arrayWithIds = <T extends object>(v: T[], idGenerator: () => string): ArrayWithId<T> =>\n v.map(i => withId(i, idGenerator()))\nexport const arrayWithoutIds = <T extends object>(v: ArrayWithId<T>): ArrayWithoutId<T> =>\n v.map(withoutId)\n\nexport function wrapIdGenerator(generator: () => string) {\n return Object.assign(generator, {\n withId<T extends {}>(v: T): WithId<T> {\n return withId(v, generator())\n },\n arrayWithIds<T extends {}>(v: T[]): ArrayWithId<T> {\n return arrayWithIds(v, generator)\n }\n })\n}\n\nexport type IdGenerator = ReturnType<typeof wrapIdGenerator>","import {DependencyList, useRef} from \"react\";\n\nfunction equals(x: unknown, y: unknown): boolean {\n if (typeof x === \"number\" && typeof y === \"number\") {\n return x === y || (x !== x && y !== y);\n }\n return x === y;\n}\n\nexport function useDerived<T>(\n factory: () => T,\n dependencies: DependencyList,\n compareFn: (a: unknown, b: unknown) => boolean = equals\n): T {\n const deps = useRef(dependencies)\n const valueRef = useRef<{ value: T | null }>({ value: null })\n\n valueRef.current.value ??= factory()\n\n if (deps.current.length !== dependencies.length || !deps.current.every((v, i) => compareFn(v, dependencies[i]))) {\n valueRef.current.value = factory()\n }\n\n deps.current = dependencies\n return valueRef.current.value\n}","import {useRef} from \"react\";\nimport {wrapIdGenerator, IdGenerator} from \"./generator\";\nimport {useDerived} from \"@/useDerived\";\n\nexport function useIdGenerator(): IdGenerator {\n const nextId = useRef(0)\n return useDerived(() => {\n function generateId() {\n return `${nextId.current++}`\n }\n return wrapIdGenerator(generateId)\n }, [nextId])\n}","import {createContext} from \"react\";\nimport {IdGenerator, wrapIdGenerator} from \"./generator\";\n\nlet globalNextId: number = 0\n\nfunction globalGenerateId(): string {\n return `${globalNextId++}`\n}\n\nexport const IdGeneratorContext = createContext<IdGenerator>(wrapIdGenerator(globalGenerateId))","import {useContext} from \"react\";\nimport {IdGenerator} from \"./generator\";\nimport {IdGeneratorContext} from \"./IdGeneratorContext\";\n\nexport function useProvidedIdGenerator(): IdGenerator {\n return useContext(IdGeneratorContext)\n}","import {IdGeneratorContext} from \"./IdGeneratorContext\"\n\nexport const IdGeneratorProvider = IdGeneratorContext.Provider","import {useEffect} from \"react\";\n\ntype CleanupFunction = () => void\nexport function useMount(callback: () => (CleanupFunction | void)) {\n return useEffect(callback, [])\n}"],"mappings":";;;AAGA,MAAa,SAAS,CAAmBA,GAAMC,QAC1C;CAAE,GAAG;CAAG;AAAI;AACjB,MAAa,YAAY,CAAmB,EAAE,GAAI,GAAG,GAAc,KAC/D;AAKJ,MAAa,eAAe,CAAmBC,GAAQC,gBACnD,EAAE,IAAI,OAAK,OAAO,GAAG,aAAa,CAAC,CAAC;AACxC,MAAa,kBAAkB,CAAmBC,MAC9C,EAAE,IAAI,UAAU;AAEpB,SAAgB,gBAAgBC,WAAyB;AACrD,QAAO,OAAO,OAAO,WAAW;EAC5B,OAAqBL,GAAiB;AAClC,UAAO,OAAO,GAAG,WAAW,CAAC;EAChC;EACD,aAA2BE,GAAwB;AAC/C,UAAO,aAAa,GAAG,UAAU;EACpC;CACJ,EAAC;AACL;;;;ACvBD,SAAS,OAAOI,GAAYC,GAAqB;AAC7C,YAAW,MAAM,mBAAmB,MAAM,SACtC,QAAO,MAAM,KAAM,MAAM,KAAK,MAAM;AAExC,QAAO,MAAM;AAChB;AAED,SAAgB,WACZC,SACAC,cACAC,YAAiD,QAChD;CACD,MAAM,OAAO,OAAO,aAAa;CACjC,MAAM,WAAW,OAA4B,EAAE,OAAO,KAAM,EAAC;AAE7D,UAAS,QAAQ,UAAU,SAAS;AAEpC,KAAI,KAAK,QAAQ,WAAW,aAAa,WAAW,KAAK,QAAQ,MAAM,CAAC,GAAG,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,CAC3G,UAAS,QAAQ,QAAQ,SAAS;AAGtC,MAAK,UAAU;AACf,QAAO,SAAS,QAAQ;AAC3B;;;;ACrBD,SAAgB,iBAA8B;CAC1C,MAAM,SAAS,OAAO,EAAE;AACxB,QAAO,WAAW,MAAM;EACpB,SAAS,aAAa;AAClB,WAAQ,EAAE,OAAO,UAAU;EAC9B;AACD,SAAO,gBAAgB,WAAW;CACrC,GAAE,CAAC,MAAO,EAAC;AACf;;;;ACTD,IAAIC,eAAuB;AAE3B,SAAS,mBAA2B;AAChC,SAAQ,EAAE,eAAe;AAC5B;AAED,MAAa,qBAAqB,cAA2B,gBAAgB,iBAAiB,CAAC;;;;ACL/F,SAAgB,yBAAsC;AAClD,QAAO,WAAW,mBAAmB;AACxC;;;;ACJD,MAAa,sBAAsB,mBAAmB;;;;ACCtD,SAAgB,SAASC,UAA0C;AAC/D,QAAO,UAAU,UAAU,CAAE,EAAC;AACjC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamedev-sensei/react-extras",
3
3
  "repository": "git@github.com:gamedev-sensei/package-extras.git",
4
- "version": "1.1.2",
4
+ "version": "2.0.1",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.mjs",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "scripts": {
23
23
  "type-check": "tsc --noEmit",
24
- "build": "tsup && attw --pack ."
24
+ "build": "tsdown && attw --pack ."
25
25
  },
26
26
  "dependencies": {
27
27
  "@arethetypeswrong/cli": "^0.18.2",
@@ -30,10 +30,10 @@
30
30
  "remeda": "^2.23.3"
31
31
  },
32
32
  "devDependencies": {
33
- "@gamedev-sensei/ts-config": "1.1.2",
34
- "@gamedev-sensei/tsup-config": "1.1.2",
33
+ "@gamedev-sensei/ts-config": "2.0.1",
34
+ "@gamedev-sensei/tsdown-config": "2.0.1",
35
35
  "@types/react": "^19.1.8",
36
36
  "@types/react-dom": "^19.1.6",
37
- "tsup": "^8.5.0"
37
+ "tsdown": "^0.12.9"
38
38
  }
39
39
  }