zustic 1.1.3 → 1.1.5

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.
@@ -13,12 +13,20 @@ type NestedKeys<T, D extends number = 9> = D extends never ? never : T extends o
13
13
  }[keyof T & string] : never;
14
14
  type TranslationKey<T> = NestedKeys<T> & string;
15
15
 
16
- declare function createI18n<T = any, L = any>(params: I18nParams<T, L>): () => {
17
- t: (key: TranslationKey<T>) => string;
16
+ interface I18nInstance<T = any, L = any> {
17
+ t(key: TranslationKey<T>): string;
18
18
  lan: L;
19
- updateTranslation: (lang: L) => void;
20
- isUpdating: boolean;
21
- isInitialLoading: boolean;
19
+ updateTranslation(lang: L): void;
20
+ }
21
+ declare function createI18n<T = any, L = any>(params: I18nParams<T, L>): {
22
+ useTranslation: () => {
23
+ t: (key: TranslationKey<T>) => string;
24
+ lan: L;
25
+ updateTranslation: (lang: L) => void;
26
+ isUpdating: boolean;
27
+ isInitialLoading: boolean;
28
+ };
29
+ i18n: I18nInstance<T, L>;
22
30
  };
23
31
 
24
32
  export { createI18n };
@@ -13,12 +13,20 @@ type NestedKeys<T, D extends number = 9> = D extends never ? never : T extends o
13
13
  }[keyof T & string] : never;
14
14
  type TranslationKey<T> = NestedKeys<T> & string;
15
15
 
