@builder.io/sdk-react-nextjs 0.16.23 → 0.17.0

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.
Files changed (27) hide show
  1. package/lib/browser/constants/sdk-version.cjs +1 -1
  2. package/lib/browser/constants/sdk-version.mjs +1 -1
  3. package/lib/browser/functions/get-content/generate-content-url.cjs +1 -1
  4. package/lib/browser/functions/get-content/generate-content-url.mjs +43 -37
  5. package/lib/browser/functions/get-content/index.cjs +1 -1
  6. package/lib/browser/functions/get-content/index.mjs +40 -42
  7. package/lib/browser/functions/register-component.cjs +1 -1
  8. package/lib/browser/functions/register-component.mjs +6 -6
  9. package/lib/edge/constants/sdk-version.cjs +1 -1
  10. package/lib/edge/constants/sdk-version.mjs +1 -1
  11. package/lib/edge/functions/get-content/generate-content-url.cjs +1 -1
  12. package/lib/edge/functions/get-content/generate-content-url.mjs +43 -37
  13. package/lib/edge/functions/get-content/index.cjs +1 -1
  14. package/lib/edge/functions/get-content/index.mjs +40 -42
  15. package/lib/edge/functions/register-component.cjs +1 -1
  16. package/lib/edge/functions/register-component.mjs +6 -6
  17. package/lib/node/constants/sdk-version.cjs +1 -1
  18. package/lib/node/constants/sdk-version.mjs +1 -1
  19. package/lib/node/functions/get-content/generate-content-url.cjs +1 -1
  20. package/lib/node/functions/get-content/generate-content-url.mjs +43 -37
  21. package/lib/node/functions/get-content/index.cjs +1 -1
  22. package/lib/node/functions/get-content/index.mjs +40 -42
  23. package/lib/node/functions/register-component.cjs +1 -1
  24. package/lib/node/functions/register-component.mjs +6 -6
  25. package/package.json +1 -1
  26. package/types/cjs/constants/sdk-version.d.ts +1 -1
  27. package/types/esm/constants/sdk-version.d.ts +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.16.23";exports.SDK_VERSION=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.17.0";exports.SDK_VERSION=e;
