@venizia/ardor-react 0.1.1-0 → 0.1.1-2

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.
@@ -1,5 +1,6 @@
1
1
  export * from './redux';
2
2
  export * from './use-application-context';
3
+ export * from './use-artifact';
3
4
  export * from './use-autosave';
4
5
  export * from './use-before-unload';
5
6
  export * from './use-confirm';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './redux';
2
2
  export * from './use-application-context';
3
+ export * from './use-artifact';
3
4
  export * from './use-autosave';
4
5
  export * from './use-before-unload';
5
6
  export * from './use-confirm';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type AnyType } from '@venizia/ardor-kernel';
2
+ import { Container, type TClass } from '@venizia/ignis-inversion';
3
+ import { type TUseInjectableKeys } from './use-injectable';
4
+ /**
5
+ * Resolving by class, where the class IS the type. `useService({ target: AuditService })` returns a
6
+ * `AuditService` with no generic written down - the target already says what it is, and repeating it
7
+ * is a second place to get wrong.
8
+ */
9
+ export interface IUseArtifactByTarget<T> {
10
+ container?: Container;
11
+ target: TClass<T>;
12
+ key?: never;
13
+ }
14
+ /** Resolving by key, where nothing carries the type, so the caller supplies it. */
15
+ export interface IUseArtifactByKey {
16
+ container?: Container;
17
+ key: TUseInjectableKeys;
18
+ target?: never;
19
+ }
20
+ export declare const useService: <T = AnyType>(opts: IUseArtifactByTarget<T> | IUseArtifactByKey) => T;
21
+ export declare const useProvider: <T = AnyType>(opts: IUseArtifactByTarget<T> | IUseArtifactByKey) => T;
22
+ export declare const useComponent: <T = AnyType>(opts: IUseArtifactByTarget<T> | IUseArtifactByKey) => T;
23
+ export declare const useConfiguration: <T = AnyType>(opts: IUseArtifactByTarget<T> | IUseArtifactByKey) => T;
24
+ //# sourceMappingURL=use-artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-artifact.d.ts","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AA0CD,eAAO,MAAM,UAAU,GAAI,CAAC,GAAG,OAAO,EAAE,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,iBAAiB,KAAG,CAKxF,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,CAAC,GAAG,OAAO,EAAE,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,iBAAiB,KAAG,CAKzF,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,CAAC,GAAG,OAAO,EAAE,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,iBAAiB,KAAG,CAK1F,CAAC;AAEL,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,OAAO,EAC1C,MAAM,oBAAoB,CAAC,CAAC,CAAC,GAAG,iBAAiB,KAChD,CAKC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { BindingNamespaces } from '@venizia/ardor-kernel';
2
+ import { getError } from '@venizia/ignis-inversion';
3
+ import { useInjectable, useInjectableContainer, } from './use-injectable';
4
+ /**
5
+ * The per-stereotype hooks: `useService`, `useProvider`, `useComponent`, `useConfiguration`.
6
+ *
7
+ * Each takes an options object - `{ target }` or `{ key }`, never a positional class. One
8
+ * positional parameter reads fine until the second one arrives, and by then every caller pays.
9
+ *
10
+ * They are not aliases for `useInjectable`. Each asserts that what it resolved is bound under its
11
+ * own namespace, so `useService({ target: SomeProvider })` throws with both namespaces named rather
12
+ * than returning an object of the wrong kind. Resolving the wrong artifact kind is the mistake this
13
+ * catches, and an alias would not catch it.
14
+ */
15
+ const resolveInNamespace = (opts) => {
16
+ const { options, namespace, hook } = opts;
17
+ // Same inputs as the call inside `useInjectable`, so provably the same container - the check and
18
+ // the resolution can never read two different ones.
19
+ const container = useInjectableContainer({ container: options.container });
20
+ // A `key` the caller wrote carries its namespace in the string, and is theirs to be wrong about.
21
+ // Only a `target` hides which namespace it lands in, so only that is worth checking.
22
+ if (options.target) {
23
+ const key = container.getMetadataRegistry().getBindingKey({ target: options.target });
24
+ // `String(...)`, never interpolation: a binding key may be a symbol, and a template literal on
25
+ // one throws at run time rather than reading as its description.
26
+ const bound = key === undefined ? undefined : String(key);
27
+ if (bound && !bound.startsWith(`${namespace}.`)) {
28
+ throw getError({
29
+ message: `[${hook}] ${options.target.name} is bound as "${bound}", not under "${namespace}". Use the hook for that namespace, or change the stereotype on the class.`,
30
+ });
31
+ }
32
+ }
33
+ return useInjectable(options);
34
+ };
35
+ export const useService = (opts) => resolveInNamespace({
36
+ options: opts,
37
+ namespace: BindingNamespaces.SERVICE,
38
+ hook: 'useService',
39
+ });
40
+ export const useProvider = (opts) => resolveInNamespace({
41
+ options: opts,
42
+ namespace: BindingNamespaces.PROVIDER,
43
+ hook: 'useProvider',
44
+ });
45
+ export const useComponent = (opts) => resolveInNamespace({
46
+ options: opts,
47
+ namespace: BindingNamespaces.COMPONENT,
48
+ hook: 'useComponent',
49
+ });
50
+ export const useConfiguration = (opts) => resolveInNamespace({
51
+ options: opts,
52
+ namespace: BindingNamespaces.CONFIGURATION,
53
+ hook: 'useConfiguration',
54
+ });
55
+ //# sourceMappingURL=use-artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-artifact.js","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAa,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EACL,aAAa,EACb,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAoB1B;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB,GAAG,CAAI,IAI9B,EAAK,EAAE;IACN,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE1C,iGAAiG;IACjG,oDAAoD;IACpD,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,iGAAiG;IACjG,qFAAqF;IACrF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,+FAA+F;QAC/F,iEAAiE;QACjE,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,4EAA4E;aACtK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAI,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAc,IAAiD,EAAK,EAAE,CAC9F,kBAAkB,CAAI;IACpB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,OAAO;IACpC,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAc,IAAiD,EAAK,EAAE,CAC/F,kBAAkB,CAAI;IACpB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,QAAQ;IACrC,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAAc,IAAiD,EAAK,EAAE,CAChG,kBAAkB,CAAI;IACpB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,SAAS;IACtC,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAiD,EAC9C,EAAE,CACL,kBAAkB,CAAI;IACpB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,aAAa;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC"}
@@ -13,5 +13,14 @@ export type TUseInjectableOptions = {
13
13
  key?: never;
14
14
  target: TClass<AnyType>;
15
15
  };
