@localess/client 3.0.7-dev.20260514090404 → 3.0.7-dev.20260514091434

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/cache.d.ts CHANGED
@@ -27,19 +27,3 @@ export declare class TTLCache<V> {
27
27
  get(key: string): V | undefined;
28
28
  has(key: string): boolean;
29
29
  }
30
- export declare class FileSystemCache<V> implements ICache<V> {
31
- private dir;
32
- private ttlMs;
33
- /**
34
- * Creates a FileSystemCache that persists entries as JSON files on disk.
35
- * Shared across all processes that point to the same directory, making it
36
- * suitable for Next.js parallel build workers.
37
- * @param dir Directory to store cache files. Default: '.localess-cache'
38
- * @param ttlMs Time-to-live in ms. Default: 5 minutes (300000 ms).
39
- */
40
- constructor(dir?: string, ttlMs?: number);
41
- private keyToPath;
42
- set(key: string, value: V): void;
43
- get(key: string): V | undefined;
44
- has(key: string): boolean;
45
- }
package/dist/client.d.ts CHANGED
@@ -37,22 +37,6 @@ export type LocalessClientOptions = {
37
37
  * cacheTTL: false // disabled
38
38
  */
39
39
  cacheTTL?: number | false;
40
- /**
41
- * When `true`, uses a file-system cache instead of the default in-memory cache.
42
- * All processes sharing the same working directory share the same cache, which makes it
43
- * suitable for Next.js parallel build workers where each worker has its own memory space.
44
- *
45
- * Cache files are written to `.localess-cache/` in the current working directory.
46
- * Add `.localess-cache/` to your `.gitignore`.
47
- *
48
- * `cacheTTL` still controls the TTL:
49
- * - `cacheTTL: false` — caching is disabled; `fileSystemCache` is ignored
50
- * - `cacheTTL: number` — file-system cache uses that TTL value (in seconds)
51
- * - `cacheTTL` omitted — file-system cache uses the default 5 minutes TTL
52
- *
53
- * @default false
54
- */
55
- fileSystemCache?: boolean;
56
40
  };