@@ -1,4 +1,4 @@
1
- const o = "0.16.23";
1
+ const o = "0.17.0";
2
2
  export {
3
3
  o as SDK_VERSION
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../helpers/flatten.cjs"),O=require("../../helpers/search/search.cjs"),A=require("../../types/api-version.cjs"),V=require("../get-builder-search-params/index.cjs"),y=r=>typeof r=="number"&&!isNaN(r)&&r>=0,$=r=>{const{limit:l=30,userAttributes:f,query:m,model:b,apiKey:h,enrich:u,locale:d,apiVersion:a=A.DEFAULT_API_VERSION,fields:P,omit:v,offset:i,cacheSeconds:n,staleCacheSeconds:o,sort:S,includeUnpublished:g,apiHost:N}=r;if(!h)throw new Error("Missing API key");if(!["v3"].includes(a))throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);const U=l!==1,q=N||"https://cdn.builder.io",e=new URL(`${q}/api/${a}/content/${b}`);if(e.searchParams.set("apiKey",h),e.searchParams.set("limit",String(l)),e.searchParams.set("noTraverse",String(U)),e.searchParams.set("includeRefs",String(!0)),d&&e.searchParams.set("locale",d),u&&e.searchParams.set("enrich",String(u)),e.searchParams.set("omit",v||"meta.componentsUsed"),P&&e.searchParams.set("fields",P),Number.isFinite(i)&&i>-1&&e.searchParams.set("offset",String(Math.floor(i))),typeof g=="boolean"&&e.searchParams.set("includeUnpublished",String(g)),n&&y(n)&&e.searchParams.set("cacheSeconds",String(n)),o&&y(o)&&e.searchParams.set("staleCacheSeconds",String(o)),S){const s=c.flatten({sort:S});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const w={...V.getBuilderSearchParamsFromWindow(),...O.normalizeSearchParams(r.options||{})},p=c.flatten(w);for(const s in p)e.searchParams.set(s,String(p[s]));if(f&&e.searchParams.set("userAttributes",JSON.stringify(f)),m){const s=c.flattenMongoQuery({query:m});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../helpers/flatten.cjs"),$=require("../../helpers/search/search.cjs"),k=require("../../types/api-version.cjs"),A=require("../get-builder-search-params/index.cjs"),b=r=>typeof r=="number"&&!isNaN(r)&&r>=0,C=r=>{const{limit:h=30,userAttributes:a,query:d,model:U,apiKey:u,enrich:P,locale:v,apiVersion:i=k.DEFAULT_API_VERSION,fields:S,omit:N,offset:o,cacheSeconds:c,staleCacheSeconds:l,sort:g,includeUnpublished:p,apiHost:q}=r;if(!u)throw new Error("Missing API key");if(!["v3"].includes(i))throw new Error(`Invalid apiVersion: expected 'v3', received '${i}'`);const w=h!==1,O=q||"https://cdn.builder.io",e=new URL(`${O}/api/${i}/content/${U}`);e.searchParams.set("apiKey",u),e.searchParams.set("limit",String(h)),e.searchParams.set("noTraverse",String(w)),e.searchParams.set("includeRefs",String(!0));const f=v||(a==null?void 0:a.locale);let n=a;if(f&&(e.searchParams.set("locale",f),n={locale:f,...n}),P&&e.searchParams.set("enrich",String(P)),e.searchParams.set("omit",N||"meta.componentsUsed"),S&&e.searchParams.set("fields",S),Number.isFinite(o)&&o>-1&&e.searchParams.set("offset",String(Math.floor(o))),typeof p=="boolean"&&e.searchParams.set("includeUnpublished",String(p)),c&&b(c)&&e.searchParams.set("cacheSeconds",String(c)),l&&b(l)&&e.searchParams.set("staleCacheSeconds",String(l)),g){const s=m.flatten({sort:g});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const V={...A.getBuilderSearchParamsFromWindow(),...$.normalizeSearchParams(r.options||{})},y=m.flatten(V);for(const s in y)e.searchParams.set(s,String(y[s]));if(n&&e.searchParams.set("userAttributes",JSON.stringify(n)),d){const s=m.flattenMongoQuery({query:d});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=C;
@@ -1,47 +1,53 @@
1
- import { flatten as g, flattenMongoQuery as O } from "../../helpers/flatten.mjs";
2
- import { normalizeSearchParams as k } from "../../helpers/search/search.mjs";
3
- import { DEFAULT_API_VERSION as E } from "../../types/api-version.mjs";
4
- import { getBuilderSearchParamsFromWindow as I } from "../get-builder-search-params/index.mjs";
5
- const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
1
+ import { flatten as y, flattenMongoQuery as E } from "../../helpers/flatten.mjs";
2
+ import { normalizeSearchParams as I } from "../../helpers/search/search.mjs";
3
+ import { DEFAULT_API_VERSION as $ } from "../../types/api-version.mjs";
4
+ import { getBuilderSearchParamsFromWindow as C } from "../get-builder-search-params/index.mjs";
5
+ const b = (r) => typeof r == "number" && !isNaN(r) && r >= 0, R = (r) => {
6
6
  const {
7
- limit: c = 30,
8
- userAttributes: m,
9
- query: f,
10
- model: b,
11
- apiKey: l,
12
- enrich: h,
13
- locale: d,
14
- apiVersion: a = E,
15
- fields: u,
16
- omit: N,
17
- offset: i,
18
- cacheSeconds: n,
19
- staleCacheSeconds: o,
20
- sort: P,
21
- includeUnpublished: p,
22
- apiHost: v
7
+ limit: m = 30,
8
+ userAttributes: a,
9
+ query: h,
10
+ model: N,
11
+ apiKey: d,
12
+ enrich: P,
13
+ locale: U,
14
+ apiVersion: n = $,
15
+ fields: p,
16
+ omit: v,
17
+ offset: o,
18
+ cacheSeconds: c,
19
+ staleCacheSeconds: f,
20
+ sort: S,
21
+ includeUnpublished: u,
22
+ apiHost: w
23
23
  } = r;
24
- if (!l)
24
+ if (!d)
25
25
  throw new Error("Missing API key");
26
- if (!["v3"].includes(a))
27
- throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);
28
- const U = c !== 1, w = v || "https://cdn.builder.io", e = new URL(`${w}/api/${a}/content/${b}`);
29
- if (e.searchParams.set("apiKey", l), e.searchParams.set("limit", String(c)), e.searchParams.set("noTraverse", String(U)), e.searchParams.set("includeRefs", String(!0)), d && e.searchParams.set("locale", d), h && e.searchParams.set("enrich", String(h)), e.searchParams.set("omit", N || "meta.componentsUsed"), u && e.searchParams.set("fields", u), Number.isFinite(i) && i > -1 && e.searchParams.set("offset", String(Math.floor(i))), typeof p == "boolean" && e.searchParams.set("includeUnpublished", String(p)), n && y(n) && e.searchParams.set("cacheSeconds", String(n)), o && y(o) && e.searchParams.set("staleCacheSeconds", String(o)), P) {
30
- const s = g({
31
- sort: P
26
+ if (!["v3"].includes(n))
27
+ throw new Error(`Invalid apiVersion: expected 'v3', received '${n}'`);
28
+ const O = m !== 1, k = w || "https://cdn.builder.io", e = new URL(`${k}/api/${n}/content/${N}`);
29
+ e.searchParams.set("apiKey", d), e.searchParams.set("limit", String(m)), e.searchParams.set("noTraverse", String(O)), e.searchParams.set("includeRefs", String(!0));
30
+ const l = U || (a == null ? void 0 : a.locale);
31
+ let i = a;
32
+ if (l && (e.searchParams.set("locale", l), i = {
33
+ locale: l,
34
+ ...i
35
+ }), P && e.searchParams.set("enrich", String(P)), e.searchParams.set("omit", v || "meta.componentsUsed"), p && e.searchParams.set("fields", p), Number.isFinite(o) && o > -1 && e.searchParams.set("offset", String(Math.floor(o))), typeof u == "boolean" && e.searchParams.set("includeUnpublished", String(u)), c && b(c) && e.searchParams.set("cacheSeconds", String(c)), f && b(f) && e.searchParams.set("staleCacheSeconds", String(f)), S) {
36
+ const s = y({
37
+ sort: S
32
38
  });
33
39
  for (const t in s)
34
40
  e.searchParams.set(t, JSON.stringify(s[t]));
35
41
  }
36
42
  const A = {
37
- ...I(),
38
- ...k(r.options || {})
39
- }, S = g(A);
40
- for (const s in S)
41
- e.searchParams.set(s, String(S[s]));
42
- if (m && e.searchParams.set("userAttributes", JSON.stringify(m)), f) {
43
- const s = O({
44
- query: f
43
+ ...C(),
44
+ ...I(r.options || {})
45
+ }, g = y(A);
46
+ for (const s in g)
47
+ e.searchParams.set(s, String(g[s]));
48
+ if (i && e.searchParams.set("userAttributes", JSON.stringify(i)), h) {
49
+ const s = E({
50
+ query: h
45
51
  });
46
52
  for (const t in s)
47
53
  e.searchParams.set(t, JSON.stringify(s[t]));
@@ -49,5 +55,5 @@ const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
49
55
  return e;
50
56
  };
51
57
  export {
52
- M as generateContentUrl
58
+ R as generateContentUrl
53
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../constants/target.cjs"),h=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),o=require("../../helpers/logger.cjs"),d=require("../../helpers/preview-lru-cache/get.cjs"),C=require("../../helpers/sdk-headers.cjs"),y=require("../get-fetch.cjs"),T=require("../is-browser.cjs"),u=require("./generate-content-url.cjs"),q=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var s,a;const t=u.generateContentUrl(e),r=(s=e.fetch)!=null?s:y.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...C.getSdkHeaders()}};return await(await r(t.href,c)).json()},i=async(e,t,r=u.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const n=[];for(const s of t.results){const a=d.getPreviewContent(r.searchParams);n.push(a||s)}t.results=n}if(!c||!(T.isBrowser()||g.TARGET==="reactNative"))return t.results;try{const n=[];for(const s of t.results)n.push(await h.handleABTesting({item:s,canTrack:c}));t.results=n}catch(n){o.logger.error("Could not process A/B tests. ",n)}return t.results};async function l(e){try{const t=u.generateContentUrl(e),r=await v(e);return q(r)?i(e,r):(o.logger.error("Error fetching data. ",{url:t,content:r,options:e}),null)}catch(t){return o.logger.error("Error fetching data. ",t),null}}exports._processContentResult=i;exports.fetchEntries=l;exports.fetchOneEntry=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../constants/target.cjs"),g=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),i=require("../../helpers/logger.cjs"),C=require("../../helpers/preview-lru-cache/get.cjs"),d=require("../../helpers/sdk-headers.cjs"),T=require("../get-fetch.cjs"),q=require("../is-browser.cjs"),o=require("./generate-content-url.cjs"),y=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var n,a;const t=o.generateContentUrl(e),r=(n=e.fetch)!=null?n:T.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...d.getSdkHeaders()}};return await(await r(t.href,c)).json()},u=async(e,t,r=o.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const s=[];for(const n of t.results){const a=C.getPreviewContent(r.searchParams);s.push(a||n)}t.results=s}if(!c||!(q.isBrowser()||h.TARGET==="reactNative"))return t.results;try{const s=[];for(const n of t.results)s.push(await g.handleABTesting({item:n,canTrack:c}));t.results=s}catch(s){i.logger.error("Could not process A/B tests. ",s)}return t.results};async function l(e){const t=o.generateContentUrl(e),r=await v(e);if(!y(r))throw i.logger.error("Error fetching data. ",{url:t,content:r,options:e}),r;return u(e,r)}exports._processContentResult=u;exports.fetchEntries=l;exports.fetchOneEntry=k;
@@ -1,69 +1,67 @@
1
1
  import { TARGET as u } from "../../constants/target.mjs";
2
2
  import { handleABTesting as l } from "../../helpers/ab-tests.mjs";
3
- import { getDefaultCanTrack as h } from "../../helpers/canTrack.mjs";
4
- import { logger as a } from "../../helpers/logger.mjs";
5
- import { getPreviewContent as m } from "../../helpers/preview-lru-cache/get.mjs";
3
+ import { getDefaultCanTrack as m } from "../../helpers/canTrack.mjs";
4
+ import { logger as i } from "../../helpers/logger.mjs";
5
+ import { getPreviewContent as h } from "../../helpers/preview-lru-cache/get.mjs";
6
6
  import { getSdkHeaders as w } from "../../helpers/sdk-headers.mjs";
7
7
  import { fetch as p } from "../get-fetch.mjs";
8
8
  import { isBrowser as g } from "../is-browser.mjs";
9
- import { generateContentUrl as i } from "./generate-content-url.mjs";
10
- const d = (r) => "results" in r;
11
- async function H(r) {
12
- const t = await v({
13
- ...r,
9
+ import { generateContentUrl as a } from "./generate-content-url.mjs";
10
+ const C = (t) => "results" in t;
11
+ async function H(t) {
12
+ const e = await y({
13
+ ...t,
14
14
  limit: 1
15
15
  });
16
- return t && t[0] || null;
16
+ return e && e[0] || null;
17
17
  }
18
- const C = async (r) => {
19
- var n, o;
20
- const t = i(r), e = (n = r.fetch) != null ? n : p, c = {
21
- ...r.fetchOptions,
18
+ const d = async (t) => {
19
+ var n, c;
20
+ const e = a(t), r = (n = t.fetch) != null ? n : p, o = {
21
+ ...t.fetchOptions,
22
22
  headers: {
23
- ...(o = r.fetchOptions) == null ? void 0 : o.headers,
23
+ ...(c = t.fetchOptions) == null ? void 0 : c.headers,
24
24
  ...w()
25
25
  }
26
26
  };
27
- return await (await e(t.href, c)).json();
28
- }, y = async (r, t, e = i(r)) => {
29
- const c = h(r.canTrack);
30
- if (e.search.includes("preview=")) {
27
+ return await (await r(e.href, o)).json();
28
+ }, v = async (t, e, r = a(t)) => {
29
+ const o = m(t.canTrack);
30
+ if (r.search.includes("preview=")) {
31
31
  const s = [];
32
- for (const n of t.results) {
33
- const o = m(e.searchParams);
34
- s.push(o || n);
32
+ for (const n of e.results) {
33
+ const c = h(r.searchParams);
34
+ s.push(c || n);
35
35
  }
36
- t.results = s;
36
+ e.results = s;
37
37
  }
38
- if (!c || !(g() || u === "reactNative"))
39
- return t.results;
38
+ if (!o || !(g() || u === "reactNative"))
39
+ return e.results;
40
40
  try {
41
41
  const s = [];
42
- for (const n of t.results)
42
+ for (const n of e.results)
43
43
  s.push(await l({
44
44
  item: n,
45
- canTrack: c
45
+ canTrack: o
46
46
  }));
47
- t.results = s;
47
+ e.results = s;
48
48
  } catch (s) {
49
- a.error("Could not process A/B tests. ", s);
49
+ i.error("Could not process A/B tests. ", s);
50
50
  }
51
- return t.results;
51
+ return e.results;
52
52
  };
53
- async function v(r) {
54
- try {
55
- const t = i(r), e = await C(r);
56
- return d(e) ? y(r, e) : (a.error("Error fetching data. ", {
57
- url: t,
58
- content: e,
59
- options: r
60
- }), null);
61
- } catch (t) {
62
- return a.error("Error fetching data. ", t), null;
63
- }
53
+ async function y(t) {
54
+ const e = a(t), r = await d(t);
55
+ if (!C(r))
56
+ throw i.error("Error fetching data. ", {
57
+ url: e,
58
+ content: r,
59
+ options: t
60
+ }), r;
61
+ return v(t, r);
64
62
  }
65
63
  export {
66
- y as _processContentResult,
67
- v as fetchEntries,
64
+ v as _processContentResult,
65
+ y as fetchEntries,
68
66
  H as fetchOneEntry
69
67
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim();return`return (${!n.startsWith("function")&&!n.startsWith("(")?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim(),e=/^[a-zA-Z0-9_]+\s*=>/i.test(n);return`return (${!n.startsWith("function")&&!n.startsWith("(")&&!e?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
@@ -1,14 +1,14 @@
1
- const s = (t) => ({
1
+ const o = (t) => ({
2
2
  type: "builder.registerComponent",
3
3
  data: i(t)
4
- }), r = (t) => {
5
- const n = t.toString().trim();
6
- return `return (${!n.startsWith("function") && !n.startsWith("(") ? "function " : ""}${n}).apply(this, arguments)`;
4
+ }), e = (t) => {
5
+ const n = t.toString().trim(), r = /^[a-zA-Z0-9_]+\s*=>/i.test(n);
6
+ return `return (${!n.startsWith("function") && !n.startsWith("(") && !r ? "function " : ""}${n}).apply(this, arguments)`;
7
7
  };
8
8
  function i(t) {
9
- return JSON.parse(JSON.stringify(t, (n, e) => typeof e == "function" ? r(e) : e));
9
+ return JSON.parse(JSON.stringify(t, (n, r) => typeof r == "function" ? e(r) : r));
10
10
  }
11
11
  export {
12
- s as createRegisterComponentMessage,
12
+ o as createRegisterComponentMessage,
13
13
  i as serializeIncludingFunctions
14
14
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.16.23";exports.SDK_VERSION=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.17.0";exports.SDK_VERSION=e;
@@ -1,4 +1,4 @@
1
- const o = "0.16.23";
1
+ const o = "0.17.0";
2
2
  export {
3
3
  o as SDK_VERSION
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../helpers/flatten.cjs"),O=require("../../helpers/search/search.cjs"),A=require("../../types/api-version.cjs"),V=require("../get-builder-search-params/index.cjs"),y=r=>typeof r=="number"&&!isNaN(r)&&r>=0,$=r=>{const{limit:l=30,userAttributes:f,query:m,model:b,apiKey:h,enrich:u,locale:d,apiVersion:a=A.DEFAULT_API_VERSION,fields:P,omit:v,offset:i,cacheSeconds:n,staleCacheSeconds:o,sort:S,includeUnpublished:g,apiHost:N}=r;if(!h)throw new Error("Missing API key");if(!["v3"].includes(a))throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);const U=l!==1,q=N||"https://cdn.builder.io",e=new URL(`${q}/api/${a}/content/${b}`);if(e.searchParams.set("apiKey",h),e.searchParams.set("limit",String(l)),e.searchParams.set("noTraverse",String(U)),e.searchParams.set("includeRefs",String(!0)),d&&e.searchParams.set("locale",d),u&&e.searchParams.set("enrich",String(u)),e.searchParams.set("omit",v||"meta.componentsUsed"),P&&e.searchParams.set("fields",P),Number.isFinite(i)&&i>-1&&e.searchParams.set("offset",String(Math.floor(i))),typeof g=="boolean"&&e.searchParams.set("includeUnpublished",String(g)),n&&y(n)&&e.searchParams.set("cacheSeconds",String(n)),o&&y(o)&&e.searchParams.set("staleCacheSeconds",String(o)),S){const s=c.flatten({sort:S});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const w={...V.getBuilderSearchParamsFromWindow(),...O.normalizeSearchParams(r.options||{})},p=c.flatten(w);for(const s in p)e.searchParams.set(s,String(p[s]));if(f&&e.searchParams.set("userAttributes",JSON.stringify(f)),m){const s=c.flattenMongoQuery({query:m});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../helpers/flatten.cjs"),$=require("../../helpers/search/search.cjs"),k=require("../../types/api-version.cjs"),A=require("../get-builder-search-params/index.cjs"),b=r=>typeof r=="number"&&!isNaN(r)&&r>=0,C=r=>{const{limit:h=30,userAttributes:a,query:d,model:U,apiKey:u,enrich:P,locale:v,apiVersion:i=k.DEFAULT_API_VERSION,fields:S,omit:N,offset:o,cacheSeconds:c,staleCacheSeconds:l,sort:g,includeUnpublished:p,apiHost:q}=r;if(!u)throw new Error("Missing API key");if(!["v3"].includes(i))throw new Error(`Invalid apiVersion: expected 'v3', received '${i}'`);const w=h!==1,O=q||"https://cdn.builder.io",e=new URL(`${O}/api/${i}/content/${U}`);e.searchParams.set("apiKey",u),e.searchParams.set("limit",String(h)),e.searchParams.set("noTraverse",String(w)),e.searchParams.set("includeRefs",String(!0));const f=v||(a==null?void 0:a.locale);let n=a;if(f&&(e.searchParams.set("locale",f),n={locale:f,...n}),P&&e.searchParams.set("enrich",String(P)),e.searchParams.set("omit",N||"meta.componentsUsed"),S&&e.searchParams.set("fields",S),Number.isFinite(o)&&o>-1&&e.searchParams.set("offset",String(Math.floor(o))),typeof p=="boolean"&&e.searchParams.set("includeUnpublished",String(p)),c&&b(c)&&e.searchParams.set("cacheSeconds",String(c)),l&&b(l)&&e.searchParams.set("staleCacheSeconds",String(l)),g){const s=m.flatten({sort:g});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const V={...A.getBuilderSearchParamsFromWindow(),...$.normalizeSearchParams(r.options||{})},y=m.flatten(V);for(const s in y)e.searchParams.set(s,String(y[s]));if(n&&e.searchParams.set("userAttributes",JSON.stringify(n)),d){const s=m.flattenMongoQuery({query:d});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=C;
@@ -1,47 +1,53 @@
1
- import { flatten as g, flattenMongoQuery as O } from "../../helpers/flatten.mjs";
2
- import { normalizeSearchParams as k } from "../../helpers/search/search.mjs";
3
- import { DEFAULT_API_VERSION as E } from "../../types/api-version.mjs";
4
- import { getBuilderSearchParamsFromWindow as I } from "../get-builder-search-params/index.mjs";
5
- const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
1
+ import { flatten as y, flattenMongoQuery as E } from "../../helpers/flatten.mjs";
2
+ import { normalizeSearchParams as I } from "../../helpers/search/search.mjs";
3
+ import { DEFAULT_API_VERSION as $ } from "../../types/api-version.mjs";
4
+ import { getBuilderSearchParamsFromWindow as C } from "../get-builder-search-params/index.mjs";
5
+ const b = (r) => typeof r == "number" && !isNaN(r) && r >= 0, R = (r) => {
6
6
  const {
7
- limit: c = 30,
8
- userAttributes: m,
9
- query: f,
10
- model: b,
11
- apiKey: l,
12
- enrich: h,
13
- locale: d,
14
- apiVersion: a = E,
15
- fields: u,
16
- omit: N,
17
- offset: i,
18
- cacheSeconds: n,
19
- staleCacheSeconds: o,
20
- sort: P,
21
- includeUnpublished: p,
22
- apiHost: v
7
+ limit: m = 30,
8
+ userAttributes: a,
9
+ query: h,
10
+ model: N,
11
+ apiKey: d,
12
+ enrich: P,
13
+ locale: U,
14
+ apiVersion: n = $,
15
+ fields: p,
16
+ omit: v,
17
+ offset: o,
18
+ cacheSeconds: c,
19
+ staleCacheSeconds: f,
20
+ sort: S,
21
+ includeUnpublished: u,
22
+ apiHost: w
23
23
  } = r;
24
- if (!l)
24
+ if (!d)
25
25
  throw new Error("Missing API key");
26
- if (!["v3"].includes(a))
27
- throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);
28
- const U = c !== 1, w = v || "https://cdn.builder.io", e = new URL(`${w}/api/${a}/content/${b}`);
29
- if (e.searchParams.set("apiKey", l), e.searchParams.set("limit", String(c)), e.searchParams.set("noTraverse", String(U)), e.searchParams.set("includeRefs", String(!0)), d && e.searchParams.set("locale", d), h && e.searchParams.set("enrich", String(h)), e.searchParams.set("omit", N || "meta.componentsUsed"), u && e.searchParams.set("fields", u), Number.isFinite(i) && i > -1 && e.searchParams.set("offset", String(Math.floor(i))), typeof p == "boolean" && e.searchParams.set("includeUnpublished", String(p)), n && y(n) && e.searchParams.set("cacheSeconds", String(n)), o && y(o) && e.searchParams.set("staleCacheSeconds", String(o)), P) {
30
- const s = g({
31
- sort: P
26
+ if (!["v3"].includes(n))
27
+ throw new Error(`Invalid apiVersion: expected 'v3', received '${n}'`);
28
+ const O = m !== 1, k = w || "https://cdn.builder.io", e = new URL(`${k}/api/${n}/content/${N}`);
29
+ e.searchParams.set("apiKey", d), e.searchParams.set("limit", String(m)), e.searchParams.set("noTraverse", String(O)), e.searchParams.set("includeRefs", String(!0));
30
+ const l = U || (a == null ? void 0 : a.locale);
31
+ let i = a;
32
+ if (l && (e.searchParams.set("locale", l), i = {
33
+ locale: l,
34
+ ...i
35
+ }), P && e.searchParams.set("enrich", String(P)), e.searchParams.set("omit", v || "meta.componentsUsed"), p && e.searchParams.set("fields", p), Number.isFinite(o) && o > -1 && e.searchParams.set("offset", String(Math.floor(o))), typeof u == "boolean" && e.searchParams.set("includeUnpublished", String(u)), c && b(c) && e.searchParams.set("cacheSeconds", String(c)), f && b(f) && e.searchParams.set("staleCacheSeconds", String(f)), S) {
36
+ const s = y({
37
+ sort: S
32
38
  });
33
39
  for (const t in s)
34
40
  e.searchParams.set(t, JSON.stringify(s[t]));
35
41
  }
36
42
  const A = {
37
- ...I(),
38
- ...k(r.options || {})
39
- }, S = g(A);
40
- for (const s in S)
41
- e.searchParams.set(s, String(S[s]));
42
- if (m && e.searchParams.set("userAttributes", JSON.stringify(m)), f) {
43
- const s = O({
44
- query: f
43
+ ...C(),
44
+ ...I(r.options || {})
45
+ }, g = y(A);
46
+ for (const s in g)
47
+ e.searchParams.set(s, String(g[s]));
48
+ if (i && e.searchParams.set("userAttributes", JSON.stringify(i)), h) {
49
+ const s = E({
50
+ query: h
45
51
  });
46
52
  for (const t in s)
47
53
  e.searchParams.set(t, JSON.stringify(s[t]));
@@ -49,5 +55,5 @@ const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
49
55
  return e;
50
56
  };
51
57
  export {
52
- M as generateContentUrl
58
+ R as generateContentUrl
53
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../constants/target.cjs"),h=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),o=require("../../helpers/logger.cjs"),d=require("../../helpers/preview-lru-cache/get.cjs"),C=require("../../helpers/sdk-headers.cjs"),y=require("../get-fetch.cjs"),T=require("../is-browser.cjs"),u=require("./generate-content-url.cjs"),q=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var s,a;const t=u.generateContentUrl(e),r=(s=e.fetch)!=null?s:y.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...C.getSdkHeaders()}};return await(await r(t.href,c)).json()},i=async(e,t,r=u.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const n=[];for(const s of t.results){const a=d.getPreviewContent(r.searchParams);n.push(a||s)}t.results=n}if(!c||!(T.isBrowser()||g.TARGET==="reactNative"))return t.results;try{const n=[];for(const s of t.results)n.push(await h.handleABTesting({item:s,canTrack:c}));t.results=n}catch(n){o.logger.error("Could not process A/B tests. ",n)}return t.results};async function l(e){try{const t=u.generateContentUrl(e),r=await v(e);return q(r)?i(e,r):(o.logger.error("Error fetching data. ",{url:t,content:r,options:e}),null)}catch(t){return o.logger.error("Error fetching data. ",t),null}}exports._processContentResult=i;exports.fetchEntries=l;exports.fetchOneEntry=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../constants/target.cjs"),g=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),i=require("../../helpers/logger.cjs"),C=require("../../helpers/preview-lru-cache/get.cjs"),d=require("../../helpers/sdk-headers.cjs"),T=require("../get-fetch.cjs"),q=require("../is-browser.cjs"),o=require("./generate-content-url.cjs"),y=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var n,a;const t=o.generateContentUrl(e),r=(n=e.fetch)!=null?n:T.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...d.getSdkHeaders()}};return await(await r(t.href,c)).json()},u=async(e,t,r=o.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const s=[];for(const n of t.results){const a=C.getPreviewContent(r.searchParams);s.push(a||n)}t.results=s}if(!c||!(q.isBrowser()||h.TARGET==="reactNative"))return t.results;try{const s=[];for(const n of t.results)s.push(await g.handleABTesting({item:n,canTrack:c}));t.results=s}catch(s){i.logger.error("Could not process A/B tests. ",s)}return t.results};async function l(e){const t=o.generateContentUrl(e),r=await v(e);if(!y(r))throw i.logger.error("Error fetching data. ",{url:t,content:r,options:e}),r;return u(e,r)}exports._processContentResult=u;exports.fetchEntries=l;exports.fetchOneEntry=k;
@@ -1,69 +1,67 @@
1
1
  import { TARGET as u } from "../../constants/target.mjs";
2
2
  import { handleABTesting as l } from "../../helpers/ab-tests.mjs";
3
- import { getDefaultCanTrack as h } from "../../helpers/canTrack.mjs";
4
- import { logger as a } from "../../helpers/logger.mjs";
5
- import { getPreviewContent as m } from "../../helpers/preview-lru-cache/get.mjs";
3
+ import { getDefaultCanTrack as m } from "../../helpers/canTrack.mjs";
4
+ import { logger as i } from "../../helpers/logger.mjs";
5
+ import { getPreviewContent as h } from "../../helpers/preview-lru-cache/get.mjs";
6
6
  import { getSdkHeaders as w } from "../../helpers/sdk-headers.mjs";
7
7
  import { fetch as p } from "../get-fetch.mjs";
8
8
  import { isBrowser as g } from "../is-browser.mjs";
9
- import { generateContentUrl as i } from "./generate-content-url.mjs";
10
- const d = (r) => "results" in r;
11
- async function H(r) {
12
- const t = await v({
13
- ...r,
9
+ import { generateContentUrl as a } from "./generate-content-url.mjs";
10
+ const C = (t) => "results" in t;
11
+ async function H(t) {
12
+ const e = await y({
13
+ ...t,
14
14
  limit: 1
15
15
  });
16
- return t && t[0] || null;
16
+ return e && e[0] || null;
17
17
  }
18
- const C = async (r) => {
19
- var n, o;
20
- const t = i(r), e = (n = r.fetch) != null ? n : p, c = {
21
- ...r.fetchOptions,
18
+ const d = async (t) => {
19
+ var n, c;
20
+ const e = a(t), r = (n = t.fetch) != null ? n : p, o = {
21
+ ...t.fetchOptions,
22
22
  headers: {
23
- ...(o = r.fetchOptions) == null ? void 0 : o.headers,
23
+ ...(c = t.fetchOptions) == null ? void 0 : c.headers,
24
24
  ...w()
25
25
  }
26
26
  };
27
- return await (await e(t.href, c)).json();
28
- }, y = async (r, t, e = i(r)) => {
29
- const c = h(r.canTrack);
30
- if (e.search.includes("preview=")) {
27
+ return await (await r(e.href, o)).json();
28
+ }, v = async (t, e, r = a(t)) => {
29
+ const o = m(t.canTrack);
30
+ if (r.search.includes("preview=")) {
31
31
  const s = [];
32
- for (const n of t.results) {
33
- const o = m(e.searchParams);
34
- s.push(o || n);
32
+ for (const n of e.results) {
33
+ const c = h(r.searchParams);
34
+ s.push(c || n);
35
35
  }
36
- t.results = s;
36
+ e.results = s;
37
37
  }
38
- if (!c || !(g() || u === "reactNative"))
39
- return t.results;
38
+ if (!o || !(g() || u === "reactNative"))
39
+ return e.results;
40
40
  try {
41
41
  const s = [];
42
- for (const n of t.results)
42
+ for (const n of e.results)
43
43
  s.push(await l({
44
44
  item: n,
45
- canTrack: c
45
+ canTrack: o
46
46
  }));
47
- t.results = s;
47
+ e.results = s;
48
48
  } catch (s) {
49
- a.error("Could not process A/B tests. ", s);
49
+ i.error("Could not process A/B tests. ", s);
50
50
  }
51
- return t.results;
51
+ return e.results;
52
52
  };
53
- async function v(r) {
54
- try {
55
- const t = i(r), e = await C(r);
56
- return d(e) ? y(r, e) : (a.error("Error fetching data. ", {
57
- url: t,
58
- content: e,
59
- options: r
60
- }), null);
61
- } catch (t) {
62
- return a.error("Error fetching data. ", t), null;
63
- }
53
+ async function y(t) {
54
+ const e = a(t), r = await d(t);
55
+ if (!C(r))
56
+ throw i.error("Error fetching data. ", {
57
+ url: e,
58
+ content: r,
59
+ options: t
60
+ }), r;
61
+ return v(t, r);
64
62
  }
65
63
  export {
66
- y as _processContentResult,
67
- v as fetchEntries,
64
+ v as _processContentResult,
65
+ y as fetchEntries,
68
66
  H as fetchOneEntry
69
67
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim();return`return (${!n.startsWith("function")&&!n.startsWith("(")?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim(),e=/^[a-zA-Z0-9_]+\s*=>/i.test(n);return`return (${!n.startsWith("function")&&!n.startsWith("(")&&!e?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
@@ -1,14 +1,14 @@
1
- const s = (t) => ({
1
+ const o = (t) => ({
2
2
  type: "builder.registerComponent",
3
3
  data: i(t)
4
- }), r = (t) => {
5
- const n = t.toString().trim();
6
- return `return (${!n.startsWith("function") && !n.startsWith("(") ? "function " : ""}${n}).apply(this, arguments)`;
4
+ }), e = (t) => {
5
+ const n = t.toString().trim(), r = /^[a-zA-Z0-9_]+\s*=>/i.test(n);
6
+ return `return (${!n.startsWith("function") && !n.startsWith("(") && !r ? "function " : ""}${n}).apply(this, arguments)`;
7
7
  };
8
8
  function i(t) {
9
- return JSON.parse(JSON.stringify(t, (n, e) => typeof e == "function" ? r(e) : e));
9
+ return JSON.parse(JSON.stringify(t, (n, r) => typeof r == "function" ? e(r) : r));
10
10
  }
11
11
  export {
12
- s as createRegisterComponentMessage,
12
+ o as createRegisterComponentMessage,
13
13
  i as serializeIncludingFunctions
14
14
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.16.23";exports.SDK_VERSION=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.17.0";exports.SDK_VERSION=e;
@@ -1,4 +1,4 @@
1
- const o = "0.16.23";
1
+ const o = "0.17.0";
2
2
  export {
3
3
  o as SDK_VERSION
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../helpers/flatten.cjs"),O=require("../../helpers/search/search.cjs"),A=require("../../types/api-version.cjs"),V=require("../get-builder-search-params/index.cjs"),y=r=>typeof r=="number"&&!isNaN(r)&&r>=0,$=r=>{const{limit:l=30,userAttributes:f,query:m,model:b,apiKey:h,enrich:u,locale:d,apiVersion:a=A.DEFAULT_API_VERSION,fields:P,omit:v,offset:i,cacheSeconds:n,staleCacheSeconds:o,sort:S,includeUnpublished:g,apiHost:N}=r;if(!h)throw new Error("Missing API key");if(!["v3"].includes(a))throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);const U=l!==1,q=N||"https://cdn.builder.io",e=new URL(`${q}/api/${a}/content/${b}`);if(e.searchParams.set("apiKey",h),e.searchParams.set("limit",String(l)),e.searchParams.set("noTraverse",String(U)),e.searchParams.set("includeRefs",String(!0)),d&&e.searchParams.set("locale",d),u&&e.searchParams.set("enrich",String(u)),e.searchParams.set("omit",v||"meta.componentsUsed"),P&&e.searchParams.set("fields",P),Number.isFinite(i)&&i>-1&&e.searchParams.set("offset",String(Math.floor(i))),typeof g=="boolean"&&e.searchParams.set("includeUnpublished",String(g)),n&&y(n)&&e.searchParams.set("cacheSeconds",String(n)),o&&y(o)&&e.searchParams.set("staleCacheSeconds",String(o)),S){const s=c.flatten({sort:S});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const w={...V.getBuilderSearchParamsFromWindow(),...O.normalizeSearchParams(r.options||{})},p=c.flatten(w);for(const s in p)e.searchParams.set(s,String(p[s]));if(f&&e.searchParams.set("userAttributes",JSON.stringify(f)),m){const s=c.flattenMongoQuery({query:m});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../helpers/flatten.cjs"),$=require("../../helpers/search/search.cjs"),k=require("../../types/api-version.cjs"),A=require("../get-builder-search-params/index.cjs"),b=r=>typeof r=="number"&&!isNaN(r)&&r>=0,C=r=>{const{limit:h=30,userAttributes:a,query:d,model:U,apiKey:u,enrich:P,locale:v,apiVersion:i=k.DEFAULT_API_VERSION,fields:S,omit:N,offset:o,cacheSeconds:c,staleCacheSeconds:l,sort:g,includeUnpublished:p,apiHost:q}=r;if(!u)throw new Error("Missing API key");if(!["v3"].includes(i))throw new Error(`Invalid apiVersion: expected 'v3', received '${i}'`);const w=h!==1,O=q||"https://cdn.builder.io",e=new URL(`${O}/api/${i}/content/${U}`);e.searchParams.set("apiKey",u),e.searchParams.set("limit",String(h)),e.searchParams.set("noTraverse",String(w)),e.searchParams.set("includeRefs",String(!0));const f=v||(a==null?void 0:a.locale);let n=a;if(f&&(e.searchParams.set("locale",f),n={locale:f,...n}),P&&e.searchParams.set("enrich",String(P)),e.searchParams.set("omit",N||"meta.componentsUsed"),S&&e.searchParams.set("fields",S),Number.isFinite(o)&&o>-1&&e.searchParams.set("offset",String(Math.floor(o))),typeof p=="boolean"&&e.searchParams.set("includeUnpublished",String(p)),c&&b(c)&&e.searchParams.set("cacheSeconds",String(c)),l&&b(l)&&e.searchParams.set("staleCacheSeconds",String(l)),g){const s=m.flatten({sort:g});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}const V={...A.getBuilderSearchParamsFromWindow(),...$.normalizeSearchParams(r.options||{})},y=m.flatten(V);for(const s in y)e.searchParams.set(s,String(y[s]));if(n&&e.searchParams.set("userAttributes",JSON.stringify(n)),d){const s=m.flattenMongoQuery({query:d});for(const t in s)e.searchParams.set(t,JSON.stringify(s[t]))}return e};exports.generateContentUrl=C;
@@ -1,47 +1,53 @@
1
- import { flatten as g, flattenMongoQuery as O } from "../../helpers/flatten.mjs";
2
- import { normalizeSearchParams as k } from "../../helpers/search/search.mjs";
3
- import { DEFAULT_API_VERSION as E } from "../../types/api-version.mjs";
4
- import { getBuilderSearchParamsFromWindow as I } from "../get-builder-search-params/index.mjs";
5
- const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
1
+ import { flatten as y, flattenMongoQuery as E } from "../../helpers/flatten.mjs";
2
+ import { normalizeSearchParams as I } from "../../helpers/search/search.mjs";
3
+ import { DEFAULT_API_VERSION as $ } from "../../types/api-version.mjs";
4
+ import { getBuilderSearchParamsFromWindow as C } from "../get-builder-search-params/index.mjs";
5
+ const b = (r) => typeof r == "number" && !isNaN(r) && r >= 0, R = (r) => {
6
6
  const {
7
- limit: c = 30,
8
- userAttributes: m,
9
- query: f,
10
- model: b,
11
- apiKey: l,
12
- enrich: h,
13
- locale: d,
14
- apiVersion: a = E,
15
- fields: u,
16
- omit: N,
17
- offset: i,
18
- cacheSeconds: n,
19
- staleCacheSeconds: o,
20
- sort: P,
21
- includeUnpublished: p,
22
- apiHost: v
7
+ limit: m = 30,
8
+ userAttributes: a,
9
+ query: h,
10
+ model: N,
11
+ apiKey: d,
12
+ enrich: P,
13
+ locale: U,
14
+ apiVersion: n = $,
15
+ fields: p,
16
+ omit: v,
17
+ offset: o,
18
+ cacheSeconds: c,
19
+ staleCacheSeconds: f,
20
+ sort: S,
21
+ includeUnpublished: u,
22
+ apiHost: w
23
23
  } = r;
24
- if (!l)
24
+ if (!d)
25
25
  throw new Error("Missing API key");
26
- if (!["v3"].includes(a))
27
- throw new Error(`Invalid apiVersion: expected 'v3', received '${a}'`);
28
- const U = c !== 1, w = v || "https://cdn.builder.io", e = new URL(`${w}/api/${a}/content/${b}`);
29
- if (e.searchParams.set("apiKey", l), e.searchParams.set("limit", String(c)), e.searchParams.set("noTraverse", String(U)), e.searchParams.set("includeRefs", String(!0)), d && e.searchParams.set("locale", d), h && e.searchParams.set("enrich", String(h)), e.searchParams.set("omit", N || "meta.componentsUsed"), u && e.searchParams.set("fields", u), Number.isFinite(i) && i > -1 && e.searchParams.set("offset", String(Math.floor(i))), typeof p == "boolean" && e.searchParams.set("includeUnpublished", String(p)), n && y(n) && e.searchParams.set("cacheSeconds", String(n)), o && y(o) && e.searchParams.set("staleCacheSeconds", String(o)), P) {
30
- const s = g({
31
- sort: P
26
+ if (!["v3"].includes(n))
27
+ throw new Error(`Invalid apiVersion: expected 'v3', received '${n}'`);
28
+ const O = m !== 1, k = w || "https://cdn.builder.io", e = new URL(`${k}/api/${n}/content/${N}`);
29
+ e.searchParams.set("apiKey", d), e.searchParams.set("limit", String(m)), e.searchParams.set("noTraverse", String(O)), e.searchParams.set("includeRefs", String(!0));
30
+ const l = U || (a == null ? void 0 : a.locale);
31
+ let i = a;
32
+ if (l && (e.searchParams.set("locale", l), i = {
33
+ locale: l,
34
+ ...i
35
+ }), P && e.searchParams.set("enrich", String(P)), e.searchParams.set("omit", v || "meta.componentsUsed"), p && e.searchParams.set("fields", p), Number.isFinite(o) && o > -1 && e.searchParams.set("offset", String(Math.floor(o))), typeof u == "boolean" && e.searchParams.set("includeUnpublished", String(u)), c && b(c) && e.searchParams.set("cacheSeconds", String(c)), f && b(f) && e.searchParams.set("staleCacheSeconds", String(f)), S) {
36
+ const s = y({
37
+ sort: S
32
38
  });
33
39
  for (const t in s)
34
40
  e.searchParams.set(t, JSON.stringify(s[t]));
35
41
  }
36
42
  const A = {
37
- ...I(),
38
- ...k(r.options || {})
39
- }, S = g(A);
40
- for (const s in S)
41
- e.searchParams.set(s, String(S[s]));
42
- if (m && e.searchParams.set("userAttributes", JSON.stringify(m)), f) {
43
- const s = O({
44
- query: f
43
+ ...C(),
44
+ ...I(r.options || {})
45
+ }, g = y(A);
46
+ for (const s in g)
47
+ e.searchParams.set(s, String(g[s]));
48
+ if (i && e.searchParams.set("userAttributes", JSON.stringify(i)), h) {
49
+ const s = E({
50
+ query: h
45
51
  });
46
52
  for (const t in s)
47
53
  e.searchParams.set(t, JSON.stringify(s[t]));
@@ -49,5 +55,5 @@ const y = (r) => typeof r == "number" && !isNaN(r) && r >= 0, M = (r) => {
49
55
  return e;
50
56
  };
51
57
  export {
52
- M as generateContentUrl
58
+ R as generateContentUrl
53
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../constants/target.cjs"),h=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),o=require("../../helpers/logger.cjs"),d=require("../../helpers/preview-lru-cache/get.cjs"),C=require("../../helpers/sdk-headers.cjs"),y=require("../get-fetch.cjs"),T=require("../is-browser.cjs"),u=require("./generate-content-url.cjs"),q=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var s,a;const t=u.generateContentUrl(e),r=(s=e.fetch)!=null?s:y.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...C.getSdkHeaders()}};return await(await r(t.href,c)).json()},i=async(e,t,r=u.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const n=[];for(const s of t.results){const a=d.getPreviewContent(r.searchParams);n.push(a||s)}t.results=n}if(!c||!(T.isBrowser()||g.TARGET==="reactNative"))return t.results;try{const n=[];for(const s of t.results)n.push(await h.handleABTesting({item:s,canTrack:c}));t.results=n}catch(n){o.logger.error("Could not process A/B tests. ",n)}return t.results};async function l(e){try{const t=u.generateContentUrl(e),r=await v(e);return q(r)?i(e,r):(o.logger.error("Error fetching data. ",{url:t,content:r,options:e}),null)}catch(t){return o.logger.error("Error fetching data. ",t),null}}exports._processContentResult=i;exports.fetchEntries=l;exports.fetchOneEntry=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../constants/target.cjs"),g=require("../../helpers/ab-tests.cjs"),w=require("../../helpers/canTrack.cjs"),i=require("../../helpers/logger.cjs"),C=require("../../helpers/preview-lru-cache/get.cjs"),d=require("../../helpers/sdk-headers.cjs"),T=require("../get-fetch.cjs"),q=require("../is-browser.cjs"),o=require("./generate-content-url.cjs"),y=e=>"results"in e;async function k(e){const t=await l({...e,limit:1});return t&&t[0]||null}const v=async e=>{var n,a;const t=o.generateContentUrl(e),r=(n=e.fetch)!=null?n:T.fetch,c={...e.fetchOptions,headers:{...(a=e.fetchOptions)==null?void 0:a.headers,...d.getSdkHeaders()}};return await(await r(t.href,c)).json()},u=async(e,t,r=o.generateContentUrl(e))=>{const c=w.getDefaultCanTrack(e.canTrack);if(r.search.includes("preview=")){const s=[];for(const n of t.results){const a=C.getPreviewContent(r.searchParams);s.push(a||n)}t.results=s}if(!c||!(q.isBrowser()||h.TARGET==="reactNative"))return t.results;try{const s=[];for(const n of t.results)s.push(await g.handleABTesting({item:n,canTrack:c}));t.results=s}catch(s){i.logger.error("Could not process A/B tests. ",s)}return t.results};async function l(e){const t=o.generateContentUrl(e),r=await v(e);if(!y(r))throw i.logger.error("Error fetching data. ",{url:t,content:r,options:e}),r;return u(e,r)}exports._processContentResult=u;exports.fetchEntries=l;exports.fetchOneEntry=k;
@@ -1,69 +1,67 @@
1
1
  import { TARGET as u } from "../../constants/target.mjs";
2
2
  import { handleABTesting as l } from "../../helpers/ab-tests.mjs";
3
- import { getDefaultCanTrack as h } from "../../helpers/canTrack.mjs";
4
- import { logger as a } from "../../helpers/logger.mjs";
5
- import { getPreviewContent as m } from "../../helpers/preview-lru-cache/get.mjs";
3
+ import { getDefaultCanTrack as m } from "../../helpers/canTrack.mjs";
4
+ import { logger as i } from "../../helpers/logger.mjs";
5
+ import { getPreviewContent as h } from "../../helpers/preview-lru-cache/get.mjs";
6
6
  import { getSdkHeaders as w } from "../../helpers/sdk-headers.mjs";
7
7
  import { fetch as p } from "../get-fetch.mjs";
8
8
  import { isBrowser as g } from "../is-browser.mjs";
9
- import { generateContentUrl as i } from "./generate-content-url.mjs";
10
- const d = (r) => "results" in r;
11
- async function H(r) {
12
- const t = await v({
13
- ...r,
9
+ import { generateContentUrl as a } from "./generate-content-url.mjs";
10
+ const C = (t) => "results" in t;
11
+ async function H(t) {
12
+ const e = await y({
13
+ ...t,
14
14
  limit: 1
15
15
  });
16
- return t && t[0] || null;
16
+ return e && e[0] || null;
17
17
  }
18
- const C = async (r) => {
19
- var n, o;
20
- const t = i(r), e = (n = r.fetch) != null ? n : p, c = {
21
- ...r.fetchOptions,
18
+ const d = async (t) => {
19
+ var n, c;
20
+ const e = a(t), r = (n = t.fetch) != null ? n : p, o = {
21
+ ...t.fetchOptions,
22
22
  headers: {
23
- ...(o = r.fetchOptions) == null ? void 0 : o.headers,
23
+ ...(c = t.fetchOptions) == null ? void 0 : c.headers,
24
24
  ...w()
25
25
  }
26
26
  };
27
- return await (await e(t.href, c)).json();
28
- }, y = async (r, t, e = i(r)) => {
29
- const c = h(r.canTrack);
30
- if (e.search.includes("preview=")) {
27
+ return await (await r(e.href, o)).json();
28
+ }, v = async (t, e, r = a(t)) => {
29
+ const o = m(t.canTrack);
30
+ if (r.search.includes("preview=")) {
31
31
  const s = [];
32
- for (const n of t.results) {
33
- const o = m(e.searchParams);
34
- s.push(o || n);
32
+ for (const n of e.results) {
33
+ const c = h(r.searchParams);
34
+ s.push(c || n);
35
35
  }
36
- t.results = s;
36
+ e.results = s;
37
37
  }
38
- if (!c || !(g() || u === "reactNative"))
39
- return t.results;
38
+ if (!o || !(g() || u === "reactNative"))
39
+ return e.results;
40
40
  try {
41
41
  const s = [];
42
- for (const n of t.results)
42
+ for (const n of e.results)
43
43
  s.push(await l({
44
44
  item: n,
45
- canTrack: c
45
+ canTrack: o
46
46
  }));
47
- t.results = s;
47
+ e.results = s;
48
48
  } catch (s) {
49
- a.error("Could not process A/B tests. ", s);
49
+ i.error("Could not process A/B tests. ", s);
50
50
  }
51
- return t.results;
51
+ return e.results;
52
52
  };
53
- async function v(r) {
54
- try {
55
- const t = i(r), e = await C(r);
56
- return d(e) ? y(r, e) : (a.error("Error fetching data. ", {
57
- url: t,
58
- content: e,
59
- options: r
60
- }), null);
61
- } catch (t) {
62
- return a.error("Error fetching data. ", t), null;
63
- }
53
+ async function y(t) {
54
+ const e = a(t), r = await d(t);
55
+ if (!C(r))
56
+ throw i.error("Error fetching data. ", {
57
+ url: e,
58
+ content: r,
59
+ options: t
60
+ }), r;
61
+ return v(t, r);
64
62
  }
65
63
  export {
66
- y as _processContentResult,
67
- v as fetchEntries,
64
+ v as _processContentResult,
65
+ y as fetchEntries,
68
66
  H as fetchOneEntry
69
67
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim();return`return (${!n.startsWith("function")&&!n.startsWith("(")?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=t=>({type:"builder.registerComponent",data:r(t)}),s=t=>{const n=t.toString().trim(),e=/^[a-zA-Z0-9_]+\s*=>/i.test(n);return`return (${!n.startsWith("function")&&!n.startsWith("(")&&!e?"function ":""}${n}).apply(this, arguments)`};function r(t){return JSON.parse(JSON.stringify(t,(n,e)=>typeof e=="function"?s(e):e))}exports.createRegisterComponentMessage=i;exports.serializeIncludingFunctions=r;
@@ -1,14 +1,14 @@
1
- const s = (t) => ({
1
+ const o = (t) => ({
2
2
  type: "builder.registerComponent",
3
3
  data: i(t)
4
- }), r = (t) => {
5
- const n = t.toString().trim();
6
- return `return (${!n.startsWith("function") && !n.startsWith("(") ? "function " : ""}${n}).apply(this, arguments)`;
4
+ }), e = (t) => {
5
+ const n = t.toString().trim(), r = /^[a-zA-Z0-9_]+\s*=>/i.test(n);
6
+ return `return (${!n.startsWith("function") && !n.startsWith("(") && !r ? "function " : ""}${n}).apply(this, arguments)`;
7
7
  };
8
8
  function i(t) {
9
- return JSON.parse(JSON.stringify(t, (n, e) => typeof e == "function" ? r(e) : e));
9
+ return JSON.parse(JSON.stringify(t, (n, r) => typeof r == "function" ? e(r) : r));
10
10
  }
11
11
  export {
12
- s as createRegisterComponentMessage,
12
+ o as createRegisterComponentMessage,
13
13
  i as serializeIncludingFunctions
14
14
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react-nextjs",
3
3
  "description": "Builder.io RSC SDK for NextJS App Directory",
4
- "version": "0.16.23",
4
+ "version": "0.17.0",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/nextjs",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.16.23";
1
+ export declare const SDK_VERSION = "0.17.0";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.16.23";
1
+ export declare const SDK_VERSION = "0.17.0";