@knapsack/app-client-api 4.71.2--canary.4990.bff88e0.0 → 4.71.3--canary.4981.967ffad.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +12 -0
- package/dist/app-client-api.d.ts +14 -41
- package/dist/app-client-api.d.ts.map +1 -1
- package/dist/get-template-suggestions.d.ts +3 -25
- package/dist/get-template-suggestions.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
# v4.71.2 (Wed Oct 23 2024)
|
2
|
+
|
3
|
+
#### 🐛 Bug Fix
|
4
|
+
|
5
|
+
- refactor App Client API types approach KSP-5612 [#4921](https://github.com/knapsack-labs/app-monorepo/pull/4921) ([@EvanLovely](https://github.com/EvanLovely))
|
6
|
+
|
7
|
+
#### Authors: 1
|
8
|
+
|
9
|
+
- Evan Lovely ([@EvanLovely](https://github.com/EvanLovely))
|
10
|
+
|
11
|
+
---
|
12
|
+
|
1
13
|
# v4.71.1 (Wed Oct 23 2024)
|
2
14
|
|
3
15
|
#### 🐛 Bug Fix
|
package/dist/app-client-api.d.ts
CHANGED
@@ -1,42 +1,7 @@
|
|
1
|
-
import { KsAppClientData,
|
2
|
-
import type { GenericResponse, KsAppClientDataAndMeta, KsAppClientDataNoMeta, KsFileSaverParams } from '@knapsack/types';
|
3
|
-
|
4
|
-
|
5
|
-
}
|
6
|
-
export type PatternRenderDataWithDemoId = {
|
7
|
-
patternId: string;
|
8
|
-
templateId: string;
|
9
|
-
assetSetId: string;
|
10
|
-
demoId: string;
|
11
|
-
};
|
12
|
-
export type PatternRenderData = {
|
13
|
-
patternId: string;
|
14
|
-
templateId: string;
|
15
|
-
assetSetId?: string;
|
16
|
-
wrapHtml?: boolean;
|
17
|
-
isInIframe?: boolean;
|
18
|
-
cacheBuster?: string;
|
19
|
-
/**
|
20
|
-
* Data id for Demo from `saveData()`
|
21
|
-
* @see {@link Demo}
|
22
|
-
*/
|
23
|
-
dataId: string;
|
24
|
-
/**
|
25
|
-
* ID for @see {ContentStateForRendering}
|
26
|
-
*/
|
27
|
-
stateId: string;
|
28
|
-
};
|
29
|
-
export declare const ENDPOINTS: {
|
30
|
-
health: string;
|
31
|
-
dataStore: string;
|
32
|
-
dataStorePrep: string;
|
33
|
-
files: string;
|
34
|
-
data: string;
|
35
|
-
render: string;
|
36
|
-
upload: string;
|
37
|
-
plugins: string;
|
38
|
-
getTemplateSuggestions: string;
|
39
|
-
};
|
1
|
+
import { KsAppClientData, KsRenderResults } from '@knapsack/types';
|
2
|
+
import type { Except, GenericResponse, KsAppClientDataAndMeta, KsAppClientDataNoMeta, KsFileSaverParams } from '@knapsack/types';
|
3
|
+
import type { PatternRenderData, EndpointPaths, EndpointFiles, ExtractEndpointData, ExtractEndpointResBody, EndpointPlugins } from '@knapsack/app/api-info';
|
4
|
+
export type { PatternRenderData, EndpointPaths };
|
40
5
|
export declare function checkAppClientUrl(url: string): Promise<GenericResponse>;
|
41
6
|
export declare function getDataStore({ appClientUrl, }: {
|
42
7
|
appClientUrl: string;
|
@@ -55,11 +20,19 @@ export declare function submitDataForFileSave({ urlBase, state, }: {
|
|
55
20
|
state: KsAppClientDataNoMeta;
|
56
21
|
}): Promise<void>;
|
57
22
|
export declare function getPluginContent({ pluginId, appClientUrl, }: {
|
58
|
-
pluginId: string;
|
59
23
|
appClientUrl: string;
|
60
|
-
}): Promise<
|
24
|
+
} & Except<ExtractEndpointData<EndpointPlugins>, 'type'>): Promise<ExtractEndpointResBody<EndpointPlugins>>;
|
61
25
|
export declare function renderTemplate({ options, appClientUrl, }: {
|
62
26
|
options: PatternRenderData;
|
63
27
|
appClientUrl: string;
|
64
28
|
}): Promise<KsRenderResults>;
|
29
|
+
export declare function verifyFile({ appClientUrl, payload, }: {
|
30
|
+
appClientUrl: string;
|
31
|
+
payload: ExtractEndpointData<EndpointFiles>['payload'];
|
32
|
+
}): Promise<{
|
33
|
+
exists: boolean;
|
34
|
+
relativePath: string;
|
35
|
+
absolutePath: string;
|
36
|
+
type: "absolute" | "relative" | "package" | "unknown";
|
37
|
+
}>;
|
65
38
|
//# sourceMappingURL=app-client-api.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-client-api.d.ts","sourceRoot":"","sources":["../src/app-client-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
1
|
+
{"version":3,"file":"app-client-api.d.ts","sourceRoot":"","sources":["../src/app-client-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAEjD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAa7E;AAED,wBAAsB,YAAY,CAAC,EACjC,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAmBnD;AAGD,wBAAsB,gBAAgB,CAAC,EACrC,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAOlC;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,GACrB,qBAAqB,CAGvB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,qBAAqB,CAAC;CAC9B,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAoB9C;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,qBAAqB,CAAC;CAC9B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB;AAED,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAChE,sBAAsB,CAAC,eAAe,CAAC,CACxC,CAWA;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,YAAY,GACb,EAAE;IACD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS3B;AAED,wBAAsB,UAAU,CAAC,EAC/B,YAAY,EACZ,OAAO,GACR,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC;CACxD;;;;;GAYA"}
|
@@ -1,28 +1,6 @@
|
|
1
|
-
import type {
|
2
|
-
import { Except } from '@knapsack/utils';
|
3
|
-
export declare const path = "/api/v1/template-suggestions";
|
4
|
-
export declare const method = "GET";
|
5
|
-
export type ReqParams = Except<Parameters<TemplateSuggestionsGetFn>[0], 'state'> & {
|
6
|
-
/**
|
7
|
-
* ID from saving {@link ContentStateForRendering} to `api.knapsack.cloud/render-data
|
8
|
-
*/
|
9
|
-
stateId: string;
|
10
|
-
};
|
11
|
-
export type ResBody = {
|
12
|
-
type: 'success';
|
13
|
-
data: Awaited<ReturnType<TemplateSuggestionsGetFn>>;
|
14
|
-
} | {
|
15
|
-
type: 'error.invalidParams';
|
16
|
-
message: string;
|
17
|
-
} | {
|
18
|
-
type: 'error.pathNotFound';
|
19
|
-
message: string;
|
20
|
-
} | {
|
21
|
-
type: 'error.couldNotParse';
|
22
|
-
message: string;
|
23
|
-
};
|
1
|
+
import type { TemplateSuggestionsReqParams, TemplateSuggestionsResBody } from '@knapsack/app/api-info';
|
24
2
|
export declare function getTemplateSuggestions({ appClientUrl, query, }: {
|
25
3
|
appClientUrl: string;
|
26
|
-
query:
|
27
|
-
}): Promise<
|
4
|
+
query: TemplateSuggestionsReqParams;
|
5
|
+
}): Promise<TemplateSuggestionsResBody>;
|
28
6
|
//# sourceMappingURL=get-template-suggestions.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-template-suggestions.d.ts","sourceRoot":"","sources":["../src/get-template-suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"get-template-suggestions.d.ts","sourceRoot":"","sources":["../src/get-template-suggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAGhC,wBAAsB,sBAAsB,CAAC,EAC3C,YAAY,EACZ,KAAK,GACN,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,4BAA4B,CAAC;CACrC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAQtC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
@@ -1,19 +1,18 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
var utils = require('@knapsack/utils');
|
4
|
-
var types = require('@knapsack/types');
|
5
4
|
|
6
|
-
var
|
5
|
+
var p=Object.defineProperty;var n=(e,t)=>p(e,"name",{value:t,configurable:!0});async function g({appClientUrl:e,query:t}){return utils.fetcher({url:new URL("/api/v1/template-suggestions",e).toString(),query:t})}n(g,"getTemplateSuggestions");async function y(e){try{let t=new URL("/api/v1",e);return await utils.fetcher({url:t.toString()})}catch(t){return {ok:!1,message:t instanceof Error?t.message:"Unknown error"}}}n(y,"checkAppClientUrl");async function d({appClientUrl:e}){try{return {ok:!0,data:await utils.fetcher({url:new URL("/api/v1/data-store",e).toString()})}}catch(t){return {ok:!1,message:t instanceof Error?t.message:"Unknown error"}}}n(d,"getDataStore");async function R({appClientUrl:e}){let t=await d({appClientUrl:e});if(!t.ok||!t.data){let a=`Could not load data from custom url "${e}" ${t.message}`;throw new Error(a)}return t.data}n(R,"getAppClientData");function i(e){let{metaState:t,...a}=e;return a}n(i,"prepAppClientData");async function P({urlBase:e,state:t}){try{let a={state:i(t)};return await utils.fetcher({url:new URL("/api/v1/data-store-prep",e).toString(),body:a})}catch(a){return {ok:!1,message:a instanceof Error?a.message:"Unknown error"}}}n(P,"prepareDataForFileSave");async function D({urlBase:e,state:t}){let r={state:i(t)},o=await utils.fetcher({url:new URL("/api/v1/data-store",e).toString(),body:r});if(!o.ok)throw new Error(`Could not save data to localhost files: ${o.message}`)}n(D,"submitDataForFileSave");async function S({pluginId:e,appClientUrl:t}){return utils.fetcher({url:new URL("/api/v1/plugins",t).toString(),body:{pluginId:e,type:"getContent"}})}n(S,"getPluginContent");async function C({options:e,appClientUrl:t}){return await utils.fetcher({url:new URL("/api/v1/render",t).toString(),body:e})}n(C,"renderTemplate");async function x({appClientUrl:e,payload:t}){return (await utils.fetcher({url:new URL("/api/v1/files",e).toString(),body:{type:"verify",payload:t}})).payload}n(x,"verifyFile");
|
7
6
|
|
8
|
-
exports.
|
9
|
-
exports.
|
10
|
-
exports.
|
11
|
-
exports.
|
12
|
-
exports.
|
13
|
-
exports.
|
14
|
-
exports.
|
15
|
-
exports.
|
16
|
-
exports.
|
17
|
-
exports.
|
7
|
+
exports.checkAppClientUrl = y;
|
8
|
+
exports.getAppClientData = R;
|
9
|
+
exports.getDataStore = d;
|
10
|
+
exports.getPluginContent = S;
|
11
|
+
exports.getTemplateSuggestions = g;
|
12
|
+
exports.prepAppClientData = i;
|
13
|
+
exports.prepareDataForFileSave = P;
|
14
|
+
exports.renderTemplate = C;
|
15
|
+
exports.submitDataForFileSave = D;
|
16
|
+
exports.verifyFile = x;
|
18
17
|
//# sourceMappingURL=index.js.map
|
19
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/get-template-suggestions.ts","../src/app-client-api.ts"],"names":["
|
1
|
+
{"version":3,"sources":["../src/get-template-suggestions.ts","../src/app-client-api.ts"],"names":["getTemplateSuggestions","appClientUrl","query","fetcher","__name","checkAppClientUrl","url","theUrl","err","getDataStore","getAppClientData","serverDataRes","message","prepAppClientData","state","metaState","appClientDataNoMeta","prepareDataForFileSave","urlBase","body","submitDataForFileSave","data","getPluginContent","pluginId","renderTemplate","options","verifyFile","payload"],"mappings":"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","file":"index.js","sourcesContent":["import type {\n EndpointPaths,\n TemplateSuggestionsReqParams,\n TemplateSuggestionsResBody,\n} from '@knapsack/app/api-info';\nimport { fetcher } from '@knapsack/utils';\n\nexport async function getTemplateSuggestions({\n appClientUrl,\n query,\n}: {\n appClientUrl: string;\n query: TemplateSuggestionsReqParams;\n}): Promise<TemplateSuggestionsResBody> {\n return fetcher<TemplateSuggestionsResBody>({\n url: new URL(\n '/api/v1/template-suggestions' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n query,\n });\n}\n","import { KsAppClientData, KsRenderResults } from '@knapsack/types';\nimport type {\n Except,\n GenericResponse,\n KsAppClientDataAndMeta,\n KsAppClientDataNoMeta,\n KsFileSaverParams,\n} from '@knapsack/types';\nimport { fetcher } from '@knapsack/utils';\nimport type {\n PatternRenderData,\n KnapsackDataStoreSaveBody,\n EndpointPaths,\n EndpointFiles,\n ExtractEndpointData,\n ExtractEndpointResBody,\n EndpointPlugins,\n} from '@knapsack/app/api-info';\n\nexport type { PatternRenderData, EndpointPaths };\n\nexport async function checkAppClientUrl(url: string): Promise<GenericResponse> {\n try {\n const theUrl = new URL('/api/v1' satisfies EndpointPaths, url); // will throw if url not formatted correctly\n const res = await fetcher<GenericResponse>({\n url: theUrl.toString(),\n });\n return res;\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\nexport async function getDataStore({\n appClientUrl,\n}: {\n appClientUrl: string;\n}): Promise<GenericResponse<KsAppClientDataAndMeta>> {\n try {\n const data = await fetcher<KsAppClientDataAndMeta>({\n url: new URL(\n '/api/v1/data-store' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n });\n\n return {\n ok: true,\n data,\n };\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\n// just need a function that can throw an error\nexport async function getAppClientData({\n appClientUrl,\n}: {\n appClientUrl: string;\n}): Promise<KsAppClientDataAndMeta> {\n const serverDataRes = await getDataStore({ appClientUrl });\n if (!serverDataRes.ok || !serverDataRes.data) {\n const message = `Could not load data from custom url \"${appClientUrl}\" ${serverDataRes.message}`;\n throw new Error(message);\n }\n return serverDataRes.data;\n}\n\n/** Sole job is to strip `metaState` if it's there */\nexport function prepAppClientData(\n state: KsAppClientData,\n): KsAppClientDataNoMeta {\n const { metaState, ...appClientDataNoMeta } = state;\n return appClientDataNoMeta;\n}\n\nexport async function prepareDataForFileSave({\n urlBase,\n state,\n}: {\n urlBase: string;\n state: KsAppClientDataNoMeta;\n}): Promise<GenericResponse<KsFileSaverParams>> {\n try {\n const body: KnapsackDataStoreSaveBody = {\n state: prepAppClientData(state),\n };\n const data = await fetcher<GenericResponse<KsFileSaverParams>>({\n url: new URL(\n '/api/v1/data-store-prep' satisfies EndpointPaths,\n urlBase,\n ).toString(),\n body,\n });\n\n return data;\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\nexport async function submitDataForFileSave({\n urlBase,\n state,\n}: {\n urlBase: string;\n state: KsAppClientDataNoMeta;\n}): Promise<void> {\n const appClientData = prepAppClientData(state);\n const body: KnapsackDataStoreSaveBody = {\n state: appClientData,\n };\n const data = await fetcher<GenericResponse>({\n url: new URL(\n '/api/v1/data-store' satisfies EndpointPaths,\n urlBase,\n ).toString(),\n body,\n });\n\n if (!data.ok) {\n throw new Error(`Could not save data to localhost files: ${data.message}`);\n }\n}\n\nexport async function getPluginContent({\n pluginId,\n appClientUrl,\n}: {\n appClientUrl: string;\n} & Except<ExtractEndpointData<EndpointPlugins>, 'type'>): Promise<\n ExtractEndpointResBody<EndpointPlugins>\n> {\n return fetcher({\n url: new URL(\n '/api/v1/plugins' satisfies EndpointPlugins['path'],\n appClientUrl,\n ).toString(),\n body: {\n pluginId,\n type: 'getContent',\n } satisfies ExtractEndpointData<EndpointPlugins>,\n });\n}\n\nexport async function renderTemplate({\n options,\n appClientUrl,\n}: {\n options: PatternRenderData;\n appClientUrl: string;\n}): Promise<KsRenderResults> {\n const data = await fetcher<KsRenderResults>({\n url: new URL(\n '/api/v1/render' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n body: options,\n });\n return data;\n}\n\nexport async function verifyFile({\n appClientUrl,\n payload,\n}: {\n appClientUrl: string;\n payload: ExtractEndpointData<EndpointFiles>['payload'];\n}) {\n const data = await fetcher<ExtractEndpointResBody<EndpointFiles>>({\n url: new URL(\n '/api/v1/files' satisfies EndpointFiles['path'],\n appClientUrl,\n ).toString(),\n body: {\n type: 'verify',\n payload,\n } satisfies ExtractEndpointData<EndpointFiles>,\n });\n return data.payload;\n}\n"]}
|
package/dist/index.mjs
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
import { fetcher } from '@knapsack/utils';
|
2
|
-
import { PluginsApi } from '@knapsack/types';
|
3
2
|
|
4
|
-
var
|
3
|
+
var p=Object.defineProperty;var n=(e,t)=>p(e,"name",{value:t,configurable:!0});async function g({appClientUrl:e,query:t}){return fetcher({url:new URL("/api/v1/template-suggestions",e).toString(),query:t})}n(g,"getTemplateSuggestions");async function y(e){try{let t=new URL("/api/v1",e);return await fetcher({url:t.toString()})}catch(t){return {ok:!1,message:t instanceof Error?t.message:"Unknown error"}}}n(y,"checkAppClientUrl");async function d({appClientUrl:e}){try{return {ok:!0,data:await fetcher({url:new URL("/api/v1/data-store",e).toString()})}}catch(t){return {ok:!1,message:t instanceof Error?t.message:"Unknown error"}}}n(d,"getDataStore");async function R({appClientUrl:e}){let t=await d({appClientUrl:e});if(!t.ok||!t.data){let a=`Could not load data from custom url "${e}" ${t.message}`;throw new Error(a)}return t.data}n(R,"getAppClientData");function i(e){let{metaState:t,...a}=e;return a}n(i,"prepAppClientData");async function P({urlBase:e,state:t}){try{let a={state:i(t)};return await fetcher({url:new URL("/api/v1/data-store-prep",e).toString(),body:a})}catch(a){return {ok:!1,message:a instanceof Error?a.message:"Unknown error"}}}n(P,"prepareDataForFileSave");async function D({urlBase:e,state:t}){let r={state:i(t)},o=await fetcher({url:new URL("/api/v1/data-store",e).toString(),body:r});if(!o.ok)throw new Error(`Could not save data to localhost files: ${o.message}`)}n(D,"submitDataForFileSave");async function S({pluginId:e,appClientUrl:t}){return fetcher({url:new URL("/api/v1/plugins",t).toString(),body:{pluginId:e,type:"getContent"}})}n(S,"getPluginContent");async function C({options:e,appClientUrl:t}){return await fetcher({url:new URL("/api/v1/render",t).toString(),body:e})}n(C,"renderTemplate");async function x({appClientUrl:e,payload:t}){return (await fetcher({url:new URL("/api/v1/files",e).toString(),body:{type:"verify",payload:t}})).payload}n(x,"verifyFile");
|
5
4
|
|
6
|
-
export {
|
5
|
+
export { y as checkAppClientUrl, R as getAppClientData, d as getDataStore, S as getPluginContent, g as getTemplateSuggestions, i as prepAppClientData, P as prepareDataForFileSave, C as renderTemplate, D as submitDataForFileSave, x as verifyFile };
|
7
6
|
//# sourceMappingURL=index.mjs.map
|
8
7
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/get-template-suggestions.ts","../src/app-client-api.ts"],"names":["
|
1
|
+
{"version":3,"sources":["../src/get-template-suggestions.ts","../src/app-client-api.ts"],"names":["getTemplateSuggestions","appClientUrl","query","fetcher","__name","checkAppClientUrl","url","theUrl","err","getDataStore","getAppClientData","serverDataRes","message","prepAppClientData","state","metaState","appClientDataNoMeta","prepareDataForFileSave","urlBase","body","submitDataForFileSave","data","getPluginContent","pluginId","renderTemplate","options","verifyFile","payload"],"mappings":"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","file":"index.mjs","sourcesContent":["import type {\n EndpointPaths,\n TemplateSuggestionsReqParams,\n TemplateSuggestionsResBody,\n} from '@knapsack/app/api-info';\nimport { fetcher } from '@knapsack/utils';\n\nexport async function getTemplateSuggestions({\n appClientUrl,\n query,\n}: {\n appClientUrl: string;\n query: TemplateSuggestionsReqParams;\n}): Promise<TemplateSuggestionsResBody> {\n return fetcher<TemplateSuggestionsResBody>({\n url: new URL(\n '/api/v1/template-suggestions' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n query,\n });\n}\n","import { KsAppClientData, KsRenderResults } from '@knapsack/types';\nimport type {\n Except,\n GenericResponse,\n KsAppClientDataAndMeta,\n KsAppClientDataNoMeta,\n KsFileSaverParams,\n} from '@knapsack/types';\nimport { fetcher } from '@knapsack/utils';\nimport type {\n PatternRenderData,\n KnapsackDataStoreSaveBody,\n EndpointPaths,\n EndpointFiles,\n ExtractEndpointData,\n ExtractEndpointResBody,\n EndpointPlugins,\n} from '@knapsack/app/api-info';\n\nexport type { PatternRenderData, EndpointPaths };\n\nexport async function checkAppClientUrl(url: string): Promise<GenericResponse> {\n try {\n const theUrl = new URL('/api/v1' satisfies EndpointPaths, url); // will throw if url not formatted correctly\n const res = await fetcher<GenericResponse>({\n url: theUrl.toString(),\n });\n return res;\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\nexport async function getDataStore({\n appClientUrl,\n}: {\n appClientUrl: string;\n}): Promise<GenericResponse<KsAppClientDataAndMeta>> {\n try {\n const data = await fetcher<KsAppClientDataAndMeta>({\n url: new URL(\n '/api/v1/data-store' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n });\n\n return {\n ok: true,\n data,\n };\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\n// just need a function that can throw an error\nexport async function getAppClientData({\n appClientUrl,\n}: {\n appClientUrl: string;\n}): Promise<KsAppClientDataAndMeta> {\n const serverDataRes = await getDataStore({ appClientUrl });\n if (!serverDataRes.ok || !serverDataRes.data) {\n const message = `Could not load data from custom url \"${appClientUrl}\" ${serverDataRes.message}`;\n throw new Error(message);\n }\n return serverDataRes.data;\n}\n\n/** Sole job is to strip `metaState` if it's there */\nexport function prepAppClientData(\n state: KsAppClientData,\n): KsAppClientDataNoMeta {\n const { metaState, ...appClientDataNoMeta } = state;\n return appClientDataNoMeta;\n}\n\nexport async function prepareDataForFileSave({\n urlBase,\n state,\n}: {\n urlBase: string;\n state: KsAppClientDataNoMeta;\n}): Promise<GenericResponse<KsFileSaverParams>> {\n try {\n const body: KnapsackDataStoreSaveBody = {\n state: prepAppClientData(state),\n };\n const data = await fetcher<GenericResponse<KsFileSaverParams>>({\n url: new URL(\n '/api/v1/data-store-prep' satisfies EndpointPaths,\n urlBase,\n ).toString(),\n body,\n });\n\n return data;\n } catch (err) {\n return {\n ok: false,\n message: err instanceof Error ? err.message : 'Unknown error',\n };\n }\n}\n\nexport async function submitDataForFileSave({\n urlBase,\n state,\n}: {\n urlBase: string;\n state: KsAppClientDataNoMeta;\n}): Promise<void> {\n const appClientData = prepAppClientData(state);\n const body: KnapsackDataStoreSaveBody = {\n state: appClientData,\n };\n const data = await fetcher<GenericResponse>({\n url: new URL(\n '/api/v1/data-store' satisfies EndpointPaths,\n urlBase,\n ).toString(),\n body,\n });\n\n if (!data.ok) {\n throw new Error(`Could not save data to localhost files: ${data.message}`);\n }\n}\n\nexport async function getPluginContent({\n pluginId,\n appClientUrl,\n}: {\n appClientUrl: string;\n} & Except<ExtractEndpointData<EndpointPlugins>, 'type'>): Promise<\n ExtractEndpointResBody<EndpointPlugins>\n> {\n return fetcher({\n url: new URL(\n '/api/v1/plugins' satisfies EndpointPlugins['path'],\n appClientUrl,\n ).toString(),\n body: {\n pluginId,\n type: 'getContent',\n } satisfies ExtractEndpointData<EndpointPlugins>,\n });\n}\n\nexport async function renderTemplate({\n options,\n appClientUrl,\n}: {\n options: PatternRenderData;\n appClientUrl: string;\n}): Promise<KsRenderResults> {\n const data = await fetcher<KsRenderResults>({\n url: new URL(\n '/api/v1/render' satisfies EndpointPaths,\n appClientUrl,\n ).toString(),\n body: options,\n });\n return data;\n}\n\nexport async function verifyFile({\n appClientUrl,\n payload,\n}: {\n appClientUrl: string;\n payload: ExtractEndpointData<EndpointFiles>['payload'];\n}) {\n const data = await fetcher<ExtractEndpointResBody<EndpointFiles>>({\n url: new URL(\n '/api/v1/files' satisfies EndpointFiles['path'],\n appClientUrl,\n ).toString(),\n body: {\n type: 'verify',\n payload,\n } satisfies ExtractEndpointData<EndpointFiles>,\n });\n return data.payload;\n}\n"]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@knapsack/app-client-api",
|
3
3
|
"description": "",
|
4
|
-
"version": "4.71.
|
4
|
+
"version": "4.71.3--canary.4981.967ffad.0",
|
5
5
|
"exports": {
|
6
6
|
".": {
|
7
7
|
"types": "./dist/index.d.ts",
|
@@ -21,14 +21,15 @@
|
|
21
21
|
"lint": "eslint ./"
|
22
22
|
},
|
23
23
|
"dependencies": {
|
24
|
-
"@knapsack/
|
25
|
-
"@knapsack/
|
24
|
+
"@knapsack/app": "4.71.3--canary.4981.967ffad.0",
|
25
|
+
"@knapsack/types": "4.71.3--canary.4981.967ffad.0",
|
26
|
+
"@knapsack/utils": "4.71.3--canary.4981.967ffad.0",
|
26
27
|
"cross-fetch": "^4.0.0"
|
27
28
|
},
|
28
29
|
"devDependencies": {
|
29
|
-
"@knapsack/eslint-config-starter": "4.71.
|
30
|
-
"@knapsack/prettier-config": "4.71.
|
31
|
-
"@knapsack/typescript-config-starter": "4.71.
|
30
|
+
"@knapsack/eslint-config-starter": "4.71.3--canary.4981.967ffad.0",
|
31
|
+
"@knapsack/prettier-config": "4.71.3--canary.4981.967ffad.0",
|
32
|
+
"@knapsack/typescript-config-starter": "4.71.3--canary.4981.967ffad.0",
|
32
33
|
"@types/node": "^20.16.11",
|
33
34
|
"eslint": "^8.57.0",
|
34
35
|
"tsup": "^8.3.0",
|
@@ -43,5 +44,5 @@
|
|
43
44
|
"directory": "libs/app-client-api",
|
44
45
|
"type": "git"
|
45
46
|
},
|
46
|
-
"gitHead": "
|
47
|
+
"gitHead": "967ffad179b17e83cd7d086b7266e3370a0d5ca0"
|
47
48
|
}
|