16
- declare function createI18n<T = any, L = any>(params: I18nParams<T, L>): () => {
17
- t: (key: TranslationKey<T>) => string;
16
+ interface I18nInstance<T = any, L = any> {
17
+ t(key: TranslationKey<T>): string;
18
18
  lan: L;
19
- updateTranslation: (lang: L) => void;
20
- isUpdating: boolean;
21
- isInitialLoading: boolean;
19
+ updateTranslation(lang: L): void;
20
+ }
21
+ declare function createI18n<T = any, L = any>(params: I18nParams<T, L>): {
22
+ useTranslation: () => {
23
+ t: (key: TranslationKey<T>) => string;
24
+ lan: L;
25
+ updateTranslation: (lang: L) => void;
26
+ isUpdating: boolean;
27
+ isInitialLoading: boolean;
28
+ };
29
+ i18n: I18nInstance<T, L>;
22
30
  };
23
31
 
24
32
  export { createI18n };
@@ -1 +1 @@
1
- "use strict";"use client";var c=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var M=(e,a)=>{for(var t in a)c(e,t,{get:a[t],enumerable:!0})},x=(e,a,t,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of h(a))!w.call(e,i)&&i!==t&&c(e,i,{get:()=>a[i],enumerable:!(n=U(a,i))||n.enumerable});return e};var b=e=>x(c({},"__esModule",{value:!0}),e);var C={};M(C,{createI18n:()=>E});module.exports=b(C);var m=require("react");function S(e,a=[]){let t,n=[],i=r=>{let s=typeof r=="function"?r(t):r;t={...t,...s},n.forEach(d=>d())},l=()=>t,u=v(i,l,a);t=e(u,l);let o=r=>(n.push(r),()=>{n=n.filter(s=>s!==r)});return(r=s=>s)=>(0,m.useSyncExternalStore)(o,()=>r(t))}var v=(e,a,t)=>!t||t.length===0?e:t.reduceRight((n,i)=>i(e,a)(n),e);var y=require("react");function E(e){let{resource:a,initialLan:t}=e,n=0,i=S((l,u)=>({lan:t,data:null,isUpdating:!1,isInitialLoading:!0,async load(o){let r=++n,s=u().data===null;l({isUpdating:!s,isInitialLoading:s});let d=await Promise.resolve(a(o));r===n&&l({data:d,isUpdating:!1,isInitialLoading:!1})},update(o){l({lan:o})}}));return function(){let{lan:u,data:o,update:r,isUpdating:s,isInitialLoading:d,load:L}=i();(0,y.useEffect)(()=>{L(u)},[u]);function g(p){var f;return!o||d?"":(f=p.split(".").reduce((T,I)=>T==null?void 0:T[I],o))!=null?f:p}function P(p){r(p)}return{t:g,lan:u,updateTranslation:P,isUpdating:s,isInitialLoading:d}}}0&&(module.exports={createI18n});
1
+ "use strict";"use client";var y=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var v=(a,e)=>{for(var t in e)y(a,t,{get:e[t],enumerable:!0})},x=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of w(e))!M.call(a,i)&&i!==t&&y(a,i,{get:()=>e[i],enumerable:!(n=h(e,i))||n.enumerable});return a};var b=a=>x(y({},"__esModule",{value:!0}),a);var C={};v(C,{createI18n:()=>K});module.exports=b(C);var g=require("react");function I(a,e=[]){let t,n=[],i=r=>{let s=typeof r=="function"?r(t):r;t={...t,...s},n.forEach(l=>l())},d=()=>t,p=E(i,d,e);t=a(p,d);let o=r=>(n.push(r),()=>{n=n.filter(s=>s!==r)});return(r=s=>s)=>(0,g.useSyncExternalStore)(o,()=>r(t))}var E=(a,e,t)=>!t||t.length===0?a:t.reduceRight((n,i)=>i(a,e)(n),a);var P=require("react");function K(a){let{resource:e,initialLan:t}=a,n={t:()=>"",updateTranslation:()=>{},lan:""},i=0,d=I((o,r)=>({lan:t,data:null,isUpdating:!1,isInitialLoading:!0,async load(s){let l=++i,u=r().data===null;o({isUpdating:!u,isInitialLoading:u});let c=await Promise.resolve(e(s));l===i&&o({data:c,isUpdating:!1,isInitialLoading:!1})},update(s){o({lan:s})}}));function p(){let{lan:o,data:r,update:s,isUpdating:l,isInitialLoading:u,load:c}=d();(0,P.useEffect)(()=>{c(o)},[o]);function L(T){var S;return!r||u?"":(S=T.split(".").reduce((f,U)=>f==null?void 0:f[U],r))!=null?S:T}function m(T){s(T)}return n.t=L,n.lan=o,n.updateTranslation=m,{t:L,lan:o,updateTranslation:m,isUpdating:l,isInitialLoading:u}}return{useTranslation:p,i18n:n}}0&&(module.exports={createI18n});
@@ -1 +1 @@
1
- "use client";import{a as d}from"../chunk-RXPCG2VZ.mjs";import{useEffect as I}from"react";function S(p){let{resource:f,initialLan:L}=p,l=0,T=d((a,t)=>({lan:L,data:null,isUpdating:!1,isInitialLoading:!0,async load(n){let s=++l,i=t().data===null;a({isUpdating:!i,isInitialLoading:i});let e=await Promise.resolve(f(n));s===l&&a({data:e,isUpdating:!1,isInitialLoading:!1})},update(n){a({lan:n})}}));return function(){let{lan:t,data:n,update:s,isUpdating:i,isInitialLoading:e,load:c}=T();I(()=>{c(t)},[t]);function g(r){var u;return!n||e?"":(u=r.split(".").reduce((o,y)=>o==null?void 0:o[y],n))!=null?u:r}function m(r){s(r)}return{t:g,lan:t,updateTranslation:m,isUpdating:i,isInitialLoading:e}}}export{S as createI18n};
1
+ "use client";import{a as L}from"../chunk-RXPCG2VZ.mjs";import{useEffect as U}from"react";function S(c){let{resource:f,initialLan:I}=c,i={t:()=>"",updateTranslation:()=>{},lan:""},u=0,y=L((n,e)=>({lan:I,data:null,isUpdating:!1,isInitialLoading:!0,async load(a){let r=++u,t=e().data===null;n({isUpdating:!t,isInitialLoading:t});let o=await Promise.resolve(f(a));r===u&&n({data:o,isUpdating:!1,isInitialLoading:!1})},update(a){n({lan:a})}}));function g(){let{lan:n,data:e,update:a,isUpdating:r,isInitialLoading:t,load:o}=y();U(()=>{o(n)},[n]);function d(s){var T;return!e||t?"":(T=s.split(".").reduce((l,m)=>l==null?void 0:l[m],e))!=null?T:s}function p(s){a(s)}return i.t=d,i.lan=n,i.updateTranslation=p,{t:d,lan:n,updateTranslation:p,isUpdating:r,isInitialLoading:t}}return{useTranslation:g,i18n:i}}export{S as createI18n};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zustic",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "A fast, minimal state management solution for React ecosystems. Works seamlessly with React, Next.js, and React Native, offering predictable state updates with a tiny footprint.",
5
5
  "scripts": {
6
6
  "build": "tsup",