@blocklet/launcher-util 2.4.4 → 2.4.6

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/es/get-asset.js CHANGED
@@ -1,4 +1,4 @@
1
- import o from "url-join";
1
+ import { joinURL as o } from "ufo";
2
2
  import n from "lodash/get";
3
3
  import { create as i } from "./api.js";
4
4
  const u = async (e, a) => {
package/es/locale/en.js CHANGED
@@ -2,7 +2,7 @@ import i from "flat";
2
2
  import { LAUNCH_ACTIVITY_TYPE as t, LAUNCH_STATUS as e, CURRENCY_TYPE as a, PAYMENT_METHODS as r, INSTANCE_STATUS as n } from "../constant.js";
3
3
  const o = i({
4
4
  common: {
5
- app: "App",
5
+ app: "Blocklet",
6
6
  billing: "Billing",
7
7
  duration: "Duration",
8
8
  spaceName: "Space Name"
package/es/locale/zh.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import r from "flat";
2
2
  import { LAUNCH_ACTIVITY_TYPE as n, LAUNCH_STATUS as e, CURRENCY_TYPE as a, PAYMENT_METHODS as i, INSTANCE_STATUS as t } from "../constant.js";
3
- const p = r({
3
+ const c = r({
4
4
  common: {
5
- app: "应用",
5
+ app: "Blocklet",
6
6
  billing: "账单",
7
7
  duration: "时长",
8
- spaceName: "应用空间"
8
+ spaceName: "Blocklet 空间"
9
9
  },
10
10
  serverlessInstance: {
11
11
  appStatus: {
@@ -88,5 +88,5 @@ const p = r({
88
88
  }
89
89
  });
90
90
  export {
91
- p as default
91
+ c as default
92
92
  };
package/es/util.js CHANGED
@@ -1,103 +1,128 @@
1
1
  import "moment-timezone";
2
2
  import "moment/locale/zh-cn";
3
- import u from "moment";
4
- import c from "url-join";
5
- import l from "lodash/get";
6
- import { TIME_LOCALE as f, LAUNCH_STATUS as a } from "./constant.js";
7
- const g = (t) => {
8
- const r = Number(t.slice(0, t.length - 1)), e = t[t.length - 1];
9
- return { value: r, unit: e };
10
- }, p = ({ value: t, unit: r }, e) => {
11
- Object.keys(f).includes(e) || (e = "en");
12
- const n = t > 1 ? `${r}s` : r;
13
- return f[e][n.toLowerCase()];
14
- }, y = (t, r) => {
3
+ import a from "moment";
4
+ import { joinURL as o } from "ufo";
5
+ import p from "lodash/get";
6
+ import { TIME_LOCALE as d, LAUNCH_STATUS as l } from "./constant.js";
7
+ const L = (t) => {
8
+ const e = Number(t.slice(0, t.length - 1)), r = t[t.length - 1];
9
+ return { value: e, unit: r };
10
+ }, g = ({ value: t, unit: e }, r) => {
11
+ Object.keys(d).includes(r) || (r = "en");
12
+ const n = t > 1 ? `${e}s` : e;
13
+ return d[r][n.toLowerCase()];
14
+ }, U = (t, e) => {
15
15
  if (!t)
16
16
  return "";
17
- const { value: e, unit: n } = t;
18
- return `${e}${p({ value: e, unit: n }, r)}`;
19
- }, d = (t, r = "en-us", e = Intl.DateTimeFormat().resolvedOptions().timeZone) => {
17
+ const { value: r, unit: n } = t;
18
+ return `${r}${g({ value: r, unit: n }, e)}`;
19
+ }, y = (t, e = "en-us", r = Intl.DateTimeFormat().resolvedOptions().timeZone) => {
20
20
  if (!t)
21
21
  return "";
22
- r = r || "en-us", r === "zh" && (r = "zh-cn");
22
+ e = e || "en-us", e === "zh" && (e = "zh-cn");
23
23
  try {
24
- return u(t).locale(r).tz(e).format("LLL zz");
24
+ return a(t).locale(e).tz(r).format("LLL zz");
25
25
  } catch (n) {
26
26
  return console.error(`formate date time "${t}" error`, n), "";
27
27
  }
28
- }, L = (t, r = "en-us") => d(t, r, "UTC"), U = (t, r = !0, e = void 0) => (t || []).sort((n, i) => {
29
- let o = n, s = i;
30
- if (typeof e < "u" && (o = o[e], s = s[e]), o === s)
28
+ }, h = (t, e = "en-us") => y(t, e, "UTC"), w = (t, e = !0, r = void 0) => (t || []).sort((n, c) => {
29
+ let s = n, i = c;
30
+ if (typeof r < "u" && (s = s[r], i = i[r]), s === i)
31
31
  return 0;
32
- const m = r ? 1 : -1;
33
- return u(o).diff(u(s)) > 0 ? m : -1 * m;
34
- }), h = (t, r) => t && t !== "undefined" ? { [t]: r } : { createdAt: -1 }, k = ({ address: t, type: r = "txs", chainHost: e }) => `https://explorer.abtnetwork.io/explorer/${r}/${t}?host=${e}`, $ = (t) => l(t, "title") || l(t, "name") || "", w = (t) => t ? c(t, "/.well-known/service/admin/overview") : "#", D = (t) => !!t && new Date(t).getTime() <= Date.now(), R = ({ baseURL: t, launch: r }) => {
35
- const e = new URL(t);
36
- return r.status < a.paid ? (e.searchParams.set("sessionId", r.id), e.searchParams.set("blocklet_meta_url", r.blockletMetaUrl), e.href) : r.status >= a.paid && r.status < a.consuming ? (e.pathname = c(e.pathname, `/launch/${r.id}`), e.searchParams.set("sessionId", r.id), e.searchParams.set("blocklet_meta_url", r.blockletMetaUrl), e.searchParams.set("launchType", r.type), r.from && e.searchParams.set("from", r.from), e.href) : "";
37
- }, T = (t) => {
38
- const r = (t.get("blocklet_meta_url") || t.get("meta_url") || "").trim();
39
- return decodeURIComponent(r);
40
- }, _ = (t) => {
32
+ const f = e ? 1 : -1;
33
+ return a(s).diff(a(i)) > 0 ? f : -1 * f;
34
+ }), D = (t, e) => t && t !== "undefined" ? { [t]: e } : { createdAt: -1 }, v = ({ address: t, type: e = "txs", chainHost: r }) => `https://explorer.abtnetwork.io/explorer/${e}/${t}?host=${r}`, b = (t) => p(t, "title") || p(t, "name") || "", M = (t) => t ? o(t, "/.well-known/service/admin/overview") : "#", $ = (t) => !!t && new Date(t).getTime() <= Date.now(), R = ({ baseURL: t, launch: e }) => {
35
+ const r = new URL(t);
36
+ return e.status < l.paid ? (r.searchParams.set("sessionId", e.id), r.searchParams.set("blocklet_meta_url", e.blockletMetaUrl), r.href) : e.status >= l.paid && e.status < l.consuming ? (r.pathname = o(r.pathname, `/launch/${e.id}`), r.searchParams.set("sessionId", e.id), r.searchParams.set("blocklet_meta_url", e.blockletMetaUrl), r.searchParams.set("launchType", e.type), e.from && r.searchParams.set("from", e.from), r.href) : "";
37
+ }, A = (t) => {
38
+ const e = (t.get("blocklet_meta_url") || t.get("meta_url") || "").trim();
39
+ return decodeURIComponent(e);
40
+ }, B = (t) => {
41
41
  try {
42
42
  return t ? new URL(t).origin : "";
43
- } catch (r) {
44
- return console.error("get registry url from blocklet meta url error:", r), "";
43
+ } catch (e) {
44
+ return console.error("get registry url from blocklet meta url error:", e), "";
45
45
  }
46
- }, v = (t, r) => r.startsWith("/assets") ? r : `/assets/${t}/${r}`, A = ({ did: t, baseUrl: r, logoPath: e }) => e ? e?.startsWith("http") ? e : r?.startsWith("http") && e ? c(r, v(t, e)) : "" : "", B = ({ did: t, baseUrl: r }) => {
46
+ }, C = (t, e) => e.startsWith("/assets") ? e : `/assets/${t}/${e}`, T = ({ did: t, baseUrl: e, logoPath: r }) => r ? r?.startsWith("http") ? r : e?.startsWith("http") && r ? o(e, C(t, r)) : "" : "", z = ({ did: t, baseUrl: e }) => {
47
47
  try {
48
- if (!r || !t)
48
+ if (!e || !t)
49
49
  return "";
50
- const e = new URL(r);
51
- return c(e.origin, `/blocklets/${t}`);
52
- } catch (e) {
53
- return console.error("get registry url from blocklet meta url error:", e), "";
50
+ const r = new URL(e);
51
+ return o(r.origin, `/blocklets/${t}`);
52
+ } catch (r) {
53
+ return console.error("get registry url from blocklet meta url error:", r), "";
54
54
  }
55
- }, C = () => u().add(1, "years").unix(), b = ({ typeName: t, freeTrialProducts: r, currencyId: e }) => {
56
- if (!Array.isArray(r))
55
+ }, N = () => a().add(1, "years").unix(), _ = ({ typeName: t, freeTrialProducts: e, currencyId: r }) => {
56
+ if (!Array.isArray(e))
57
57
  return null;
58
- const n = r.find((i) => {
59
- const o = i.paymentCurrencies.split(",").map((s) => s.trim()).filter(Boolean);
60
- return i.productTypeName === t && i.isFreeTrial && o.includes(e);
58
+ const n = e.find((c) => {
59
+ const s = c.paymentCurrencies.split(",").map((i) => i.trim()).filter(Boolean);
60
+ return c.productTypeName === t && c.isFreeTrial && s.includes(r);
61
61
  });
62
62
  return n || null;
63
- }, M = {
64
- formatPeriod: g,
65
- prettyDurationUnit: p,
66
- prettyDuration: y,
67
- formatDatetime: d,
68
- formatUtcDatetime: L,
69
- isDateExpired: D,
70
- sortArrayByDate: U,
71
- getSort: h,
72
- getExplorerUrl: k,
73
- getBlockletDisplayName: $,
74
- getBlockletAdminURL: w,
63
+ }, m = (t) => (window.blocklet?.componentMountPoints || []).find((n) => n.name === t || n.did === t)?.mountPoint || "/", k = (t) => {
64
+ const r = (window.blocklet?.componentMountPoints || []).find((n) => n.name === t || n.did === t);
65
+ return r && r.status === "running";
66
+ }, P = () => m("z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7"), S = () => m("z8iZy4P83i6AgnNdNUexsh2kBcsDHoqcwPavn"), x = () => k("z8iZy4P83i6AgnNdNUexsh2kBcsDHoqcwPavn"), u = () => m("z2qaCNvKMv5GjouKdcDWexv6WqtHbpNPQDnAk"), I = (t) => o(window.location.origin, P(), `/u/transfer?transfer_id=${t}`), F = (t) => o(u(), `/customer/subscription/${t}?source=launcher`), W = (t) => o(u(), `/customer/invoice/${t}?source=launcher`), E = (t) => o(u(), `/admin/billing/${t}?source=launcher`), H = () => o(u(), "/customer"), G = {
67
+ formatPeriod: L,
68
+ prettyDurationUnit: g,
69
+ prettyDuration: U,
70
+ formatDatetime: y,
71
+ formatUtcDatetime: h,
72
+ isDateExpired: $,
73
+ sortArrayByDate: w,
74
+ getSort: D,
75
+ getExplorerUrl: v,
76
+ getBlockletDisplayName: b,
77
+ getBlockletAdminURL: M,
75
78
  getContinueLaunchURL: R,
76
- getBlockletMetaUrlFromQuery: T,
77
- getRegistryUrlFromBlockletMetaUrl: _,
78
- getBlockletLogoUrl: A,
79
- getBlockletUrlOnStore: B,
80
- getDefaultTrialEnd: C,
81
- getProductFreeTrial: b
79
+ getBlockletMetaUrlFromQuery: A,
80
+ getRegistryUrlFromBlockletMetaUrl: B,
81
+ getBlockletLogoUrl: T,
82
+ getBlockletUrlOnStore: z,
83
+ getDefaultTrialEnd: N,
84
+ getProductFreeTrial: _,
85
+ getComponentMountPoint: m,
86
+ isComponentRunning: k,
87
+ getBaseURL: P,
88
+ getPaymentKitMountPoint: u,
89
+ getTransferAbsoluteURL: I,
90
+ getSubscriptionLink: F,
91
+ getInvoiceLink: W,
92
+ getAdminSubscriptionLink: E,
93
+ getPaymentCustomerLink: H,
94
+ getDIDPayMountPoint: S,
95
+ isDIDPayRunning: x
82
96
  };
83
97
  export {
84
- M as default,
85
- d as formatDatetime,
86
- g as formatPeriod,
87
- L as formatUtcDatetime,
88
- w as getBlockletAdminURL,
89
- $ as getBlockletDisplayName,
90
- A as getBlockletLogoUrl,
91
- T as getBlockletMetaUrlFromQuery,
92
- B as getBlockletUrlOnStore,
98
+ G as default,
99
+ y as formatDatetime,
100
+ L as formatPeriod,
101
+ h as formatUtcDatetime,
102
+ E as getAdminSubscriptionLink,
103
+ P as getBaseURL,
104
+ M as getBlockletAdminURL,
105
+ b as getBlockletDisplayName,
106
+ T as getBlockletLogoUrl,
107
+ A as getBlockletMetaUrlFromQuery,
108
+ z as getBlockletUrlOnStore,
109
+ m as getComponentMountPoint,
93
110
  R as getContinueLaunchURL,
94
- C as getDefaultTrialEnd,
95
- k as getExplorerUrl,
96
- b as getProductFreeTrial,
97
- _ as getRegistryUrlFromBlockletMetaUrl,
98
- h as getSort,
99
- D as isDateExpired,
100
- y as prettyDuration,
101
- p as prettyDurationUnit,
102
- U as sortArrayByDate
111
+ S as getDIDPayMountPoint,
112
+ N as getDefaultTrialEnd,
113
+ v as getExplorerUrl,
114
+ W as getInvoiceLink,
115
+ H as getPaymentCustomerLink,
116
+ u as getPaymentKitMountPoint,
117
+ _ as getProductFreeTrial,
118
+ B as getRegistryUrlFromBlockletMetaUrl,
119
+ D as getSort,
120
+ F as getSubscriptionLink,
121
+ I as getTransferAbsoluteURL,
122
+ k as isComponentRunning,
123
+ x as isDIDPayRunning,
124
+ $ as isDateExpired,
125
+ U as prettyDuration,
126
+ g as prettyDurationUnit,
127
+ w as sortArrayByDate
103
128
  };
package/lib/get-asset.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";const n=require("url-join"),o=require("lodash/get"),i=require("./api.js"),c=async(e,s)=>{const a=n(new URL(e).origin,"/api/gql/"),r=await i.create().post(a,JSON.stringify({query:`{
1
+ "use strict";const n=require("ufo"),o=require("lodash/get"),i=require("./api.js"),c=async(e,s)=>{const a=n.joinURL(new URL(e).origin,"/api/gql/"),r=await i.create().post(a,JSON.stringify({query:`{
2
2
  getAssetState(address: "${s}") {
3
3
  state {
4
4
  address
package/lib/locale/en.js CHANGED
@@ -1 +1 @@
1
- "use strict";const n=require("flat"),e=require("../constant.js"),t=n({common:{app:"App",billing:"Billing",duration:"Duration",spaceName:"Space Name"},serverlessInstance:{appStatus:{added:"Added",waiting:"Waiting",downloading:"Downloading",extracting:"Extracting",installing:"Installing",upgrading:"Upgrading",installed:"Installed",created:"Created",starting:"Starting",running:"Running",stopping:"Stopping",stopped:"Stopped",error:"Error",deleting:"Deleting",corrupted:"Corrupted",purchasing:"Waiting for purchase",purchased:"Purchased",verifying:"Verifying purchase",unknown:"Unknown"}},dedicatedInstance:{appStatus:{[e.INSTANCE_STATUS.unknown]:"Unknown",[e.INSTANCE_STATUS.pending]:"Pending",[e.INSTANCE_STATUS.starting]:"Starting",[e.INSTANCE_STATUS.running]:"Running",[e.INSTANCE_STATUS.restarting]:"Restarting",[e.INSTANCE_STATUS.underMaintenance]:"Under-Maintenance",[e.INSTANCE_STATUS.stopping]:"Stopping",[e.INSTANCE_STATUS.stopped]:"Stopped",[e.INSTANCE_STATUS.terminatedInstance]:"Instance Terminated",[e.INSTANCE_STATUS.expired]:"Expired",[e.INSTANCE_STATUS.error]:"Error",[e.INSTANCE_STATUS.waiting]:"Waiting",[e.INSTANCE_STATUS.terminated]:"Terminated"}},paymentMethod:{[e.PAYMENT_METHODS.crypto]:"Crypto",[e.PAYMENT_METHODS.stripe]:"Credit",[e.CURRENCY_TYPE.fiat]:"Credit",[e.CURRENCY_TYPE.crypto]:"Crypto"},launchSession:{installSource:"Install Source",status:{[e.LAUNCH_STATUS.created]:"In Progress",[e.LAUNCH_STATUS.selected]:"In Progress",[e.LAUNCH_STATUS.connected]:"In Progress",[e.LAUNCH_STATUS.paid]:"Paid",[e.LAUNCH_STATUS.nftMinted]:"NFT Minted",[e.LAUNCH_STATUS.allocated]:"Paid",[e.LAUNCH_STATUS.consuming]:"Handling",[e.LAUNCH_STATUS.installed]:"Installed",[e.LAUNCH_STATUS.timeout]:"Timeout",[e.LAUNCH_STATUS.pastDue]:"PastDue",canceling:"Canceling",[e.LAUNCH_STATUS.canceled]:"Canceled",[e.LAUNCH_STATUS.terminated]:"Terminated",[e.LAUNCH_STATUS.transferred]:"Transferred",[e.LAUNCH_STATUS.blocked]:"Blocked"},activity:{[e.LAUNCH_ACTIVITY_TYPE.canceled]:"Canceled",[e.LAUNCH_ACTIVITY_TYPE.pastDue]:"PastDue",[e.LAUNCH_ACTIVITY_TYPE.terminated]:"Terminated",[e.LAUNCH_ACTIVITY_TYPE.transferred]:"Transferred"},steps:{create:"Create",paid:"Paid",installed:"Installed"}}});module.exports=t;
1
+ "use strict";const n=require("flat"),e=require("../constant.js"),t=n({common:{app:"Blocklet",billing:"Billing",duration:"Duration",spaceName:"Space Name"},serverlessInstance:{appStatus:{added:"Added",waiting:"Waiting",downloading:"Downloading",extracting:"Extracting",installing:"Installing",upgrading:"Upgrading",installed:"Installed",created:"Created",starting:"Starting",running:"Running",stopping:"Stopping",stopped:"Stopped",error:"Error",deleting:"Deleting",corrupted:"Corrupted",purchasing:"Waiting for purchase",purchased:"Purchased",verifying:"Verifying purchase",unknown:"Unknown"}},dedicatedInstance:{appStatus:{[e.INSTANCE_STATUS.unknown]:"Unknown",[e.INSTANCE_STATUS.pending]:"Pending",[e.INSTANCE_STATUS.starting]:"Starting",[e.INSTANCE_STATUS.running]:"Running",[e.INSTANCE_STATUS.restarting]:"Restarting",[e.INSTANCE_STATUS.underMaintenance]:"Under-Maintenance",[e.INSTANCE_STATUS.stopping]:"Stopping",[e.INSTANCE_STATUS.stopped]:"Stopped",[e.INSTANCE_STATUS.terminatedInstance]:"Instance Terminated",[e.INSTANCE_STATUS.expired]:"Expired",[e.INSTANCE_STATUS.error]:"Error",[e.INSTANCE_STATUS.waiting]:"Waiting",[e.INSTANCE_STATUS.terminated]:"Terminated"}},paymentMethod:{[e.PAYMENT_METHODS.crypto]:"Crypto",[e.PAYMENT_METHODS.stripe]:"Credit",[e.CURRENCY_TYPE.fiat]:"Credit",[e.CURRENCY_TYPE.crypto]:"Crypto"},launchSession:{installSource:"Install Source",status:{[e.LAUNCH_STATUS.created]:"In Progress",[e.LAUNCH_STATUS.selected]:"In Progress",[e.LAUNCH_STATUS.connected]:"In Progress",[e.LAUNCH_STATUS.paid]:"Paid",[e.LAUNCH_STATUS.nftMinted]:"NFT Minted",[e.LAUNCH_STATUS.allocated]:"Paid",[e.LAUNCH_STATUS.consuming]:"Handling",[e.LAUNCH_STATUS.installed]:"Installed",[e.LAUNCH_STATUS.timeout]:"Timeout",[e.LAUNCH_STATUS.pastDue]:"PastDue",canceling:"Canceling",[e.LAUNCH_STATUS.canceled]:"Canceled",[e.LAUNCH_STATUS.terminated]:"Terminated",[e.LAUNCH_STATUS.transferred]:"Transferred",[e.LAUNCH_STATUS.blocked]:"Blocked"},activity:{[e.LAUNCH_ACTIVITY_TYPE.canceled]:"Canceled",[e.LAUNCH_ACTIVITY_TYPE.pastDue]:"PastDue",[e.LAUNCH_ACTIVITY_TYPE.terminated]:"Terminated",[e.LAUNCH_ACTIVITY_TYPE.transferred]:"Transferred"},steps:{create:"Create",paid:"Paid",installed:"Installed"}}});module.exports=t;
package/lib/locale/zh.js CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("flat"),T=require("../constant.js"),t=e({common:{app:"应用",billing:"账单",duration:"时长",spaceName:"应用空间"},serverlessInstance:{appStatus:{added:"已添加",waiting:"等待中",downloading:"下载中",extracting:"提取中",installing:"安装中",upgrading:"升级中",installed:"已安装",created:"已创建",starting:"启动中",running:"运行中",stopping:"停止中",stopped:"已停止",error:"错误",deleting:"删除中",corrupted:"已损坏",purchased:"已购买",purchasing:"购买中...",verifying:"验证中...",unknown:"未知状态"}},dedicatedInstance:{appStatus:{[T.INSTANCE_STATUS.unknown]:"未知",[T.INSTANCE_STATUS.pending]:"待处理",[T.INSTANCE_STATUS.starting]:"启动中",[T.INSTANCE_STATUS.running]:"运行中",[T.INSTANCE_STATUS.restarting]:"重启中",[T.INSTANCE_STATUS.underMaintenance]:"维护中",[T.INSTANCE_STATUS.stopping]:"停止中",[T.INSTANCE_STATUS.stopped]:"已停止",[T.INSTANCE_STATUS.terminatedInstance]:"已终止实例",[T.INSTANCE_STATUS.expired]:"已过期",[T.INSTANCE_STATUS.error]:"错误",[T.INSTANCE_STATUS.waiting]:"等待中",[T.INSTANCE_STATUS.terminated]:"已终止"}},paymentMethod:{[T.PAYMENT_METHODS.crypto]:"加密货币",[T.PAYMENT_METHODS.stripe]:"信用卡",[T.CURRENCY_TYPE.fiat]:"信用卡",[T.CURRENCY_TYPE.crypto]:"加密货币"},launchSession:{installSource:"安装源",status:{[T.LAUNCH_STATUS.created]:"进行中",[T.LAUNCH_STATUS.selected]:"进行中",[T.LAUNCH_STATUS.connected]:"进行中",[T.LAUNCH_STATUS.paid]:"已付款",[T.LAUNCH_STATUS.nftMinted]:"已铸造NFT",[T.LAUNCH_STATUS.allocated]:"已付款",[T.LAUNCH_STATUS.consuming]:"处理中",[T.LAUNCH_STATUS.installed]:"已安装",[T.LAUNCH_STATUS.timeout]:"已超时",[T.LAUNCH_STATUS.pastDue]:"已欠费",canceling:"将要取消",[T.LAUNCH_STATUS.canceled]:"已取消",[T.LAUNCH_STATUS.terminated]:"已终止",[T.LAUNCH_STATUS.transferred]:"已转移",[T.LAUNCH_STATUS.blocked]:"已禁用"},activity:{[T.LAUNCH_ACTIVITY_TYPE.canceled]:"已取消",[T.LAUNCH_ACTIVITY_TYPE.pastDue]:"已欠费",[T.LAUNCH_ACTIVITY_TYPE.terminated]:"已终止",[T.LAUNCH_ACTIVITY_TYPE.transferred]:"已转移"},steps:{create:"创建",paid:"已付款",installed:"已安装"}}});module.exports=t;
1
+ "use strict";const e=require("flat"),T=require("../constant.js"),t=e({common:{app:"Blocklet",billing:"账单",duration:"时长",spaceName:"Blocklet 空间"},serverlessInstance:{appStatus:{added:"已添加",waiting:"等待中",downloading:"下载中",extracting:"提取中",installing:"安装中",upgrading:"升级中",installed:"已安装",created:"已创建",starting:"启动中",running:"运行中",stopping:"停止中",stopped:"已停止",error:"错误",deleting:"删除中",corrupted:"已损坏",purchased:"已购买",purchasing:"购买中...",verifying:"验证中...",unknown:"未知状态"}},dedicatedInstance:{appStatus:{[T.INSTANCE_STATUS.unknown]:"未知",[T.INSTANCE_STATUS.pending]:"待处理",[T.INSTANCE_STATUS.starting]:"启动中",[T.INSTANCE_STATUS.running]:"运行中",[T.INSTANCE_STATUS.restarting]:"重启中",[T.INSTANCE_STATUS.underMaintenance]:"维护中",[T.INSTANCE_STATUS.stopping]:"停止中",[T.INSTANCE_STATUS.stopped]:"已停止",[T.INSTANCE_STATUS.terminatedInstance]:"已终止实例",[T.INSTANCE_STATUS.expired]:"已过期",[T.INSTANCE_STATUS.error]:"错误",[T.INSTANCE_STATUS.waiting]:"等待中",[T.INSTANCE_STATUS.terminated]:"已终止"}},paymentMethod:{[T.PAYMENT_METHODS.crypto]:"加密货币",[T.PAYMENT_METHODS.stripe]:"信用卡",[T.CURRENCY_TYPE.fiat]:"信用卡",[T.CURRENCY_TYPE.crypto]:"加密货币"},launchSession:{installSource:"安装源",status:{[T.LAUNCH_STATUS.created]:"进行中",[T.LAUNCH_STATUS.selected]:"进行中",[T.LAUNCH_STATUS.connected]:"进行中",[T.LAUNCH_STATUS.paid]:"已付款",[T.LAUNCH_STATUS.nftMinted]:"已铸造NFT",[T.LAUNCH_STATUS.allocated]:"已付款",[T.LAUNCH_STATUS.consuming]:"处理中",[T.LAUNCH_STATUS.installed]:"已安装",[T.LAUNCH_STATUS.timeout]:"已超时",[T.LAUNCH_STATUS.pastDue]:"已欠费",canceling:"将要取消",[T.LAUNCH_STATUS.canceled]:"已取消",[T.LAUNCH_STATUS.terminated]:"已终止",[T.LAUNCH_STATUS.transferred]:"已转移",[T.LAUNCH_STATUS.blocked]:"已禁用"},activity:{[T.LAUNCH_ACTIVITY_TYPE.canceled]:"已取消",[T.LAUNCH_ACTIVITY_TYPE.pastDue]:"已欠费",[T.LAUNCH_ACTIVITY_TYPE.terminated]:"已终止",[T.LAUNCH_ACTIVITY_TYPE.transferred]:"已转移"},steps:{create:"创建",paid:"已付款",installed:"已安装"}}});module.exports=t;
package/lib/util.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("moment-timezone");require("moment/locale/zh-cn");const a=require("moment"),l=require("url-join"),g=require("lodash/get"),u=require("./constant.js"),d=t=>{const e=Number(t.slice(0,t.length-1)),r=t[t.length-1];return{value:e,unit:r}},c=({value:t,unit:e},r)=>{Object.keys(u.TIME_LOCALE).includes(r)||(r="en");const n=t>1?`${e}s`:e;return u.TIME_LOCALE[r][n.toLowerCase()]},U=(t,e)=>{if(!t)return"";const{value:r,unit:n}=t;return`${r}${c({value:r,unit:n},e)}`},m=(t,e="en-us",r=Intl.DateTimeFormat().resolvedOptions().timeZone)=>{if(!t)return"";e=e||"en-us",e==="zh"&&(e="zh-cn");try{return a(t).locale(e).tz(r).format("LLL zz")}catch(n){return console.error(`formate date time "${t}" error`,n),""}},y=(t,e="en-us")=>m(t,e,"UTC"),p=(t,e=!0,r=void 0)=>(t||[]).sort((n,i)=>{let o=n,s=i;if(typeof r<"u"&&(o=o[r],s=s[r]),o===s)return 0;const f=e?1:-1;return a(o).diff(a(s))>0?f:-1*f}),L=(t,e)=>t&&t!=="undefined"?{[t]:e}:{createdAt:-1},k=({address:t,type:e="txs",chainHost:r})=>`https://explorer.abtnetwork.io/explorer/${e}/${t}?host=${r}`,D=t=>g(t,"title")||g(t,"name")||"",T=t=>t?l(t,"/.well-known/service/admin/overview"):"#",h=t=>!!t&&new Date(t).getTime()<=Date.now(),A=({baseURL:t,launch:e})=>{const r=new URL(t);return e.status<u.LAUNCH_STATUS.paid?(r.searchParams.set("sessionId",e.id),r.searchParams.set("blocklet_meta_url",e.blockletMetaUrl),r.href):e.status>=u.LAUNCH_STATUS.paid&&e.status<u.LAUNCH_STATUS.consuming?(r.pathname=l(r.pathname,`/launch/${e.id}`),r.searchParams.set("sessionId",e.id),r.searchParams.set("blocklet_meta_url",e.blockletMetaUrl),r.searchParams.set("launchType",e.type),e.from&&r.searchParams.set("from",e.from),r.href):""},B=t=>{const e=(t.get("blocklet_meta_url")||t.get("meta_url")||"").trim();return decodeURIComponent(e)},_=t=>{try{return t?new URL(t).origin:""}catch(e){return console.error("get registry url from blocklet meta url error:",e),""}},v=(t,e)=>e.startsWith("/assets")?e:`/assets/${t}/${e}`,R=({did:t,baseUrl:e,logoPath:r})=>r?r?.startsWith("http")?r:e?.startsWith("http")&&r?l(e,v(t,r)):"":"",C=({did:t,baseUrl:e})=>{try{if(!e||!t)return"";const r=new URL(e);return l(r.origin,`/blocklets/${t}`)}catch(r){return console.error("get registry url from blocklet meta url error:",r),""}},S=()=>a().add(1,"years").unix(),$=({typeName:t,freeTrialProducts:e,currencyId:r})=>{if(!Array.isArray(e))return null;const n=e.find(i=>{const o=i.paymentCurrencies.split(",").map(s=>s.trim()).filter(Boolean);return i.productTypeName===t&&i.isFreeTrial&&o.includes(r)});return n||null},w={formatPeriod:d,prettyDurationUnit:c,prettyDuration:U,formatDatetime:m,formatUtcDatetime:y,isDateExpired:h,sortArrayByDate:p,getSort:L,getExplorerUrl:k,getBlockletDisplayName:D,getBlockletAdminURL:T,getContinueLaunchURL:A,getBlockletMetaUrlFromQuery:B,getRegistryUrlFromBlockletMetaUrl:_,getBlockletLogoUrl:R,getBlockletUrlOnStore:C,getDefaultTrialEnd:S,getProductFreeTrial:$};exports.default=w;exports.formatDatetime=m;exports.formatPeriod=d;exports.formatUtcDatetime=y;exports.getBlockletAdminURL=T;exports.getBlockletDisplayName=D;exports.getBlockletLogoUrl=R;exports.getBlockletMetaUrlFromQuery=B;exports.getBlockletUrlOnStore=C;exports.getContinueLaunchURL=A;exports.getDefaultTrialEnd=S;exports.getExplorerUrl=k;exports.getProductFreeTrial=$;exports.getRegistryUrlFromBlockletMetaUrl=_;exports.getSort=L;exports.isDateExpired=h;exports.prettyDuration=U;exports.prettyDurationUnit=c;exports.sortArrayByDate=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("moment-timezone");require("moment/locale/zh-cn");const m=require("moment"),o=require("ufo"),L=require("lodash/get"),a=require("./constant.js"),y=t=>{const e=Number(t.slice(0,t.length-1)),r=t[t.length-1];return{value:e,unit:r}},g=({value:t,unit:e},r)=>{Object.keys(a.TIME_LOCALE).includes(r)||(r="en");const n=t>1?`${e}s`:e;return a.TIME_LOCALE[r][n.toLowerCase()]},k=(t,e)=>{if(!t)return"";const{value:r,unit:n}=t;return`${r}${g({value:r,unit:n},e)}`},f=(t,e="en-us",r=Intl.DateTimeFormat().resolvedOptions().timeZone)=>{if(!t)return"";e=e||"en-us",e==="zh"&&(e="zh-cn");try{return m(t).locale(e).tz(r).format("LLL zz")}catch(n){return console.error(`formate date time "${t}" error`,n),""}},P=(t,e="en-us")=>f(t,e,"UTC"),D=(t,e=!0,r=void 0)=>(t||[]).sort((n,u)=>{let i=n,s=u;if(typeof r<"u"&&(i=i[r],s=s[r]),i===s)return 0;const U=e?1:-1;return m(i).diff(m(s))>0?U:-1*U}),R=(t,e)=>t&&t!=="undefined"?{[t]:e}:{createdAt:-1},M=({address:t,type:e="txs",chainHost:r})=>`https://explorer.abtnetwork.io/explorer/${e}/${t}?host=${r}`,A=t=>L(t,"title")||L(t,"name")||"",h=t=>t?o.joinURL(t,"/.well-known/service/admin/overview"):"#",B=t=>!!t&&new Date(t).getTime()<=Date.now(),T=({baseURL:t,launch:e})=>{const r=new URL(t);return e.status<a.LAUNCH_STATUS.paid?(r.searchParams.set("sessionId",e.id),r.searchParams.set("blocklet_meta_url",e.blockletMetaUrl),r.href):e.status>=a.LAUNCH_STATUS.paid&&e.status<a.LAUNCH_STATUS.consuming?(r.pathname=o.joinURL(r.pathname,`/launch/${e.id}`),r.searchParams.set("sessionId",e.id),r.searchParams.set("blocklet_meta_url",e.blockletMetaUrl),r.searchParams.set("launchType",e.type),e.from&&r.searchParams.set("from",e.from),r.href):""},b=t=>{const e=(t.get("blocklet_meta_url")||t.get("meta_url")||"").trim();return decodeURIComponent(e)},v=t=>{try{return t?new URL(t).origin:""}catch(e){return console.error("get registry url from blocklet meta url error:",e),""}},q=(t,e)=>e.startsWith("/assets")?e:`/assets/${t}/${e}`,C=({did:t,baseUrl:e,logoPath:r})=>r?r?.startsWith("http")?r:e?.startsWith("http")&&r?o.joinURL(e,q(t,r)):"":"",S=({did:t,baseUrl:e})=>{try{if(!e||!t)return"";const r=new URL(e);return o.joinURL(r.origin,`/blocklets/${t}`)}catch(r){return console.error("get registry url from blocklet meta url error:",r),""}},w=()=>m().add(1,"years").unix(),_=({typeName:t,freeTrialProducts:e,currencyId:r})=>{if(!Array.isArray(e))return null;const n=e.find(u=>{const i=u.paymentCurrencies.split(",").map(s=>s.trim()).filter(Boolean);return u.productTypeName===t&&u.isFreeTrial&&i.includes(r)});return n||null},l=t=>(window.blocklet?.componentMountPoints||[]).find(n=>n.name===t||n.did===t)?.mountPoint||"/",d=t=>{const r=(window.blocklet?.componentMountPoints||[]).find(n=>n.name===t||n.did===t);return r&&r.status==="running"},p=()=>l("z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7"),$=()=>l("z8iZy4P83i6AgnNdNUexsh2kBcsDHoqcwPavn"),j=()=>d("z8iZy4P83i6AgnNdNUexsh2kBcsDHoqcwPavn"),c=()=>l("z2qaCNvKMv5GjouKdcDWexv6WqtHbpNPQDnAk"),N=t=>o.joinURL(window.location.origin,p(),`/u/transfer?transfer_id=${t}`),I=t=>o.joinURL(c(),`/customer/subscription/${t}?source=launcher`),z=t=>o.joinURL(c(),`/customer/invoice/${t}?source=launcher`),E=t=>o.joinURL(c(),`/admin/billing/${t}?source=launcher`),F=()=>o.joinURL(c(),"/customer"),x={formatPeriod:y,prettyDurationUnit:g,prettyDuration:k,formatDatetime:f,formatUtcDatetime:P,isDateExpired:B,sortArrayByDate:D,getSort:R,getExplorerUrl:M,getBlockletDisplayName:A,getBlockletAdminURL:h,getContinueLaunchURL:T,getBlockletMetaUrlFromQuery:b,getRegistryUrlFromBlockletMetaUrl:v,getBlockletLogoUrl:C,getBlockletUrlOnStore:S,getDefaultTrialEnd:w,getProductFreeTrial:_,getComponentMountPoint:l,isComponentRunning:d,getBaseURL:p,getPaymentKitMountPoint:c,getTransferAbsoluteURL:N,getSubscriptionLink:I,getInvoiceLink:z,getAdminSubscriptionLink:E,getPaymentCustomerLink:F,getDIDPayMountPoint:$,isDIDPayRunning:j};exports.default=x;exports.formatDatetime=f;exports.formatPeriod=y;exports.formatUtcDatetime=P;exports.getAdminSubscriptionLink=E;exports.getBaseURL=p;exports.getBlockletAdminURL=h;exports.getBlockletDisplayName=A;exports.getBlockletLogoUrl=C;exports.getBlockletMetaUrlFromQuery=b;exports.getBlockletUrlOnStore=S;exports.getComponentMountPoint=l;exports.getContinueLaunchURL=T;exports.getDIDPayMountPoint=$;exports.getDefaultTrialEnd=w;exports.getExplorerUrl=M;exports.getInvoiceLink=z;exports.getPaymentCustomerLink=F;exports.getPaymentKitMountPoint=c;exports.getProductFreeTrial=_;exports.getRegistryUrlFromBlockletMetaUrl=v;exports.getSort=R;exports.getSubscriptionLink=I;exports.getTransferAbsoluteURL=N;exports.isComponentRunning=d;exports.isDIDPayRunning=j;exports.isDateExpired=B;exports.prettyDuration=k;exports.prettyDurationUnit=g;exports.sortArrayByDate=D;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/launcher-util",
3
- "version": "2.4.4",
3
+ "version": "2.4.6",
4
4
  "description": "Common constants",
5
5
  "keywords": [
6
6
  "constant"
@@ -35,15 +35,15 @@
35
35
  "url": "https://github.com/blocklet/launcher/issues"
36
36
  },
37
37
  "dependencies": {
38
- "@blocklet/js-sdk": "1.16.45",
39
- "@blocklet/sdk": "1.16.45",
40
- "@ocap/util": "^1.20.15",
38
+ "@blocklet/js-sdk": "1.16.46",
39
+ "@blocklet/sdk": "1.16.46",
40
+ "@ocap/util": "^1.21.0",
41
41
  "axios": "^1.10.0",
42
42
  "flat": "^5.0.2",
43
43
  "lodash": "^4.17.21",
44
44
  "moment": "^2.30.1",
45
45
  "moment-timezone": "^0.5.48",
46
- "url-join": "^4.0.1"
46
+ "ufo": "^1.6.1"
47
47
  },
48
48
  "devDependencies": {
49
49
  "fast-glob": "^3.3.3",
@@ -51,5 +51,5 @@
51
51
  "vite-plugin-build": "^0.10.0",
52
52
  "vite-plugin-no-bundle": "^4.0.0"
53
53
  },
54
- "gitHead": "ce30f9ab5081e5a33dc8b2d617921807cb92c263"
54
+ "gitHead": "3359a9411980cfc80bc9c314bab5fd4c357926e3"
55
55
  }