16
+ /**
17
+ * The container an injectable hook resolves from: the one passed in, else the one the application
18
+ * context holds. Shared so that every hook built on `useInjectable` reads the SAME container it
19
+ * resolves from - a hook that re-derived it would be checking one container and resolving from
20
+ * another, and the check would pass by accident.
21
+ */
22
+ export declare const useInjectableContainer: (opts?: {
23
+ container?: Container;
24
+ }) => Container;
16
25
  export declare const useInjectable: <T>(opts: TUseInjectableOptions) => T;
17
26
  //# sourceMappingURL=use-injectable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-injectable.d.ts","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,KAAK,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjF,MAAM,WAAW,2BAA2B;CAAG;AAE/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,2BAA2B,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEpE,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,qBAAqB,MA+B3D,CAAC"}
1
+ {"version":3,"file":"use-injectable.d.ts","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,KAAK,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGjF,MAAM,WAAW,2BAA2B;CAAG;AAE/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,2BAA2B,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,SAWzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,qBAAqB,MAuB3D,CAAC"}
@@ -1,15 +1,24 @@
1
1
  import React from 'react';
2
2
  import { getError } from '@venizia/ignis-inversion';
3
3
  import { ApplicationContext } from '../contexts/application';
4
- export const useInjectable = (opts) => {
5
- const requestContainer = opts?.container;
4
+ /**
5
+ * The container an injectable hook resolves from: the one passed in, else the one the application
6
+ * context holds. Shared so that every hook built on `useInjectable` reads the SAME container it
7
+ * resolves from - a hook that re-derived it would be checking one container and resolving from
8
+ * another, and the check would pass by accident.
9
+ */
10
+ export const useInjectableContainer = (opts) => {
6
11
  const applicationContext = React.useContext(ApplicationContext);
7
- const container = requestContainer ?? applicationContext.container;
12
+ const container = opts?.container ?? applicationContext.container;
8
13
  if (!container) {
9
14
  throw getError({
10
15
  message: '[useInjectable] Failed to determine injectable container!',
11
16
  });
12
17
  }
18
+ return container;
19
+ };
20
+ export const useInjectable = (opts) => {
21
+ const container = useInjectableContainer({ container: opts?.container });
13
22
  const { key, target } = opts;
14
23
  if (key) {
15
24
  return container.get({ key });
@@ -22,7 +31,7 @@ export const useInjectable = (opts) => {
22
31
  const resolved = container.getMetadataRegistry().getBindingKey({ target });
23
32
  if (!resolved) {
24
33
  throw getError({
25
- message: `[useInjectable] Failed to resolve binding key for target: ${target.name}! | Decorate it (@service, @component, ...) or register it on the application before injecting`,
34
+ message: `[useInjectable] No binding key is recorded on ${target.name}. Only a stereotype writes one - decorate the class with @service, @component, @configuration or @injectable. Registering it with this.service(X) or bindingList() binds it under a key but records nothing on the class, so resolve those by { key } instead.`,
26
35
  });
27
36
  }
28
37
  return container.get({ key: resolved });
@@ -1 +1 @@
1
- {"version":3,"file":"use-injectable.js","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAa,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAY7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAA2B,EAAE,EAAE;IAC9D,MAAM,gBAAgB,GAAG,IAAI,EAAE,SAAS,CAAC;IACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,gBAAgB,IAAI,kBAAkB,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,SAAS,CAAC,GAAG,CAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,+EAA+E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,6DAA6D,MAAM,CAAC,IAAI,gGAAgG;SAClL,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"use-injectable.js","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAa,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAY7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAgC,EAAa,EAAE;IACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAElE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAA2B,EAAE,EAAE;IAC9D,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,SAAS,CAAC,GAAG,CAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,+EAA+E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,iDAAiD,MAAM,CAAC,IAAI,gQAAgQ;SACtU,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ardor-react",
3
- "version": "0.1.1-0",
3
+ "version": "0.1.1-2",
4
4
  "description": "ARDOR React bindings - the application context, the injectable and logger hooks that read it, typed Redux hook factories, and the framework-agnostic UI hooks (debounce, autosave, confirm, clipboard, sizer, window dimensions). No react-admin.",
5
5
  "keywords": [
6
6
  "ardor",
@@ -73,35 +73,35 @@
73
73
  "size": "size-limit"
74
74
  },
75
75
  "dependencies": {
76
- "@venizia/ardor-kernel": "^0.1.1-0",
77
- "lodash": "catalog:"
76
+ "@venizia/ardor-kernel": "^0.1.1-3",
77
+ "lodash": "^4.18.1"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@reduxjs/toolkit": ">=2.12.0",
81
- "@venizia/ignis-inversion": "^0.2.0-7",
81
+ "@venizia/ignis-inversion": ">=0.2.0-22",
82
82
  "react": ">=18.0",
83
83
  "react-redux": ">=9.3.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@happy-dom/global-registrator": "catalog:",
87
- "@reduxjs/toolkit": "catalog:",
88
- "@size-limit/preset-small-lib": "catalog:",
89
- "@testing-library/dom": "catalog:",
90
- "@testing-library/react": "catalog:",
91
- "@types/bun": "catalog:",
92
- "@types/lodash": "catalog:",
93
- "@types/react": "catalog:",
94
- "@types/react-dom": "catalog:",
95
- "@venizia/dev-configs": "catalog:",
96
- "@venizia/ignis-inversion": "^0.2.0-7",
97
- "eslint": "catalog:",
98
- "prettier": "catalog:",
99
- "react": "catalog:",
100
- "react-redux": "catalog:",
101
- "reflect-metadata": "catalog:",
102
- "size-limit": "catalog:",
103
- "tsc-alias": "catalog:",
104
- "typescript": "catalog:"
86
+ "@happy-dom/global-registrator": "^20.0.0",
87
+ "@reduxjs/toolkit": "^2.12.0",
88
+ "@size-limit/preset-small-lib": "^11.2.0",
89
+ "@testing-library/dom": "^10.4.1",
90
+ "@testing-library/react": "^16.3.0",
91
+ "@types/bun": "^1.3.8",
92
+ "@types/lodash": "^4.17.24",
93
+ "@types/react": "^19",
94
+ "@types/react-dom": "^19",
95
+ "@venizia/dev-configs": "^0.2.0-15",
96
+ "@venizia/ignis-inversion": "^0.2.0-22",
97
+ "eslint": "^9.36.0",
98
+ "prettier": "^3.8.4",
99
+ "react": "^19.2.7",
100
+ "react-redux": "^9.3.0",
101
+ "reflect-metadata": "^0.2.2",
102
+ "size-limit": "^11.2.0",
103
+ "tsc-alias": "^1.8.16",
104
+ "typescript": "^6.0.3"
105
105
  },
106
106
  "peerDependenciesMeta": {
107
107
  "@reduxjs/toolkit": {
@@ -123,7 +123,7 @@
123
123
  "react",
124
124
  "react-redux"
125
125
  ],
126
- "limit": "2.0 KB"
126
+ "limit": "2.5 KB"
127
127
  }
128
128
  ]
129
129
  }