57
41
  export type LinksFetchParams = {
58
42
  /**
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=((e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports))(((e,t)=>{t.exports={}}))(),t=class{cache=new Map;set(e,t){this.cache.set(e,t)}get(e){return this.cache.get(e)}has(e){return this.cache.has(e)}},n=class{set(e,t){}get(e){}has(e){return!1}},r=class{cache=new Map;constructor(e=3e5){this.ttlMs=e}set(e,t){this.cache.set(e,{value:t,expiresAt:Date.now()+this.ttlMs})}get(e){let t=this.cache.get(e);if(t){if(Date.now()>t.expiresAt){this.cache.delete(e);return}return t.value}}has(e){return this.get(e)!==void 0}},i=class{dir;ttlMs;constructor(t=`.localess/cache`,n=3e5){this.dir=t,this.ttlMs=n,(0,e.existsSync)(t)||(0,e.mkdirSync)(t,{recursive:!0})}keyToPath(t){let n=(0,e.createHash)(`md5`).update(t).digest(`hex`);return(0,e.join)(this.dir,`${n}.json`)}set(t,n){try{(0,e.writeFileSync)(this.keyToPath(t),JSON.stringify({value:n,expiresAt:Date.now()+this.ttlMs}))}catch{}}get(t){try{let n=(0,e.readFileSync)(this.keyToPath(t),`utf-8`),r=JSON.parse(n);if(Date.now()>r.expiresAt){try{(0,e.unlinkSync)(this.keyToPath(t))}catch{}return}return r.value}catch{return}}has(e){return this.get(e)!==void 0}},a=`\x1B[0m`,o=`\x1B[34m`,s=()=>typeof window<`u`,c=()=>typeof window>`u`,l=()=>s()&&window.self!==window.top,u=`${o}[Localess:Client]${a}`;function d(e){e.debug&&console.log(u,`Client Options : `,e);let t=e.origin.replace(/\/+$/,``),a={redirect:`follow`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"X-Localess-Agent":`Localess-JS-Client`,"X-Localess-Agent-Version":`0.9.0`}},o=typeof e.cacheTTL==`number`?e.cacheTTL*1e3:void 0,s=e.cacheTTL===!1?new n:e.fileSystemCache?new i(void 0,o):new r(o);return{async getLinks(n){e.debug&&console.log(u,`getLinks() params : `,JSON.stringify(n));let r=``;n?.kind&&(r=`&kind=${n.kind}`);let i=``;n?.parentSlug&&(i=`&parentSlug=${n.parentSlug}`);let o=``;n?.excludeChildren&&(o=`&excludeChildren=${n.excludeChildren}`);let c=`${t}/api/v1/spaces/${e.spaceId}/links?token=${e.token}${r}${i}${o}`;if(e.debug&&console.log(u,`getLinks fetch url : `,c),s.has(c))return e.debug&&console.log(u,`getLinks cache hit`),s.get(c);try{let t=await fetch(c,a);e.debug&&console.log(u,`getLinks status : `,t.status);let n=await t.json();return s.set(c,n),n}catch(e){return console.error(u,`getLinks error : `,e),{}}},async getContentBySlug(n,r){e.debug&&(console.log(u,`getContentBySlug() slug : `,n),console.log(u,`getContentBySlug() params : `,JSON.stringify(r)));let i=``;e?.version&&e.version==`draft`&&(i=`&version=${e.version}`),r?.version&&r.version==`draft`&&(i=`&version=${r.version}`);let o=r?.locale?`&locale=${r.locale}`:``,c=r?.resolveReference?`&resolveReference=${r.resolveReference}`:``,l=r?.resolveLink?`&resolveLink=${r.resolveLink}`:``,d=`${t}/api/v1/spaces/${e.spaceId}/contents/slugs/${n}?token=${e.token}${i}${o}${c}${l}`;if(e.debug&&console.log(u,`getContentBySlug fetch url : `,d),s.has(d))return e.debug&&console.log(u,`getContentBySlug cache hit`),s.get(d);try{let t=await fetch(d,a);e.debug&&console.log(u,`getContentBySlug status : `,t.status);let n=await t.json();return s.set(d,n),n}catch(e){return console.error(u,`getContentBySlug error : `,e),{}}},async getContentById(n,r){e.debug&&(console.log(u,`getContentById() id : `,n),console.log(u,`getContentById() params : `,JSON.stringify(r)));let i=``;e?.version&&e.version==`draft`&&(i=`&version=${e.version}`),r?.version&&r.version==`draft`&&(i=`&version=${r.version}`);let o=r?.locale?`&locale=${r.locale}`:``,c=r?.resolveReference?`&resolveReference=${r.resolveReference}`:``,l=r?.resolveLink?`&resolveLink=${r.resolveLink}`:``,d=`${t}/api/v1/spaces/${e.spaceId}/contents/${n}?token=${e.token}${i}${o}${c}${l}`;if(e.debug&&console.log(u,`getContentById fetch url : `,d),s.has(d))return e.debug&&console.log(u,`getContentById cache hit`),s.get(d);try{let t=await fetch(d,a);e.debug&&console.log(u,`getContentById status : `,t.status);let n=await t.json();return s.set(d,n),n}catch(e){return console.error(u,`getContentById error : `,e),{}}},async getTranslations(n){e.debug&&console.log(u,`getTranslations() locale : `,n);let r=`${t}/api/v1/spaces/${e.spaceId}/translations/${n}?token=${e.token}`;if(e.debug&&console.log(u,`getTranslations fetch url : `,r),s.has(r))return e.debug&&console.log(u,`getTranslations cache hit`),s.get(r);try{let t=await fetch(r,a);e.debug&&console.log(u,`getTranslations status : `,t.status);let n=await t.json();return s.set(r,n),n}catch(e){return console.error(u,`getTranslations error : `,e),{}}},syncScriptUrl(){return`${t}/scripts/sync-v1.js`},assetLink(n){return typeof n==`string`?`${t}/api/v1/spaces/${e.spaceId}/assets/${n}`:`${t}/api/v1/spaces/${e.spaceId}/assets/${n.uri}`}}}function f(e){return{"data-ll-id":e._id,"data-ll-schema":e._schema}}function p(e){return{"data-ll-field":e}}var m=`localess-js-sync`;async function h(e,t=!1){return new Promise((t,n)=>{if(c()){n(void 0);return}if(!l()){console.warn(`Localess Sync is loaded only in Visual Editor.`),n(void 0);return}if(window.localess!==void 0){n(void 0);return}if(document.getElementById(m)){n(void 0);return}let r=document.createElement(`script`);r.id=m,r.type=`text/javascript`,r.src=`${e}/scripts/sync-v1.js`,r.async=!0,r.onerror=e=>n(e),r.onload=e=>{console.info(`Localess Sync Script loaded`),t()},document.head.appendChild(r)})}exports.Cache=t,exports.FileSystemCache=i,exports.NoCache=n,exports.TTLCache=r,exports.isBrowser=s,exports.isIframe=l,exports.isServer=c,exports.loadLocalessSync=h,exports.localessClient=d,exports.localessEditable=f,exports.localessEditableField=p;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=class{cache=new Map;set(e,t){this.cache.set(e,t)}get(e){return this.cache.get(e)}has(e){return this.cache.has(e)}},t=class{set(e,t){}get(e){}has(e){return!1}},n=class{cache=new Map;constructor(e=3e5){this.ttlMs=e}set(e,t){this.cache.set(e,{value:t,expiresAt:Date.now()+this.ttlMs})}get(e){let t=this.cache.get(e);if(t){if(Date.now()>t.expiresAt){this.cache.delete(e);return}return t.value}}has(e){return this.get(e)!==void 0}},r=`\x1B[0m`,i=`\x1B[34m`,a=()=>typeof window<`u`,o=()=>typeof window>`u`,s=()=>a()&&window.self!==window.top,c=`${i}[Localess:Client]${r}`;function l(e){e.debug&&console.log(c,`Client Options : `,e);let r=e.origin.replace(/\/+$/,``),i={redirect:`follow`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"X-Localess-Agent":`Localess-JS-Client`,"X-Localess-Agent-Version":`0.9.0`}},a=typeof e.cacheTTL==`number`?e.cacheTTL*1e3:void 0,o=e.cacheTTL===!1?new t:new n(a);return{async getLinks(t){e.debug&&console.log(c,`getLinks() params : `,JSON.stringify(t));let n=``;t?.kind&&(n=`&kind=${t.kind}`);let a=``;t?.parentSlug&&(a=`&parentSlug=${t.parentSlug}`);let s=``;t?.excludeChildren&&(s=`&excludeChildren=${t.excludeChildren}`);let l=`${r}/api/v1/spaces/${e.spaceId}/links?token=${e.token}${n}${a}${s}`;if(e.debug&&console.log(c,`getLinks fetch url : `,l),o.has(l))return e.debug&&console.log(c,`getLinks cache hit`),o.get(l);try{let t=await fetch(l,i);e.debug&&console.log(c,`getLinks status : `,t.status);let n=await t.json();return o.set(l,n),n}catch(e){return console.error(c,`getLinks error : `,e),{}}},async getContentBySlug(t,n){e.debug&&(console.log(c,`getContentBySlug() slug : `,t),console.log(c,`getContentBySlug() params : `,JSON.stringify(n)));let a=``;e?.version&&e.version==`draft`&&(a=`&version=${e.version}`),n?.version&&n.version==`draft`&&(a=`&version=${n.version}`);let s=n?.locale?`&locale=${n.locale}`:``,l=n?.resolveReference?`&resolveReference=${n.resolveReference}`:``,u=n?.resolveLink?`&resolveLink=${n.resolveLink}`:``,d=`${r}/api/v1/spaces/${e.spaceId}/contents/slugs/${t}?token=${e.token}${a}${s}${l}${u}`;if(e.debug&&console.log(c,`getContentBySlug fetch url : `,d),o.has(d))return e.debug&&console.log(c,`getContentBySlug cache hit`),o.get(d);try{let t=await fetch(d,i);e.debug&&console.log(c,`getContentBySlug status : `,t.status);let n=await t.json();return o.set(d,n),n}catch(e){return console.error(c,`getContentBySlug error : `,e),{}}},async getContentById(t,n){e.debug&&(console.log(c,`getContentById() id : `,t),console.log(c,`getContentById() params : `,JSON.stringify(n)));let a=``;e?.version&&e.version==`draft`&&(a=`&version=${e.version}`),n?.version&&n.version==`draft`&&(a=`&version=${n.version}`);let s=n?.locale?`&locale=${n.locale}`:``,l=n?.resolveReference?`&resolveReference=${n.resolveReference}`:``,u=n?.resolveLink?`&resolveLink=${n.resolveLink}`:``,d=`${r}/api/v1/spaces/${e.spaceId}/contents/${t}?token=${e.token}${a}${s}${l}${u}`;if(e.debug&&console.log(c,`getContentById fetch url : `,d),o.has(d))return e.debug&&console.log(c,`getContentById cache hit`),o.get(d);try{let t=await fetch(d,i);e.debug&&console.log(c,`getContentById status : `,t.status);let n=await t.json();return o.set(d,n),n}catch(e){return console.error(c,`getContentById error : `,e),{}}},async getTranslations(t){e.debug&&console.log(c,`getTranslations() locale : `,t);let n=`${r}/api/v1/spaces/${e.spaceId}/translations/${t}?token=${e.token}`;if(e.debug&&console.log(c,`getTranslations fetch url : `,n),o.has(n))return e.debug&&console.log(c,`getTranslations cache hit`),o.get(n);try{let t=await fetch(n,i);e.debug&&console.log(c,`getTranslations status : `,t.status);let r=await t.json();return o.set(n,r),r}catch(e){return console.error(c,`getTranslations error : `,e),{}}},syncScriptUrl(){return`${r}/scripts/sync-v1.js`},assetLink(t){return typeof t==`string`?`${r}/api/v1/spaces/${e.spaceId}/assets/${t}`:`${r}/api/v1/spaces/${e.spaceId}/assets/${t.uri}`}}}function u(e){return{"data-ll-id":e._id,"data-ll-schema":e._schema}}function d(e){return{"data-ll-field":e}}var f=`localess-js-sync`;async function p(e,t=!1){return new Promise((t,n)=>{if(o()){n(void 0);return}if(!s()){console.warn(`Localess Sync is loaded only in Visual Editor.`),n(void 0);return}if(window.localess!==void 0){n(void 0);return}if(document.getElementById(f)){n(void 0);return}let r=document.createElement(`script`);r.id=f,r.type=`text/javascript`,r.src=`${e}/scripts/sync-v1.js`,r.async=!0,r.onerror=e=>n(e),r.onload=e=>{console.info(`Localess Sync Script loaded`),t()},document.head.appendChild(r)})}exports.Cache=e,exports.NoCache=t,exports.TTLCache=n,exports.isBrowser=a,exports.isIframe=s,exports.isServer=o,exports.loadLocalessSync=p,exports.localessClient=l,exports.localessEditable=u,exports.localessEditableField=d;
package/dist/index.mjs CHANGED
@@ -1,8 +1,5 @@
1
- //#endregion
2
1
  //#region src/cache.ts
3
- var e = (/* @__PURE__ */ ((e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports))(((e, t) => {
4
- t.exports = {};
5
- })))(), t = class {
2
+ var e = class {
6
3
  cache = /* @__PURE__ */ new Map();
7
4
  set(e, t) {
8
5
  this.cache.set(e, t);
@@ -13,13 +10,13 @@ var e = (/* @__PURE__ */ ((e, t) => () => (t || (e((t = { exports: {} }).exports
13
10
  has(e) {
14
11
  return this.cache.has(e);
15
12
  }
16
- }, n = class {
13
+ }, t = class {
17
14
  set(e, t) {}
18
15
  get(e) {}
19
16
  has(e) {
20
17
  return !1;
21
18
  }
22
- }, r = class {
19
+ }, n = class {
23
20
  cache = /* @__PURE__ */ new Map();
24
21
  constructor(e = 3e5) {
25
22
  this.ttlMs = e;
@@ -43,45 +40,10 @@ var e = (/* @__PURE__ */ ((e, t) => () => (t || (e((t = { exports: {} }).exports
43
40
  has(e) {
44
41
  return this.get(e) !== void 0;
45
42
  }
46
- }, i = class {
47
- dir;
48
- ttlMs;
49
- constructor(t = ".localess/cache", n = 3e5) {
50
- this.dir = t, this.ttlMs = n, (0, e.existsSync)(t) || (0, e.mkdirSync)(t, { recursive: !0 });
51
- }
52
- keyToPath(t) {
53
- let n = (0, e.createHash)("md5").update(t).digest("hex");
54
- return (0, e.join)(this.dir, `${n}.json`);
55
- }
56
- set(t, n) {
57
- try {
58
- (0, e.writeFileSync)(this.keyToPath(t), JSON.stringify({
59
- value: n,
60
- expiresAt: Date.now() + this.ttlMs
61
- }));
62
- } catch {}
63
- }
64
- get(t) {
65
- try {
66
- let n = (0, e.readFileSync)(this.keyToPath(t), "utf-8"), r = JSON.parse(n);
67
- if (Date.now() > r.expiresAt) {
68
- try {
69
- (0, e.unlinkSync)(this.keyToPath(t));
70
- } catch {}
71
- return;
72
- }
73
- return r.value;
74
- } catch {
75
- return;
76
- }
77
- }
78
- has(e) {
79
- return this.get(e) !== void 0;
80
- }
81
- }, a = "\x1B[0m", o = "\x1B[34m", s = () => typeof window < "u", c = () => typeof window > "u", l = () => s() && window.self !== window.top, u = `${o}[Localess:Client]${a}`;
82
- function d(e) {
83
- e.debug && console.log(u, "Client Options : ", e);
84
- let t = e.origin.replace(/\/+$/, ""), a = {
43
+ }, r = "\x1B[0m", i = "\x1B[34m", a = () => typeof window < "u", o = () => typeof window > "u", s = () => a() && window.self !== window.top, c = `${i}[Localess:Client]${r}`;
44
+ function l(e) {
45
+ e.debug && console.log(c, "Client Options : ", e);
46
+ let r = e.origin.replace(/\/+$/, ""), i = {
85
47
  redirect: "follow",
86
48
  headers: {
87
49
  "Content-Type": "application/json",
@@ -89,99 +51,99 @@ function d(e) {
89
51
  "X-Localess-Agent": "Localess-JS-Client",
90
52
  "X-Localess-Agent-Version": "0.9.0"
91
53
  }
92
- }, o = typeof e.cacheTTL == "number" ? e.cacheTTL * 1e3 : void 0, s = e.cacheTTL === !1 ? new n() : e.fileSystemCache ? new i(void 0, o) : new r(o);
54
+ }, a = typeof e.cacheTTL == "number" ? e.cacheTTL * 1e3 : void 0, o = e.cacheTTL === !1 ? new t() : new n(a);
93
55
  return {
94
- async getLinks(n) {
95
- e.debug && console.log(u, "getLinks() params : ", JSON.stringify(n));
96
- let r = "";
97
- n?.kind && (r = `&kind=${n.kind}`);
98
- let i = "";
99
- n?.parentSlug && (i = `&parentSlug=${n.parentSlug}`);
100
- let o = "";
101
- n?.excludeChildren && (o = `&excludeChildren=${n.excludeChildren}`);
102
- let c = `${t}/api/v1/spaces/${e.spaceId}/links?token=${e.token}${r}${i}${o}`;
103
- if (e.debug && console.log(u, "getLinks fetch url : ", c), s.has(c)) return e.debug && console.log(u, "getLinks cache hit"), s.get(c);
56
+ async getLinks(t) {
57
+ e.debug && console.log(c, "getLinks() params : ", JSON.stringify(t));
58
+ let n = "";
59
+ t?.kind && (n = `&kind=${t.kind}`);
60
+ let a = "";
61
+ t?.parentSlug && (a = `&parentSlug=${t.parentSlug}`);
62
+ let s = "";
63
+ t?.excludeChildren && (s = `&excludeChildren=${t.excludeChildren}`);
64
+ let l = `${r}/api/v1/spaces/${e.spaceId}/links?token=${e.token}${n}${a}${s}`;
65
+ if (e.debug && console.log(c, "getLinks fetch url : ", l), o.has(l)) return e.debug && console.log(c, "getLinks cache hit"), o.get(l);
104
66
  try {
105
- let t = await fetch(c, a);
106
- e.debug && console.log(u, "getLinks status : ", t.status);
67
+ let t = await fetch(l, i);
68
+ e.debug && console.log(c, "getLinks status : ", t.status);
107
69
  let n = await t.json();
108
- return s.set(c, n), n;
70
+ return o.set(l, n), n;
109
71
  } catch (e) {
110
- return console.error(u, "getLinks error : ", e), {};
72
+ return console.error(c, "getLinks error : ", e), {};
111
73
  }
112
74
  },
113
- async getContentBySlug(n, r) {
114
- e.debug && (console.log(u, "getContentBySlug() slug : ", n), console.log(u, "getContentBySlug() params : ", JSON.stringify(r)));
115
- let i = "";
116
- e?.version && e.version == "draft" && (i = `&version=${e.version}`), r?.version && r.version == "draft" && (i = `&version=${r.version}`);
117
- let o = r?.locale ? `&locale=${r.locale}` : "", c = r?.resolveReference ? `&resolveReference=${r.resolveReference}` : "", l = r?.resolveLink ? `&resolveLink=${r.resolveLink}` : "", d = `${t}/api/v1/spaces/${e.spaceId}/contents/slugs/${n}?token=${e.token}${i}${o}${c}${l}`;
118
- if (e.debug && console.log(u, "getContentBySlug fetch url : ", d), s.has(d)) return e.debug && console.log(u, "getContentBySlug cache hit"), s.get(d);
75
+ async getContentBySlug(t, n) {
76
+ e.debug && (console.log(c, "getContentBySlug() slug : ", t), console.log(c, "getContentBySlug() params : ", JSON.stringify(n)));
77
+ let a = "";
78
+ e?.version && e.version == "draft" && (a = `&version=${e.version}`), n?.version && n.version == "draft" && (a = `&version=${n.version}`);
79
+ let s = n?.locale ? `&locale=${n.locale}` : "", l = n?.resolveReference ? `&resolveReference=${n.resolveReference}` : "", u = n?.resolveLink ? `&resolveLink=${n.resolveLink}` : "", d = `${r}/api/v1/spaces/${e.spaceId}/contents/slugs/${t}?token=${e.token}${a}${s}${l}${u}`;
80
+ if (e.debug && console.log(c, "getContentBySlug fetch url : ", d), o.has(d)) return e.debug && console.log(c, "getContentBySlug cache hit"), o.get(d);
119
81
  try {
120
- let t = await fetch(d, a);
121
- e.debug && console.log(u, "getContentBySlug status : ", t.status);
82
+ let t = await fetch(d, i);
83
+ e.debug && console.log(c, "getContentBySlug status : ", t.status);
122
84
  let n = await t.json();
123
- return s.set(d, n), n;
85
+ return o.set(d, n), n;
124
86
  } catch (e) {
125
- return console.error(u, "getContentBySlug error : ", e), {};
87
+ return console.error(c, "getContentBySlug error : ", e), {};
126
88
  }
127
89
  },
128
- async getContentById(n, r) {
129
- e.debug && (console.log(u, "getContentById() id : ", n), console.log(u, "getContentById() params : ", JSON.stringify(r)));
130
- let i = "";
131
- e?.version && e.version == "draft" && (i = `&version=${e.version}`), r?.version && r.version == "draft" && (i = `&version=${r.version}`);
132
- let o = r?.locale ? `&locale=${r.locale}` : "", c = r?.resolveReference ? `&resolveReference=${r.resolveReference}` : "", l = r?.resolveLink ? `&resolveLink=${r.resolveLink}` : "", d = `${t}/api/v1/spaces/${e.spaceId}/contents/${n}?token=${e.token}${i}${o}${c}${l}`;
133
- if (e.debug && console.log(u, "getContentById fetch url : ", d), s.has(d)) return e.debug && console.log(u, "getContentById cache hit"), s.get(d);
90
+ async getContentById(t, n) {
91
+ e.debug && (console.log(c, "getContentById() id : ", t), console.log(c, "getContentById() params : ", JSON.stringify(n)));
92
+ let a = "";
93
+ e?.version && e.version == "draft" && (a = `&version=${e.version}`), n?.version && n.version == "draft" && (a = `&version=${n.version}`);
94
+ let s = n?.locale ? `&locale=${n.locale}` : "", l = n?.resolveReference ? `&resolveReference=${n.resolveReference}` : "", u = n?.resolveLink ? `&resolveLink=${n.resolveLink}` : "", d = `${r}/api/v1/spaces/${e.spaceId}/contents/${t}?token=${e.token}${a}${s}${l}${u}`;
95
+ if (e.debug && console.log(c, "getContentById fetch url : ", d), o.has(d)) return e.debug && console.log(c, "getContentById cache hit"), o.get(d);
134
96
  try {
135
- let t = await fetch(d, a);
136
- e.debug && console.log(u, "getContentById status : ", t.status);
97
+ let t = await fetch(d, i);
98
+ e.debug && console.log(c, "getContentById status : ", t.status);
137
99
  let n = await t.json();
138
- return s.set(d, n), n;
100
+ return o.set(d, n), n;
139
101
  } catch (e) {
140
- return console.error(u, "getContentById error : ", e), {};
102
+ return console.error(c, "getContentById error : ", e), {};
141
103
  }
142
104
  },
143
- async getTranslations(n) {
144
- e.debug && console.log(u, "getTranslations() locale : ", n);
145
- let r = `${t}/api/v1/spaces/${e.spaceId}/translations/${n}?token=${e.token}`;
146
- if (e.debug && console.log(u, "getTranslations fetch url : ", r), s.has(r)) return e.debug && console.log(u, "getTranslations cache hit"), s.get(r);
105
+ async getTranslations(t) {
106
+ e.debug && console.log(c, "getTranslations() locale : ", t);
107
+ let n = `${r}/api/v1/spaces/${e.spaceId}/translations/${t}?token=${e.token}`;
108
+ if (e.debug && console.log(c, "getTranslations fetch url : ", n), o.has(n)) return e.debug && console.log(c, "getTranslations cache hit"), o.get(n);
147
109
  try {
148
- let t = await fetch(r, a);
149
- e.debug && console.log(u, "getTranslations status : ", t.status);
150
- let n = await t.json();
151
- return s.set(r, n), n;
110
+ let t = await fetch(n, i);
111
+ e.debug && console.log(c, "getTranslations status : ", t.status);
112
+ let r = await t.json();
113
+ return o.set(n, r), r;
152
114
  } catch (e) {
153
- return console.error(u, "getTranslations error : ", e), {};
115
+ return console.error(c, "getTranslations error : ", e), {};
154
116
  }
155
117
  },
156
118
  syncScriptUrl() {
157
- return `${t}/scripts/sync-v1.js`;
119
+ return `${r}/scripts/sync-v1.js`;
158
120
  },
159
- assetLink(n) {
160
- return typeof n == "string" ? `${t}/api/v1/spaces/${e.spaceId}/assets/${n}` : `${t}/api/v1/spaces/${e.spaceId}/assets/${n.uri}`;
121
+ assetLink(t) {
122
+ return typeof t == "string" ? `${r}/api/v1/spaces/${e.spaceId}/assets/${t}` : `${r}/api/v1/spaces/${e.spaceId}/assets/${t.uri}`;
161
123
  }
162
124
  };
163
125
  }
164
126
  //#endregion
165
127
  //#region src/editable.ts
166
- function f(e) {
128
+ function u(e) {
167
129
  return {
168
130
  "data-ll-id": e._id,
169
131
  "data-ll-schema": e._schema
170
132
  };
171
133
  }
172
- function p(e) {
134
+ function d(e) {
173
135
  return { "data-ll-field": e };
174
136
  }
175
137
  //#endregion
176
138
  //#region src/sync.ts
177
- var m = "localess-js-sync";
178
- async function h(e, t = !1) {
139
+ var f = "localess-js-sync";
140
+ async function p(e, t = !1) {
179
141
  return new Promise((t, n) => {
180
- if (c()) {
142
+ if (o()) {
181
143
  n(void 0);
182
144
  return;
183
145
  }
184
- if (!l()) {
146
+ if (!s()) {
185
147
  console.warn("Localess Sync is loaded only in Visual Editor."), n(void 0);
186
148
  return;
187
149
  }
@@ -189,15 +151,15 @@ async function h(e, t = !1) {
189
151
  n(void 0);
190
152
  return;
191
153
  }
192
- if (document.getElementById(m)) {
154
+ if (document.getElementById(f)) {
193
155
  n(void 0);
194
156
  return;
195
157
  }
196
158
  let r = document.createElement("script");
197
- r.id = m, r.type = "text/javascript", r.src = `${e}/scripts/sync-v1.js`, r.async = !0, r.onerror = (e) => n(e), r.onload = (e) => {
159
+ r.id = f, r.type = "text/javascript", r.src = `${e}/scripts/sync-v1.js`, r.async = !0, r.onerror = (e) => n(e), r.onload = (e) => {
198
160
  console.info("Localess Sync Script loaded"), t();
199
161
  }, document.head.appendChild(r);
200
162
  });
201
163
  }
202
164
  //#endregion
203
- export { t as Cache, i as FileSystemCache, n as NoCache, r as TTLCache, s as isBrowser, l as isIframe, c as isServer, h as loadLocalessSync, d as localessClient, f as localessEditable, p as localessEditableField };
165
+ export { e as Cache, t as NoCache, n as TTLCache, a as isBrowser, s as isIframe, o as isServer, p as loadLocalessSync, l as localessClient, u as localessEditable, d as localessEditableField };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@localess/client",
3
- "version": "3.0.7-dev.20260514090404",
3
+ "version": "3.0.7-dev.20260514091434",
4
4
  "description": "Universal JavaScript/TypeScript SDK for Localess's API.",
5
5
  "keywords": [
6
6
  "localess",