@knapsack/app-client-api 4.71.1 → 4.71.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.2",
|
|
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.2",
|
|
25
|
+
"@knapsack/types": "4.71.2",
|
|
26
|
+
"@knapsack/utils": "4.71.2",
|
|
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.2",
|
|
31
|
+
"@knapsack/prettier-config": "4.71.2",
|
|
32
|
+
"@knapsack/typescript-config-starter": "4.71.2",
|
|
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": "53393364de6df01286130c0f44c948d70457215d"
|
|
47
48
|
}
|