@ztimson/momentum 1.5.3 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics.d.ts +22 -29
- package/dist/analytics.d.ts.map +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/client.d.ts +19 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/data.d.ts +1 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/index.js +124 -65
- package/dist/index.mjs +124 -65
- package/dist/momentum.worker.mjs +52 -88
- package/dist/notifications.d.ts.map +1 -1
- package/dist/routes.d.ts +5 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/storage.d.ts +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/analytics.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export type AnalyticInfo = Meta & {
|
|
|
53
53
|
};
|
|
54
54
|
/** originating IP */
|
|
55
55
|
readonly ip?: string;
|
|
56
|
+
/** Anonymous token */
|
|
56
57
|
/** System language */
|
|
57
58
|
readonly lang?: string;
|
|
58
59
|
/** JavaScript heap size */
|
|
@@ -84,7 +85,7 @@ export type AnalyticInfo = Meta & {
|
|
|
84
85
|
/** Screen resolution */
|
|
85
86
|
readonly res?: number[];
|
|
86
87
|
/** IP Trace */
|
|
87
|
-
readonly trace?: IpTrace
|
|
88
|
+
readonly trace?: Omit<IpTrace, 'ip' | 'timezone'>;
|
|
88
89
|
/** Timezone offset */
|
|
89
90
|
readonly tz?: string;
|
|
90
91
|
/** Original user agent string */
|
|
@@ -92,53 +93,45 @@ export type AnalyticInfo = Meta & {
|
|
|
92
93
|
};
|
|
93
94
|
export type IpTrace = {
|
|
94
95
|
/** Ip trace target */
|
|
95
|
-
readonly
|
|
96
|
-
/**
|
|
97
|
-
readonly
|
|
98
|
-
/** Geolocated continent */
|
|
99
|
-
readonly continent: string;
|
|
100
|
-
/** Geolocated continent shortcode */
|
|
101
|
-
readonly continentCode: string;
|
|
96
|
+
readonly ip: string;
|
|
97
|
+
/** Timezone */
|
|
98
|
+
readonly timezone: string;
|
|
102
99
|
/** Geolocated country */
|
|
103
100
|
readonly country: string;
|
|
104
101
|
/** Geolocated country shortcode */
|
|
105
|
-
readonly countryCode: string;
|
|
106
|
-
/** Geolocated country region shortcode */
|
|
107
102
|
readonly region: string;
|
|
108
|
-
/** Geolocated country region */
|
|
109
|
-
readonly regionName: string;
|
|
110
103
|
/** Geolocated city */
|
|
111
104
|
readonly city: string;
|
|
112
|
-
/** Geolocated city district/suburb */
|
|
113
|
-
readonly district: string;
|
|
114
105
|
/** Geolocated postal code/zip */
|
|
115
106
|
readonly zip: string;
|
|
116
107
|
/** Geolocated latitude */
|
|
117
108
|
readonly lat: number;
|
|
118
109
|
/** Geolocated longitude */
|
|
119
110
|
readonly lon: number;
|
|
120
|
-
/**
|
|
121
|
-
readonly
|
|
122
|
-
/** Geolocated timezone offset */
|
|
123
|
-
readonly offset: number;
|
|
124
|
-
/** Geolocated currency */
|
|
125
|
-
readonly currency: string;
|
|
111
|
+
/** Trace accuracy */
|
|
112
|
+
readonly accuracy: number;
|
|
126
113
|
/** Address provider */
|
|
127
114
|
readonly isp: string;
|
|
128
115
|
/** Registered organization */
|
|
129
116
|
readonly org: string;
|
|
130
|
-
/** AS
|
|
117
|
+
/** AS Registration */
|
|
131
118
|
readonly as: string;
|
|
132
|
-
/** AS organization */
|
|
133
|
-
readonly asname: string;
|
|
134
119
|
/** Cellular network */
|
|
135
120
|
readonly mobile: boolean;
|
|
136
|
-
/** Known
|
|
137
|
-
readonly
|
|
138
|
-
/**
|
|
139
|
-
readonly
|
|
140
|
-
/**
|
|
141
|
-
readonly
|
|
121
|
+
/** Known datacenter */
|
|
122
|
+
readonly datacenter: boolean;
|
|
123
|
+
/** Using TOR network */
|
|
124
|
+
readonly tor: boolean;
|
|
125
|
+
/** Using known VPN */
|
|
126
|
+
readonly vpn: boolean;
|
|
127
|
+
/** Malicious IP */
|
|
128
|
+
readonly naughty: boolean;
|
|
129
|
+
/** Forward Confirmed Reverse DNS */
|
|
130
|
+
readonly fcrdns: boolean;
|
|
131
|
+
/** PTR hostname */
|
|
132
|
+
readonly hostname: string;
|
|
133
|
+
/** Registry Unique ID */
|
|
134
|
+
readonly rdapHandle: string;
|
|
142
135
|
};
|
|
143
136
|
/** Analytics metric */
|
|
144
137
|
export type Metric<T = any> = {
|
package/dist/analytics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IACjC,wBAAwB;IACxB,QAAQ,CAAC,UAAU,EAAE;QACpB,kEAAkE;QAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,8DAA8D;QAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,8BAA8B;QAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,mDAAmD;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,mDAAmD;QACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE;QACjB,mBAAmB;QACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB;QACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,4BAA4B;QAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACvB,CAAC;IACF,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE;QACb,uBAAuB;QACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QAC9B,yBAAyB;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACpC,CAAC;IACF,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE;QAChB,mCAAmC;QACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,mBAAmB;QACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB;QAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE;QAChB,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,qBAAqB;QACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC;IACF,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC1C,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,EAAE;QACZ,cAAc;QACd,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB;QACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC;IACF,mBAAmB;IACnB,QAAQ,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAC,EAAE,CAAC;IAC5F,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,cAAc;IACd,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe;IACf,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IACjC,wBAAwB;IACxB,QAAQ,CAAC,UAAU,EAAE;QACpB,kEAAkE;QAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,8DAA8D;QAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,8BAA8B;QAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,mDAAmD;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,mDAAmD;QACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE;QACjB,mBAAmB;QACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB;QACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,4BAA4B;QAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACvB,CAAC;IACF,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE;QACb,uBAAuB;QACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QAC9B,yBAAyB;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACpC,CAAC;IACF,yBAAyB;IACzB,QAAQ,CAAC,MAAM,EAAE;QAChB,mCAAmC;QACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,mBAAmB;QACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB;QAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE;QAChB,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,qBAAqB;QACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC;IACF,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IAEtB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC1C,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,EAAE;QACZ,cAAc;QACd,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB;QACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KACzB,CAAC;IACF,mBAAmB;IACnB,QAAQ,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAC,EAAE,CAAC;IAC5F,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,cAAc;IACd,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe;IACf,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;IAClD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACrB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,uBAAuB;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,mBAAmB;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC5B,CAAA;AAED,uBAAuB;AACvB,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI;IAC7B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,KAAK,EAAE,CAAC,CAAC;IACT,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CAC3D,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACd,CAAA;AAED,oCAAoC;AACpC,qBAAa,SAAU,SAAQ,eAAe,CAAC,YAAY,CAAC;IA0C/C,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAzCxC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAC,CAAkB;IACjC,QAAQ,CAAC,KAAK,gBAA+C;IAE7D,OAAO,CAAC,YAAY,CAAuE;IAC3F,WAAW,EAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnC,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,QAAQ,CAAC,SAAS,mBAAsD;IAExE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,OAAO,IACQ,OAAO,GAAG,SAAS,CADC;IACvC,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAarC;IAED,OAAO,CAAC,GAAG,CAAU;IACrB,IAAI,EAAE,IACK,MAAM,CADY;IAC7B,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAKhB;IAED,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,KAAK,GAAG,QAAmC;IAClD,IAAI,GAAG,IADc,OAAO,CACG;gBAET,QAAQ,EAAE,QAAQ;IA8DxC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,iBAAiB;YA0BX,IAAI;IAiCZ,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM;IAqB9B,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxD,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAehE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvF,IAAI,CAAC,IAAI,GAAE,MAAsB,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAWvE"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -36,8 +36,8 @@ export declare class Auth extends PathEventEmitter {
|
|
|
36
36
|
* 4. Handle redirects/events
|
|
37
37
|
* @param {boolean | string} reload - Perform redirect (string) or reload (true) on success
|
|
38
38
|
*/
|
|
39
|
-
handleLogin(redirect: string): Promise<SessionData | null>;
|
|
40
39
|
handleLogin(reload?: boolean): Promise<SessionData | null>;
|
|
40
|
+
handleLogin(redirect: string): Promise<SessionData | null>;
|
|
41
41
|
/**
|
|
42
42
|
* Check if origin is recognized & whitelisted
|
|
43
43
|
* @param {string} host Origin to check
|
|
@@ -69,8 +69,8 @@ export declare class Auth extends PathEventEmitter {
|
|
|
69
69
|
* Logout current user
|
|
70
70
|
* @param {boolean | string} reload - Perform redirect (string) or reload (true) on logout
|
|
71
71
|
*/
|
|
72
|
-
logout(redirect: string): Promise<void>;
|
|
73
72
|
logout(reload?: boolean): Promise<void>;
|
|
73
|
+
logout(redirect: string): Promise<void>;
|
|
74
74
|
/**
|
|
75
75
|
* Create a new user with login
|
|
76
76
|
* @param {Partial<User> & {password: string}} user User data with password
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG;IACzB,iBAAiB;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB;IACnB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,6BAA6B;IAC7B,MAAM,EAAE,GAAG,CAAC;IACZ,wBAAwB;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oCAAoC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,iCAAiC;AACjC,qBAAa,IAAK,SAAQ,gBAAgB;IAmB7B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAlBxC,sBAAsB;IACf,IAAI,EAAG,IAAI,CAAC;IAEnB,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAE7B,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,yDAAyD;IACzD,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAAuB;IAC1D,oDAAoD;IACpD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAOrC;gBAEqB,QAAQ,EAAE,QAAQ;IAiBxC;;;;;;;OAOG;IACG,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Momentum } from './momentum';
|
|
2
2
|
import { PathEventEmitter } from './core';
|
|
3
|
+
export type MetaTag = {
|
|
4
|
+
tag: 'meta';
|
|
5
|
+
attrs: Record<string, string>;
|
|
6
|
+
} | {
|
|
7
|
+
tag: 'link';
|
|
8
|
+
attrs: Record<string, string>;
|
|
9
|
+
};
|
|
3
10
|
export type Platform = 'windows' | 'android' | 'ios' | 'mac' | 'linux' | 'unknown';
|
|
4
11
|
export type Theme = {
|
|
5
12
|
background: string;
|
|
@@ -55,6 +62,17 @@ export declare class Client extends PathEventEmitter {
|
|
|
55
62
|
get platform(): Platform;
|
|
56
63
|
get storage(): boolean;
|
|
57
64
|
constructor(momentum: Momentum);
|
|
65
|
+
/**
|
|
66
|
+
* Build the isomorphic list of SEO/meta/link tags shared by the client (DOM) & server (SSR)
|
|
67
|
+
* @param settings Settings map: title, description, theme, public_url, modules, locale
|
|
68
|
+
* @param opts canonicalPath - adds a <link rel="canonical">; assetBaseUrl - base for favicon/manifest (client uses momentum.url, server uses public_url)
|
|
69
|
+
*/
|
|
70
|
+
static metaTags(settings: any, opts?: {
|
|
71
|
+
canonicalPath?: string;
|
|
72
|
+
assetBaseUrl?: string;
|
|
73
|
+
}): MetaTag[];
|
|
74
|
+
/** Render meta tags to an HTML string (SSR) */
|
|
75
|
+
static renderMetaTags(tags: MetaTag[]): string;
|
|
58
76
|
static theme(setting: any, css: true): string;
|
|
59
77
|
static theme(setting: any, css?: false): Theme;
|
|
60
78
|
/**
|
|
@@ -65,6 +83,7 @@ export declare class Client extends PathEventEmitter {
|
|
|
65
83
|
inject(opts?: {
|
|
66
84
|
install?: boolean;
|
|
67
85
|
reload?: boolean;
|
|
86
|
+
canonicalPath?: string;
|
|
68
87
|
}): Promise<{
|
|
69
88
|
[key: string]: any;
|
|
70
89
|
}>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAM,MAAM,QAAQ,CAAA;AAE5C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnF,MAAM,MAAM,KAAK,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,CAAA;AAED,6BAA6B;AAC7B,qBAAa,MAAO,SAAQ,gBAAgB;IAqE/B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IApExC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,SAAS,IAAI,SAAS,GAAG,OAAO,GAAG,KAAK,CAAiC;IAC7E,IAAI,YAAY,IAAI,MAAM,CAA+B;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAYnC;IAEH,oCAAoC;IACpC,IAAI,UAAU,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/data.d.ts
CHANGED
|
@@ -94,9 +94,9 @@ export declare class Data extends PathEventEmitter {
|
|
|
94
94
|
* @param {DeleteOptions} options Delete options
|
|
95
95
|
* @return {Promise<number[]>} Array of deleted document IDs
|
|
96
96
|
*/
|
|
97
|
+
delete<T>(collection: string, filter: Filter<T>, options?: DeleteOptions): Promise<number[]>;
|
|
97
98
|
delete(collection: string, id: number, options?: DeleteOptions): Promise<number[]>;
|
|
98
99
|
delete(collection: string, ids: number[], options?: DeleteOptions): Promise<number[]>;
|
|
99
|
-
delete<T>(collection: string, filter: Filter<T>, options?: DeleteOptions): Promise<number[]>;
|
|
100
100
|
/**
|
|
101
101
|
* Execute raw MongoDB query
|
|
102
102
|
* @param {string} collection Target collection name
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -669,7 +669,7 @@
|
|
|
669
669
|
}
|
|
670
670
|
function dayOfYear(date) {
|
|
671
671
|
const start = new Date(Date.UTC(date.getUTCFullYear(), 0, 1));
|
|
672
|
-
return Math.ceil((date.getTime() - start.getTime()) /
|
|
672
|
+
return Math.ceil((date.getTime() - start.getTime()) / 864e5);
|
|
673
673
|
}
|
|
674
674
|
function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz = "local") {
|
|
675
675
|
if (typeof date === "number" || typeof date === "string") date = new Date(date);
|
|
@@ -1725,10 +1725,11 @@
|
|
|
1725
1725
|
on(event, listener) {
|
|
1726
1726
|
makeArray(event).forEach((e) => {
|
|
1727
1727
|
let fullEvent;
|
|
1728
|
-
if (typeof e === "string")
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1728
|
+
if (typeof e === "string") {
|
|
1729
|
+
if (e[0] === ":" && this.prefix) fullEvent = `${this.prefix}${e}`;
|
|
1730
|
+
else if (this.prefix) fullEvent = `${this.prefix}/${e}`;
|
|
1731
|
+
else fullEvent = e;
|
|
1732
|
+
} else fullEvent = e instanceof PathEvent ? PathEvent.toString(e.fullPath, e.methods) : e;
|
|
1732
1733
|
this.listeners.push([new PathEvent(fullEvent), listener]);
|
|
1733
1734
|
});
|
|
1734
1735
|
return () => this.off(listener);
|
|
@@ -2479,7 +2480,7 @@
|
|
|
2479
2480
|
if (!date) return true;
|
|
2480
2481
|
if (date == "true") return false;
|
|
2481
2482
|
if (typeof date != "object") date = new Date(date);
|
|
2482
|
-
return Date.now() - date.getTime() >=
|
|
2483
|
+
return Date.now() - date.getTime() >= 2592e6;
|
|
2483
2484
|
}
|
|
2484
2485
|
collectNavigationMetrics() {
|
|
2485
2486
|
return new Promise((res) => {
|
|
@@ -2559,7 +2560,7 @@
|
|
|
2559
2560
|
async consentPrompt(content) {
|
|
2560
2561
|
const settings = await this.momentum.settings.map();
|
|
2561
2562
|
const { close, dialog, result } = createDialog(`
|
|
2562
|
-
<div style="margin: 1rem; text-align: center">${content || `<p style="margin: 0;">This website uses cookies to improve your experience. ${settings.privacy_policy_url ? `For more information, please read our <a href="${this.momentum.url}${settings.privacy_policy_url}" target="_blank">Privacy Policy</a>.` : ""}</p>`}</div>
|
|
2563
|
+
<div style="margin: 1rem; text-align: center;">${content || `<p style="margin: 0; color: black;">This website uses cookies to improve your experience. ${settings.privacy_policy_url ? `For more information, please read our <a href="${this.momentum.url}${settings.privacy_policy_url}" target="_blank">Privacy Policy</a>.` : ""}</p>`}</div>
|
|
2563
2564
|
<div style="display: flex; gap: 10px">
|
|
2564
2565
|
<button class="agree btn btn-primary" >Agree</button>
|
|
2565
2566
|
<button class="decline btn">Essential Only</button>
|
|
@@ -2582,8 +2583,8 @@
|
|
|
2582
2583
|
async speedTest(format = false, bytes) {
|
|
2583
2584
|
let bps = 0;
|
|
2584
2585
|
if (!bytes) {
|
|
2585
|
-
bps = await this.speedTest(false,
|
|
2586
|
-
if (bps >
|
|
2586
|
+
bps = await this.speedTest(false, 1048576);
|
|
2587
|
+
if (bps > 10485760) bps = await this.speedTest(false, 20971520);
|
|
2587
2588
|
} else {
|
|
2588
2589
|
const start = performance.now();
|
|
2589
2590
|
await this.momentum.api.request({ url: `api/tools/dummy-file?size=${bytes}` });
|
|
@@ -2646,8 +2647,10 @@
|
|
|
2646
2647
|
this._token = token;
|
|
2647
2648
|
if (this.momentum.opts.credentialsStrategy == "auto" && !this.sameOrigin || this.momentum.opts.credentialsStrategy == "header") {
|
|
2648
2649
|
this.headers["Authorization"] = this._token ? `Bearer ${this._token}` : null;
|
|
2649
|
-
if (this.momentum.opts.persist && typeof localStorage != "undefined")
|
|
2650
|
-
|
|
2650
|
+
if (this.momentum.opts.persist && typeof localStorage != "undefined") {
|
|
2651
|
+
if (this._token) localStorage.setItem(this.storageKey, this._token);
|
|
2652
|
+
else localStorage.removeItem(this.storageKey);
|
|
2653
|
+
}
|
|
2651
2654
|
}
|
|
2652
2655
|
this.emit(`token:${token ? "c" : "d"}`, this._token);
|
|
2653
2656
|
}
|
|
@@ -2875,7 +2878,7 @@
|
|
|
2875
2878
|
s = await this.loginRedirect();
|
|
2876
2879
|
if (!!s && reload) {
|
|
2877
2880
|
if (typeof reload == "string") location.href = reload;
|
|
2878
|
-
location.reload();
|
|
2881
|
+
else location.reload();
|
|
2879
2882
|
}
|
|
2880
2883
|
}
|
|
2881
2884
|
return this.session || null;
|
|
@@ -2950,7 +2953,7 @@
|
|
|
2950
2953
|
});
|
|
2951
2954
|
if (reload) {
|
|
2952
2955
|
if (typeof reload == "string") location.href = reload;
|
|
2953
|
-
location.reload();
|
|
2956
|
+
else location.reload();
|
|
2954
2957
|
return;
|
|
2955
2958
|
}
|
|
2956
2959
|
this.momentum.api.token = this.session = this.user = null;
|
|
@@ -3250,7 +3253,7 @@
|
|
|
3250
3253
|
});
|
|
3251
3254
|
/** Check if PWA can be installed */
|
|
3252
3255
|
get canInstall() {
|
|
3253
|
-
return !!this.nativePwaPrompt;
|
|
3256
|
+
return !!this.nativePwaPrompt && !this.isApp && !this.isHeadless;
|
|
3254
3257
|
}
|
|
3255
3258
|
/** Running inside a container */
|
|
3256
3259
|
get isApp() {
|
|
@@ -3306,7 +3309,7 @@
|
|
|
3306
3309
|
window.addEventListener("beforeinstallprompt", (event) => {
|
|
3307
3310
|
event.preventDefault();
|
|
3308
3311
|
this.nativePwaPrompt = event;
|
|
3309
|
-
this.emit("install:r");
|
|
3312
|
+
this.emit("install:r", true);
|
|
3310
3313
|
});
|
|
3311
3314
|
if (this.storage && sessionStorage.getItem(`${this.momentum.url.host}:speed`)) this.speed = Promise.resolve(+sessionStorage.getItem(`${this.momentum.url.host}:speed`));
|
|
3312
3315
|
else this.speed = new Promise((res) => {
|
|
@@ -3314,6 +3317,66 @@
|
|
|
3314
3317
|
});
|
|
3315
3318
|
}
|
|
3316
3319
|
}
|
|
3320
|
+
/**
|
|
3321
|
+
* Build the isomorphic list of SEO/meta/link tags shared by the client (DOM) & server (SSR)
|
|
3322
|
+
* @param settings Settings map: title, description, theme, public_url, modules, locale
|
|
3323
|
+
* @param opts canonicalPath - adds a <link rel="canonical">; assetBaseUrl - base for favicon/manifest (client uses momentum.url, server uses public_url)
|
|
3324
|
+
*/
|
|
3325
|
+
static metaTags(settings, opts = {}) {
|
|
3326
|
+
const base = settings.public_url;
|
|
3327
|
+
const assetBase = opts.assetBaseUrl ?? base;
|
|
3328
|
+
const banner = `${base}/banner.png?size=1200x630`;
|
|
3329
|
+
const favicon = `${base}/favicon.png`;
|
|
3330
|
+
const assetFavicon = `${assetBase}/favicon.png`;
|
|
3331
|
+
const tags = [];
|
|
3332
|
+
const meta = (key, name, content) => content != null && tags.push({
|
|
3333
|
+
tag: "meta",
|
|
3334
|
+
attrs: {
|
|
3335
|
+
[key]: name,
|
|
3336
|
+
content
|
|
3337
|
+
}
|
|
3338
|
+
});
|
|
3339
|
+
const link = (rel, href) => href && tags.push({
|
|
3340
|
+
tag: "link",
|
|
3341
|
+
attrs: {
|
|
3342
|
+
rel,
|
|
3343
|
+
href
|
|
3344
|
+
}
|
|
3345
|
+
});
|
|
3346
|
+
if (opts.canonicalPath != null) link("canonical", `${base}${opts.canonicalPath.startsWith("/") ? "" : "/"}${opts.canonicalPath}`);
|
|
3347
|
+
meta("name", "author", "Built with Momentum");
|
|
3348
|
+
meta("name", "description", settings.description);
|
|
3349
|
+
meta("name", "theme-color", settings.theme?.background);
|
|
3350
|
+
meta("property", "og:title", settings.title);
|
|
3351
|
+
meta("property", "og:description", settings.description);
|
|
3352
|
+
meta("property", "og:image", banner);
|
|
3353
|
+
meta("property", "og:image:width", "1200");
|
|
3354
|
+
meta("property", "og:image:height", "630");
|
|
3355
|
+
meta("property", "og:image:alt", settings.title);
|
|
3356
|
+
meta("property", "og:logo", `${base}/favicon.png?size=180`);
|
|
3357
|
+
meta("property", "og:url", base);
|
|
3358
|
+
meta("property", "og:site_name", "Momentum");
|
|
3359
|
+
meta("property", "og:type", "website");
|
|
3360
|
+
meta("property", "og:locale", settings.locale || "en_US");
|
|
3361
|
+
meta("name", "twitter:card", "summary_large_image");
|
|
3362
|
+
meta("name", "twitter:title", settings.title);
|
|
3363
|
+
meta("name", "twitter:description", settings.description);
|
|
3364
|
+
meta("name", "twitter:image", banner);
|
|
3365
|
+
link("icon", favicon);
|
|
3366
|
+
link("apple-touch-icon", assetFavicon);
|
|
3367
|
+
if (settings.modules?.pwa) {
|
|
3368
|
+
meta("name", "mobile-web-app-capable", "yes");
|
|
3369
|
+
meta("name", "apple-mobile-web-app-status-bar-style", "default");
|
|
3370
|
+
meta("name", "apple-mobile-web-app-title", settings.title);
|
|
3371
|
+
link("apple-touch-startup-image", assetFavicon);
|
|
3372
|
+
link("manifest", `${assetBase}/manifest.json`);
|
|
3373
|
+
}
|
|
3374
|
+
return tags;
|
|
3375
|
+
}
|
|
3376
|
+
/** Render meta tags to an HTML string (SSR) */
|
|
3377
|
+
static renderMetaTags(tags) {
|
|
3378
|
+
return tags.map((t) => `<${t.tag} ${Object.entries(t.attrs).map(([k, v]) => `${k}="${v}"`).join(" ")}>`).join("\n");
|
|
3379
|
+
}
|
|
3317
3380
|
static theme(setting, css = false) {
|
|
3318
3381
|
const t = {
|
|
3319
3382
|
background: setting?.background,
|
|
@@ -3373,14 +3436,6 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3373
3436
|
[k]: v.value
|
|
3374
3437
|
}), {});
|
|
3375
3438
|
} else settings = await this.momentum.settings.map(opts.reload);
|
|
3376
|
-
const meta = (key, name, value) => {
|
|
3377
|
-
const exists = document.querySelector(`meta[${key}="${name}"]`);
|
|
3378
|
-
if (value === void 0 || exists) return exists;
|
|
3379
|
-
const meta = document.createElement("meta");
|
|
3380
|
-
meta.setAttribute(key, name);
|
|
3381
|
-
meta.content = value;
|
|
3382
|
-
document.head.append(meta);
|
|
3383
|
-
};
|
|
3384
3439
|
document.querySelectorAll(".momentum-logo").forEach((el) => {
|
|
3385
3440
|
const size = el.src ? /[?&]size="?(.+)(?:"|&|$)/.exec(el.src) : null;
|
|
3386
3441
|
el.src = `${this.momentum.url.toString()}favicon.png${size ? `?size=${size[1]}` : ""}`;
|
|
@@ -3391,35 +3446,35 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3391
3446
|
else if (keys[1] == "contact" && el.tagName == "A") el.href = `mailto:${settings.contact}?subject=${settings.title} - ${document.title.split("|")[0]}`;
|
|
3392
3447
|
el.innerText = keys[2] ? dotNotation(settings[keys[1]], keys[2]) : settings[keys[1]];
|
|
3393
3448
|
});
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3449
|
+
Client.metaTags(settings, {
|
|
3450
|
+
canonicalPath: opts.canonicalPath,
|
|
3451
|
+
assetBaseUrl: this.momentum.url.toString().replace(/\/$/, "")
|
|
3452
|
+
}).forEach((t) => {
|
|
3453
|
+
if (t.tag == "meta") {
|
|
3454
|
+
const key = t.attrs.name ? "name" : "property";
|
|
3455
|
+
const name = t.attrs[key];
|
|
3456
|
+
let el = document.querySelector(`meta[${key}="${name}"]`);
|
|
3457
|
+
if (!el) {
|
|
3458
|
+
el = document.createElement("meta");
|
|
3459
|
+
el.setAttribute(key, name);
|
|
3460
|
+
document.head.append(el);
|
|
3461
|
+
}
|
|
3462
|
+
el.setAttribute("content", t.attrs.content);
|
|
3463
|
+
} else {
|
|
3464
|
+
let el = document.querySelector(`link[rel="${t.attrs.rel}"]`);
|
|
3465
|
+
if (!el) {
|
|
3466
|
+
el = document.createElement("link");
|
|
3467
|
+
el.setAttribute("rel", t.attrs.rel);
|
|
3468
|
+
document.head.append(el);
|
|
3469
|
+
}
|
|
3470
|
+
el.setAttribute("href", t.attrs.href);
|
|
3415
3471
|
}
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
}
|
|
3422
|
-
meta("name", "theme-color", settings["theme"]?.background);
|
|
3472
|
+
});
|
|
3473
|
+
if (settings.modules?.["pwa"] && opts.install !== false && !this.installTimeout && this.canInstall) this.installTimeout = setTimeout(async () => {
|
|
3474
|
+
this.installTimeout = null;
|
|
3475
|
+
const dismissed = localStorage.getItem(`momentum:install`);
|
|
3476
|
+
if (!dismissed || dismissed != "true" && Date.now() - new Date(dismissed).getTime() > 864e5 * this.momentum.opts.installPrompt.retry) this.install();
|
|
3477
|
+
}, 6e4 * this.momentum.opts.installPrompt.delay);
|
|
3423
3478
|
if (!document.body.classList.contains("theme-manual")) {
|
|
3424
3479
|
document.body.classList.add(settings["theme"]?.darkMode ? "theme-dark" : "theme-light");
|
|
3425
3480
|
document.body.classList.remove(!settings["theme"]?.darkMode ? "theme-dark" : "theme-light");
|
|
@@ -3626,9 +3681,10 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3626
3681
|
}
|
|
3627
3682
|
}).then((resp) => {
|
|
3628
3683
|
if (!resp) return null;
|
|
3629
|
-
if (Array.isArray(resp))
|
|
3630
|
-
|
|
3631
|
-
|
|
3684
|
+
if (Array.isArray(resp)) {
|
|
3685
|
+
if (!q && !options?.limit) this.emit(PES`data/${collection}:r`, collection, resp);
|
|
3686
|
+
else resp.forEach((r) => this.emit(PES`data/${collection}/${r._id}:r`, collection, resp));
|
|
3687
|
+
} else this.emit(PES`data/${collection}/${resp._id}:r`, collection, resp);
|
|
3632
3688
|
return resp;
|
|
3633
3689
|
});
|
|
3634
3690
|
}
|
|
@@ -3818,12 +3874,13 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3818
3874
|
if (typeof window != "undefined") window.addEventListener("unhandledrejection", async (event) => {
|
|
3819
3875
|
let log = event.reason?.stack || event.reason;
|
|
3820
3876
|
if (event.reason?.url) log = `${event.reason.method} ${event.reason.url} -> ${event.reason.code}\n\n${log}`;
|
|
3821
|
-
if (event.reason?.code == null || event.reason?.code >= 500)
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3877
|
+
if (event.reason?.code == null || event.reason?.code >= 500) {
|
|
3878
|
+
if (LOG_LEVEL[this.logLevel] >= 0) this.error(log);
|
|
3879
|
+
else {
|
|
3880
|
+
this.logs.push(this.buildLog(LOG_LEVEL.ERROR, log));
|
|
3881
|
+
this.emit(`local/error:c`, this.logs);
|
|
3882
|
+
}
|
|
3883
|
+
} else if (LOG_LEVEL[this.logLevel] >= 1) this.warn(log);
|
|
3827
3884
|
else {
|
|
3828
3885
|
this.logs.push(this.buildLog(LOG_LEVEL.WARN, log));
|
|
3829
3886
|
this.emit(`local/warn:c`, this.logs);
|
|
@@ -4186,7 +4243,7 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
4186
4243
|
*/
|
|
4187
4244
|
getToken(id) {
|
|
4188
4245
|
return this.momentum.api.request({
|
|
4189
|
-
url:
|
|
4246
|
+
url: this.momentum.url.origin + `/api/transactions/init/${id || ""}`,
|
|
4190
4247
|
method: "POST"
|
|
4191
4248
|
}).then((resp) => resp.token);
|
|
4192
4249
|
}
|
|
@@ -4255,7 +4312,7 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
4255
4312
|
* @returns {string} URL
|
|
4256
4313
|
*/
|
|
4257
4314
|
checkoutUrl(id) {
|
|
4258
|
-
return encodeURI(`${this.momentum.opts.checkoutUrl}?
|
|
4315
|
+
return encodeURI(`${this.momentum.opts.checkoutUrl}?transaction=${id}`);
|
|
4259
4316
|
}
|
|
4260
4317
|
async delete(key) {
|
|
4261
4318
|
throw new Error("Not supported");
|
|
@@ -4565,8 +4622,10 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
4565
4622
|
this.cache.values().forEach((meta) => {
|
|
4566
4623
|
if (meta?.children && event.path == meta.path) meta.children = [...meta.children.filter((c) => c.path != event.name), payload.name];
|
|
4567
4624
|
});
|
|
4568
|
-
} else if (event.delete || payload == null)
|
|
4569
|
-
|
|
4625
|
+
} else if (event.delete || payload == null) {
|
|
4626
|
+
if (!event.path) return this.cache.clear();
|
|
4627
|
+
else this.cache.delete(event.path);
|
|
4628
|
+
}
|
|
4570
4629
|
});
|
|
4571
4630
|
}
|
|
4572
4631
|
/**
|
|
@@ -4893,7 +4952,7 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
4893
4952
|
};
|
|
4894
4953
|
//#endregion
|
|
4895
4954
|
//#region package.json
|
|
4896
|
-
var version = "1.5.
|
|
4955
|
+
var version = "1.5.5";
|
|
4897
4956
|
//#endregion
|
|
4898
4957
|
//#region src/webRtc.ts
|
|
4899
4958
|
var WebRtc = class extends PathEventEmitter {
|
package/dist/index.mjs
CHANGED
|
@@ -665,7 +665,7 @@ function dayOfWeek(d) {
|
|
|
665
665
|
}
|
|
666
666
|
function dayOfYear(date) {
|
|
667
667
|
const start = new Date(Date.UTC(date.getUTCFullYear(), 0, 1));
|
|
668
|
-
return Math.ceil((date.getTime() - start.getTime()) /
|
|
668
|
+
return Math.ceil((date.getTime() - start.getTime()) / 864e5);
|
|
669
669
|
}
|
|
670
670
|
function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz = "local") {
|
|
671
671
|
if (typeof date === "number" || typeof date === "string") date = new Date(date);
|
|
@@ -1721,10 +1721,11 @@ var PathEventEmitter = class {
|
|
|
1721
1721
|
on(event, listener) {
|
|
1722
1722
|
makeArray(event).forEach((e) => {
|
|
1723
1723
|
let fullEvent;
|
|
1724
|
-
if (typeof e === "string")
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1724
|
+
if (typeof e === "string") {
|
|
1725
|
+
if (e[0] === ":" && this.prefix) fullEvent = `${this.prefix}${e}`;
|
|
1726
|
+
else if (this.prefix) fullEvent = `${this.prefix}/${e}`;
|
|
1727
|
+
else fullEvent = e;
|
|
1728
|
+
} else fullEvent = e instanceof PathEvent ? PathEvent.toString(e.fullPath, e.methods) : e;
|
|
1728
1729
|
this.listeners.push([new PathEvent(fullEvent), listener]);
|
|
1729
1730
|
});
|
|
1730
1731
|
return () => this.off(listener);
|
|
@@ -2475,7 +2476,7 @@ var Analytics = class extends AssetController {
|
|
|
2475
2476
|
if (!date) return true;
|
|
2476
2477
|
if (date == "true") return false;
|
|
2477
2478
|
if (typeof date != "object") date = new Date(date);
|
|
2478
|
-
return Date.now() - date.getTime() >=
|
|
2479
|
+
return Date.now() - date.getTime() >= 2592e6;
|
|
2479
2480
|
}
|
|
2480
2481
|
collectNavigationMetrics() {
|
|
2481
2482
|
return new Promise((res) => {
|
|
@@ -2555,7 +2556,7 @@ var Analytics = class extends AssetController {
|
|
|
2555
2556
|
async consentPrompt(content) {
|
|
2556
2557
|
const settings = await this.momentum.settings.map();
|
|
2557
2558
|
const { close, dialog, result } = createDialog(`
|
|
2558
|
-
<div style="margin: 1rem; text-align: center">${content || `<p style="margin: 0;">This website uses cookies to improve your experience. ${settings.privacy_policy_url ? `For more information, please read our <a href="${this.momentum.url}${settings.privacy_policy_url}" target="_blank">Privacy Policy</a>.` : ""}</p>`}</div>
|
|
2559
|
+
<div style="margin: 1rem; text-align: center;">${content || `<p style="margin: 0; color: black;">This website uses cookies to improve your experience. ${settings.privacy_policy_url ? `For more information, please read our <a href="${this.momentum.url}${settings.privacy_policy_url}" target="_blank">Privacy Policy</a>.` : ""}</p>`}</div>
|
|
2559
2560
|
<div style="display: flex; gap: 10px">
|
|
2560
2561
|
<button class="agree btn btn-primary" >Agree</button>
|
|
2561
2562
|
<button class="decline btn">Essential Only</button>
|
|
@@ -2578,8 +2579,8 @@ var Analytics = class extends AssetController {
|
|
|
2578
2579
|
async speedTest(format = false, bytes) {
|
|
2579
2580
|
let bps = 0;
|
|
2580
2581
|
if (!bytes) {
|
|
2581
|
-
bps = await this.speedTest(false,
|
|
2582
|
-
if (bps >
|
|
2582
|
+
bps = await this.speedTest(false, 1048576);
|
|
2583
|
+
if (bps > 10485760) bps = await this.speedTest(false, 20971520);
|
|
2583
2584
|
} else {
|
|
2584
2585
|
const start = performance.now();
|
|
2585
2586
|
await this.momentum.api.request({ url: `api/tools/dummy-file?size=${bytes}` });
|
|
@@ -2642,8 +2643,10 @@ var Api = class extends Http {
|
|
|
2642
2643
|
this._token = token;
|
|
2643
2644
|
if (this.momentum.opts.credentialsStrategy == "auto" && !this.sameOrigin || this.momentum.opts.credentialsStrategy == "header") {
|
|
2644
2645
|
this.headers["Authorization"] = this._token ? `Bearer ${this._token}` : null;
|
|
2645
|
-
if (this.momentum.opts.persist && typeof localStorage != "undefined")
|
|
2646
|
-
|
|
2646
|
+
if (this.momentum.opts.persist && typeof localStorage != "undefined") {
|
|
2647
|
+
if (this._token) localStorage.setItem(this.storageKey, this._token);
|
|
2648
|
+
else localStorage.removeItem(this.storageKey);
|
|
2649
|
+
}
|
|
2647
2650
|
}
|
|
2648
2651
|
this.emit(`token:${token ? "c" : "d"}`, this._token);
|
|
2649
2652
|
}
|
|
@@ -2871,7 +2874,7 @@ var Auth = class extends PathEventEmitter {
|
|
|
2871
2874
|
s = await this.loginRedirect();
|
|
2872
2875
|
if (!!s && reload) {
|
|
2873
2876
|
if (typeof reload == "string") location.href = reload;
|
|
2874
|
-
location.reload();
|
|
2877
|
+
else location.reload();
|
|
2875
2878
|
}
|
|
2876
2879
|
}
|
|
2877
2880
|
return this.session || null;
|
|
@@ -2946,7 +2949,7 @@ var Auth = class extends PathEventEmitter {
|
|
|
2946
2949
|
});
|
|
2947
2950
|
if (reload) {
|
|
2948
2951
|
if (typeof reload == "string") location.href = reload;
|
|
2949
|
-
location.reload();
|
|
2952
|
+
else location.reload();
|
|
2950
2953
|
return;
|
|
2951
2954
|
}
|
|
2952
2955
|
this.momentum.api.token = this.session = this.user = null;
|
|
@@ -3246,7 +3249,7 @@ var Client = class Client extends PathEventEmitter {
|
|
|
3246
3249
|
});
|
|
3247
3250
|
/** Check if PWA can be installed */
|
|
3248
3251
|
get canInstall() {
|
|
3249
|
-
return !!this.nativePwaPrompt;
|
|
3252
|
+
return !!this.nativePwaPrompt && !this.isApp && !this.isHeadless;
|
|
3250
3253
|
}
|
|
3251
3254
|
/** Running inside a container */
|
|
3252
3255
|
get isApp() {
|
|
@@ -3302,7 +3305,7 @@ var Client = class Client extends PathEventEmitter {
|
|
|
3302
3305
|
window.addEventListener("beforeinstallprompt", (event) => {
|
|
3303
3306
|
event.preventDefault();
|
|
3304
3307
|
this.nativePwaPrompt = event;
|
|
3305
|
-
this.emit("install:r");
|
|
3308
|
+
this.emit("install:r", true);
|
|
3306
3309
|
});
|
|
3307
3310
|
if (this.storage && sessionStorage.getItem(`${this.momentum.url.host}:speed`)) this.speed = Promise.resolve(+sessionStorage.getItem(`${this.momentum.url.host}:speed`));
|
|
3308
3311
|
else this.speed = new Promise((res) => {
|
|
@@ -3310,6 +3313,66 @@ var Client = class Client extends PathEventEmitter {
|
|
|
3310
3313
|
});
|
|
3311
3314
|
}
|
|
3312
3315
|
}
|
|
3316
|
+
/**
|
|
3317
|
+
* Build the isomorphic list of SEO/meta/link tags shared by the client (DOM) & server (SSR)
|
|
3318
|
+
* @param settings Settings map: title, description, theme, public_url, modules, locale
|
|
3319
|
+
* @param opts canonicalPath - adds a <link rel="canonical">; assetBaseUrl - base for favicon/manifest (client uses momentum.url, server uses public_url)
|
|
3320
|
+
*/
|
|
3321
|
+
static metaTags(settings, opts = {}) {
|
|
3322
|
+
const base = settings.public_url;
|
|
3323
|
+
const assetBase = opts.assetBaseUrl ?? base;
|
|
3324
|
+
const banner = `${base}/banner.png?size=1200x630`;
|
|
3325
|
+
const favicon = `${base}/favicon.png`;
|
|
3326
|
+
const assetFavicon = `${assetBase}/favicon.png`;
|
|
3327
|
+
const tags = [];
|
|
3328
|
+
const meta = (key, name, content) => content != null && tags.push({
|
|
3329
|
+
tag: "meta",
|
|
3330
|
+
attrs: {
|
|
3331
|
+
[key]: name,
|
|
3332
|
+
content
|
|
3333
|
+
}
|
|
3334
|
+
});
|
|
3335
|
+
const link = (rel, href) => href && tags.push({
|
|
3336
|
+
tag: "link",
|
|
3337
|
+
attrs: {
|
|
3338
|
+
rel,
|
|
3339
|
+
href
|
|
3340
|
+
}
|
|
3341
|
+
});
|
|
3342
|
+
if (opts.canonicalPath != null) link("canonical", `${base}${opts.canonicalPath.startsWith("/") ? "" : "/"}${opts.canonicalPath}`);
|
|
3343
|
+
meta("name", "author", "Built with Momentum");
|
|
3344
|
+
meta("name", "description", settings.description);
|
|
3345
|
+
meta("name", "theme-color", settings.theme?.background);
|
|
3346
|
+
meta("property", "og:title", settings.title);
|
|
3347
|
+
meta("property", "og:description", settings.description);
|
|
3348
|
+
meta("property", "og:image", banner);
|
|
3349
|
+
meta("property", "og:image:width", "1200");
|
|
3350
|
+
meta("property", "og:image:height", "630");
|
|
3351
|
+
meta("property", "og:image:alt", settings.title);
|
|
3352
|
+
meta("property", "og:logo", `${base}/favicon.png?size=180`);
|
|
3353
|
+
meta("property", "og:url", base);
|
|
3354
|
+
meta("property", "og:site_name", "Momentum");
|
|
3355
|
+
meta("property", "og:type", "website");
|
|
3356
|
+
meta("property", "og:locale", settings.locale || "en_US");
|
|
3357
|
+
meta("name", "twitter:card", "summary_large_image");
|
|
3358
|
+
meta("name", "twitter:title", settings.title);
|
|
3359
|
+
meta("name", "twitter:description", settings.description);
|
|
3360
|
+
meta("name", "twitter:image", banner);
|
|
3361
|
+
link("icon", favicon);
|
|
3362
|
+
link("apple-touch-icon", assetFavicon);
|
|
3363
|
+
if (settings.modules?.pwa) {
|
|
3364
|
+
meta("name", "mobile-web-app-capable", "yes");
|
|
3365
|
+
meta("name", "apple-mobile-web-app-status-bar-style", "default");
|
|
3366
|
+
meta("name", "apple-mobile-web-app-title", settings.title);
|
|
3367
|
+
link("apple-touch-startup-image", assetFavicon);
|
|
3368
|
+
link("manifest", `${assetBase}/manifest.json`);
|
|
3369
|
+
}
|
|
3370
|
+
return tags;
|
|
3371
|
+
}
|
|
3372
|
+
/** Render meta tags to an HTML string (SSR) */
|
|
3373
|
+
static renderMetaTags(tags) {
|
|
3374
|
+
return tags.map((t) => `<${t.tag} ${Object.entries(t.attrs).map(([k, v]) => `${k}="${v}"`).join(" ")}>`).join("\n");
|
|
3375
|
+
}
|
|
3313
3376
|
static theme(setting, css = false) {
|
|
3314
3377
|
const t = {
|
|
3315
3378
|
background: setting?.background,
|
|
@@ -3369,14 +3432,6 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3369
3432
|
[k]: v.value
|
|
3370
3433
|
}), {});
|
|
3371
3434
|
} else settings = await this.momentum.settings.map(opts.reload);
|
|
3372
|
-
const meta = (key, name, value) => {
|
|
3373
|
-
const exists = document.querySelector(`meta[${key}="${name}"]`);
|
|
3374
|
-
if (value === void 0 || exists) return exists;
|
|
3375
|
-
const meta = document.createElement("meta");
|
|
3376
|
-
meta.setAttribute(key, name);
|
|
3377
|
-
meta.content = value;
|
|
3378
|
-
document.head.append(meta);
|
|
3379
|
-
};
|
|
3380
3435
|
document.querySelectorAll(".momentum-logo").forEach((el) => {
|
|
3381
3436
|
const size = el.src ? /[?&]size="?(.+)(?:"|&|$)/.exec(el.src) : null;
|
|
3382
3437
|
el.src = `${this.momentum.url.toString()}favicon.png${size ? `?size=${size[1]}` : ""}`;
|
|
@@ -3387,35 +3442,35 @@ ${Object.entries(t).map(([name, value]) => `--theme-${kebabCase(name)}: ${value}
|
|
|
3387
3442
|
else if (keys[1] == "contact" && el.tagName == "A") el.href = `mailto:${settings.contact}?subject=${settings.title} - ${document.title.split("|")[0]}`;
|
|
3388
3443
|
el.innerText = keys[2] ? dotNotation(settings[keys[1]], keys[2]) : settings[keys[1]];
|
|
3389
3444
|
});
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3445
|
+
Client.metaTags(settings, {
|
|
3446
|
+
canonicalPath: opts.canonicalPath,
|
|
3447
|
+
assetBaseUrl: this.momentum.url.toString().replace(/\/$/, "")
|
|
3448
|
+
}).forEach((t) => {
|
|
3449
|
+
if (t.tag == "meta") {
|
|
3450
|
+
const key = t.attrs.name ? "name" : "property";
|
|
3451
|
+
const name = t.attrs[key];
|
|
3452
|
+
let el = document.querySelector(`meta[${key}="${name}"]`);
|
|
3453
|
+
if (!el) {
|
|
3454
|
+
el = document.createElement("meta");
|
|
3455
|
+
el.setAttribute(key, name);
|
|
3456
|
+
document.head.append(el);
|
|
3457
|
+
}
|
|
3458
|
+
el.setAttribute("content", t.attrs.content);
|
|
3459
|
+
} else {
|
|
3460
|
+
let el = document.querySelector(`link[rel="${t.attrs.rel}"]`);
|
|
3461
|
+
if (!el) {
|
|
3462
|
+
el = document.createElement("link");
|
|
3463
|
+
el.setAttribute("rel", t.attrs.rel);
|
|
3464
|
+
document.head.append(el);
|
|
3465
|
+
}
|
|
3466
|
+
el.setAttribute("href", t.attrs.href);
|
|
3411
3467
|
}
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
}
|
|
3418
|
-
meta("name", "theme-color", settings["theme"]?.background);
|
|
3468
|
+
});
|
|
3469
|
+
if (settings.modules?.["pwa"] && opts.install !== false && !this.installTimeout && this.canInstall) this.installTimeout = setTimeout(async () => {
|
|
3470
|
+
this.installTimeout = null;
|
|
3471
|
+
const dismissed = localStorage.getItem(`momentum:install`);
|
|
3472
|
+
if (!dismissed || dismissed != "true" && Date.now() - new Date(dismissed).getTime() > 864e5 * this.momentum.opts.installPrompt.retry) this.install();
|
|
3473
|
+
}, 6e4 * this.momentum.opts.installPrompt.delay);
|
|
3419
3474
|
if (!document.body.classList.contains("theme-manual")) {
|
|
3420
3475
|
document.body.classList.add(settings["theme"]?.darkMode ? "theme-dark" : "theme-light");
|
|
3421
3476
|
document.body.classList.remove(!settings["theme"]?.darkMode ? "theme-dark" : "theme-light");
|
|
@@ -3622,9 +3677,10 @@ var Data = class extends PathEventEmitter {
|
|
|
3622
3677
|
}
|
|
3623
3678
|
}).then((resp) => {
|
|
3624
3679
|
if (!resp) return null;
|
|
3625
|
-
if (Array.isArray(resp))
|
|
3626
|
-
|
|
3627
|
-
|
|
3680
|
+
if (Array.isArray(resp)) {
|
|
3681
|
+
if (!q && !options?.limit) this.emit(PES`data/${collection}:r`, collection, resp);
|
|
3682
|
+
else resp.forEach((r) => this.emit(PES`data/${collection}/${r._id}:r`, collection, resp));
|
|
3683
|
+
} else this.emit(PES`data/${collection}/${resp._id}:r`, collection, resp);
|
|
3628
3684
|
return resp;
|
|
3629
3685
|
});
|
|
3630
3686
|
}
|
|
@@ -3814,12 +3870,13 @@ var Logger = class Logger extends PathEventEmitter {
|
|
|
3814
3870
|
if (typeof window != "undefined") window.addEventListener("unhandledrejection", async (event) => {
|
|
3815
3871
|
let log = event.reason?.stack || event.reason;
|
|
3816
3872
|
if (event.reason?.url) log = `${event.reason.method} ${event.reason.url} -> ${event.reason.code}\n\n${log}`;
|
|
3817
|
-
if (event.reason?.code == null || event.reason?.code >= 500)
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3873
|
+
if (event.reason?.code == null || event.reason?.code >= 500) {
|
|
3874
|
+
if (LOG_LEVEL[this.logLevel] >= 0) this.error(log);
|
|
3875
|
+
else {
|
|
3876
|
+
this.logs.push(this.buildLog(LOG_LEVEL.ERROR, log));
|
|
3877
|
+
this.emit(`local/error:c`, this.logs);
|
|
3878
|
+
}
|
|
3879
|
+
} else if (LOG_LEVEL[this.logLevel] >= 1) this.warn(log);
|
|
3823
3880
|
else {
|
|
3824
3881
|
this.logs.push(this.buildLog(LOG_LEVEL.WARN, log));
|
|
3825
3882
|
this.emit(`local/warn:c`, this.logs);
|
|
@@ -4182,7 +4239,7 @@ var Transactions = class extends AssetController {
|
|
|
4182
4239
|
*/
|
|
4183
4240
|
getToken(id) {
|
|
4184
4241
|
return this.momentum.api.request({
|
|
4185
|
-
url:
|
|
4242
|
+
url: this.momentum.url.origin + `/api/transactions/init/${id || ""}`,
|
|
4186
4243
|
method: "POST"
|
|
4187
4244
|
}).then((resp) => resp.token);
|
|
4188
4245
|
}
|
|
@@ -4251,7 +4308,7 @@ var Transactions = class extends AssetController {
|
|
|
4251
4308
|
* @returns {string} URL
|
|
4252
4309
|
*/
|
|
4253
4310
|
checkoutUrl(id) {
|
|
4254
|
-
return encodeURI(`${this.momentum.opts.checkoutUrl}?
|
|
4311
|
+
return encodeURI(`${this.momentum.opts.checkoutUrl}?transaction=${id}`);
|
|
4255
4312
|
}
|
|
4256
4313
|
async delete(key) {
|
|
4257
4314
|
throw new Error("Not supported");
|
|
@@ -4561,8 +4618,10 @@ var Storage = class extends PathEventEmitter {
|
|
|
4561
4618
|
this.cache.values().forEach((meta) => {
|
|
4562
4619
|
if (meta?.children && event.path == meta.path) meta.children = [...meta.children.filter((c) => c.path != event.name), payload.name];
|
|
4563
4620
|
});
|
|
4564
|
-
} else if (event.delete || payload == null)
|
|
4565
|
-
|
|
4621
|
+
} else if (event.delete || payload == null) {
|
|
4622
|
+
if (!event.path) return this.cache.clear();
|
|
4623
|
+
else this.cache.delete(event.path);
|
|
4624
|
+
}
|
|
4566
4625
|
});
|
|
4567
4626
|
}
|
|
4568
4627
|
/**
|
|
@@ -4889,7 +4948,7 @@ var Static = class extends Storage {
|
|
|
4889
4948
|
};
|
|
4890
4949
|
//#endregion
|
|
4891
4950
|
//#region package.json
|
|
4892
|
-
var version = "1.5.
|
|
4951
|
+
var version = "1.5.5";
|
|
4893
4952
|
//#endregion
|
|
4894
4953
|
//#region src/webRtc.ts
|
|
4895
4954
|
var WebRtc = class extends PathEventEmitter {
|
package/dist/momentum.worker.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {Momentum} from '/momentum.mjs';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
let analyticsId = null;
|
|
4
|
+
const production = self.location.origin !== 'http://localhost:5173';
|
|
5
|
+
const apiUrl = production ? self.location.origin : 'http://localhost:3000';
|
|
6
|
+
const cache = caches.open(apiUrl);
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
let momentum;
|
|
9
|
+
const ready = (async () => {
|
|
9
10
|
try {
|
|
10
11
|
const analyticsCache = await caches.open('analytics-cache');
|
|
11
12
|
const res = await analyticsCache.match('analytics-id');
|
|
@@ -14,77 +15,43 @@ import {Momentum} from '/momentum.mjs';
|
|
|
14
15
|
console.warn('Failed to restore analytics ID:', err);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
const momentum = new Momentum(apiUrl, {
|
|
18
|
+
momentum = new Momentum(apiUrl, {
|
|
19
19
|
analytics: analyticsId || false,
|
|
20
20
|
banner: false,
|
|
21
21
|
offline: true,
|
|
22
22
|
socket: true,
|
|
23
23
|
worker: false,
|
|
24
24
|
});
|
|
25
|
+
})();
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async function update() {
|
|
34
|
-
const c = await cache;
|
|
35
|
-
let files = await momentum.static.all();
|
|
36
|
-
// files.map(meta => momentum.static.open(meta.path, false));
|
|
37
|
-
// for (const file of files) {
|
|
38
|
-
// const req = new Request(file.path, {cache: 'no-cache'});
|
|
39
|
-
// try {
|
|
40
|
-
// const res = await fetch(req);
|
|
41
|
-
// if (res.ok) await c.put(req, res);
|
|
42
|
-
// else throw new Error();
|
|
43
|
-
// } catch (err) {
|
|
44
|
-
// await c.delete(req);
|
|
45
|
-
// }
|
|
46
|
-
// }
|
|
47
|
-
}
|
|
27
|
+
async function reloadClients() {
|
|
28
|
+
const allClients = await self.clients.matchAll({type: 'window', includeUncontrolled: true});
|
|
29
|
+
for (const client of allClients) client.postMessage({update: true});
|
|
30
|
+
}
|
|
48
31
|
|
|
49
|
-
|
|
32
|
+
async function update() {
|
|
33
|
+
await ready;
|
|
34
|
+
const c = await cache;
|
|
35
|
+
let files = await momentum.static.all();
|
|
36
|
+
// files.map(meta => momentum.static.open(meta.path, false));
|
|
37
|
+
}
|
|
50
38
|
|
|
51
|
-
|
|
39
|
+
self.addEventListener('install', e => e.waitUntil(update()));
|
|
52
40
|
|
|
53
|
-
|
|
54
|
-
e.waitUntil((async () => {
|
|
55
|
-
await self.clients.claim();
|
|
56
|
-
await reloadClients();
|
|
57
|
-
})());
|
|
58
|
-
});
|
|
41
|
+
self.addEventListener('periodicsync', e => e.waitUntil(update()));
|
|
59
42
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// const c = await cache;
|
|
67
|
-
// if(!self.navigator.onLine) {
|
|
68
|
-
// const cachedResponse = await c.match(req);
|
|
69
|
-
// if(cachedResponse) return cachedResponse;
|
|
70
|
-
// return new Response('You are offline', {status: 503, statusText: 'Service Unavailable'});
|
|
71
|
-
// }
|
|
72
|
-
// try {
|
|
73
|
-
// const response = await fetch(req);
|
|
74
|
-
// if(response.ok) await c.put(req, response.clone());
|
|
75
|
-
// else if(response.status === 404) await c.delete(req);
|
|
76
|
-
// return response;
|
|
77
|
-
// } catch (err) {
|
|
78
|
-
// const cachedResponse = await c.match(req);
|
|
79
|
-
// if(cachedResponse) return cachedResponse;
|
|
80
|
-
// throw err;
|
|
81
|
-
// }
|
|
82
|
-
// })());
|
|
83
|
-
// });
|
|
43
|
+
self.addEventListener('activate', e => {
|
|
44
|
+
e.waitUntil((async () => {
|
|
45
|
+
await self.clients.claim();
|
|
46
|
+
await reloadClients();
|
|
47
|
+
})());
|
|
48
|
+
});
|
|
84
49
|
|
|
85
|
-
|
|
50
|
+
self.addEventListener('message', (event) => {
|
|
51
|
+
event.waitUntil?.((async () => {
|
|
52
|
+
await ready;
|
|
86
53
|
if (event.data?.analyticsId) {
|
|
87
|
-
momentum.analytics.id = event.data?.analyticsId
|
|
54
|
+
momentum.analytics.id = event.data?.analyticsId;
|
|
88
55
|
try {
|
|
89
56
|
const analyticsCache = await caches.open('analytics-cache');
|
|
90
57
|
await analyticsCache.put('analytics-id', new Response(JSON.stringify({id: event.data?.analyticsId})));
|
|
@@ -94,31 +61,28 @@ import {Momentum} from '/momentum.mjs';
|
|
|
94
61
|
} else if (event.data?.skipWaiting) {
|
|
95
62
|
await self.skipWaiting();
|
|
96
63
|
} else if (event.data?.update) {
|
|
97
|
-
if (self.registration.waiting) {
|
|
98
|
-
|
|
99
|
-
} else {
|
|
100
|
-
await reloadClients();
|
|
101
|
-
}
|
|
64
|
+
if (self.registration.waiting) self.registration.waiting.postMessage({skipWaiting: true});
|
|
65
|
+
else await reloadClients();
|
|
102
66
|
}
|
|
103
|
-
});
|
|
67
|
+
})());
|
|
68
|
+
});
|
|
104
69
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
70
|
+
self.addEventListener('notificationclick', (event) => {
|
|
71
|
+
const data = event.notification.data;
|
|
72
|
+
event.notification.close();
|
|
73
|
+
if(data && data.link) event.waitUntil(clients.openWindow(data.link));
|
|
74
|
+
});
|
|
110
75
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
})();
|
|
76
|
+
self.addEventListener('push', (event) => {
|
|
77
|
+
let data;
|
|
78
|
+
try { data = event.data?.json() ?? {}; }
|
|
79
|
+
catch { data = {message: event.data?.text()}; }
|
|
80
|
+
event.waitUntil(
|
|
81
|
+
self.registration.showNotification(data.title || `Momentum Alert`, {
|
|
82
|
+
body: data.message || '',
|
|
83
|
+
tag: data.title || 'general',
|
|
84
|
+
icon: data.icon || `${self.location.origin}/favicon.ico`,
|
|
85
|
+
data
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,wBAAwB;AACxB,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACpC,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,oBAAoB;AACpB,qBAAa,aAAc,SAAQ,gBAAgB;IAetC,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAdxC,OAAO,CAAC,QAAQ,CAAS;IACzB,gCAAgC;IAChC,IAAI,OAAO,IAAI,OAAO,CAA0B;IAChD,OAAO,KAAK,OAAO,QAGlB;IAED,iCAAiC;IACjC,IAAI,YAAY,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAGnD;gBAEqB,QAAQ,EAAE,QAAQ;IAKxC;;;;OAIG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,wBAAwB;AACxB,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IACpC,4CAA4C;IAC5C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,oBAAoB;AACpB,qBAAa,aAAc,SAAQ,gBAAgB;IAetC,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAdxC,OAAO,CAAC,QAAQ,CAAS;IACzB,gCAAgC;IAChC,IAAI,OAAO,IAAI,OAAO,CAA0B;IAChD,OAAO,KAAK,OAAO,QAGlB;IAED,iCAAiC;IACjC,IAAI,YAAY,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAGnD;gBAEqB,QAAQ,EAAE,QAAQ;IAKxC;;;;OAIG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAY7B"}
|
package/dist/routes.d.ts
CHANGED
|
@@ -10,11 +10,16 @@ export type RateLimit = Meta & {
|
|
|
10
10
|
match: {
|
|
11
11
|
path: string | null;
|
|
12
12
|
cidr: string | null;
|
|
13
|
+
datacenter: boolean;
|
|
14
|
+
malicious: boolean;
|
|
15
|
+
tor: boolean;
|
|
16
|
+
vpn: boolean;
|
|
13
17
|
};
|
|
14
18
|
required: {
|
|
15
19
|
cidr: string | null;
|
|
16
20
|
groups: string[];
|
|
17
21
|
captcha: number | null;
|
|
22
|
+
captchaOp: '>' | '<';
|
|
18
23
|
};
|
|
19
24
|
limit: {
|
|
20
25
|
ip: boolean;
|
package/dist/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG;IAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG;IAC9B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,GAAG,EAAE,OAAO,CAAC;QACb,GAAG,EAAE,OAAO,CAAC;KACb,CAAC;IACF,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,GAAG,GAAG,GAAG,CAAC;KACrB,CAAA;IACD,KAAK,EAAE;QACN,EAAE,EAAE,OAAO,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAA;CACD,CAAA;AAED,qBAAa,SAAU,SAAQ,eAAe,CAAC,WAAW,CAAC;IAC9C,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIlC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAGhE;AAED,qBAAa,WAAY,SAAQ,eAAe,CAAC,SAAS,CAAC;IAC9C,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;CAGxC;AAED,qBAAa,MAAO,SAAQ,gBAAgB;IAI/B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAHxC,SAAS,EAAG,SAAS,CAAC;IACtB,WAAW,EAAG,WAAW,CAAC;gBAEJ,QAAQ,EAAE,QAAQ;CAOxC"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -90,8 +90,8 @@ export declare class Storage extends PathEventEmitter {
|
|
|
90
90
|
* @param {string} set Update transcribed text
|
|
91
91
|
* @return {Promise<string>} Extracted text
|
|
92
92
|
*/
|
|
93
|
-
text(path: string): Promise<string>;
|
|
94
93
|
text(path: string, set: string | null): Promise<FileMeta>;
|
|
94
|
+
text(path: string): Promise<string>;
|
|
95
95
|
/**
|
|
96
96
|
* Upload file(s) to server, Uses file browser if no files provided
|
|
97
97
|
* @param path Path files will be uploaded to
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,IAAI,EAAK,MAAM,QAAQ,CAAC;AACrC,OAAO,EACN,KAAK,EACL,eAAe,EAKf,gBAAgB,EAAO,WAAW,EAAE,SAAS,EAC7C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,4BAA4B;AAC5B,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG;IAChC,sBAAsB;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC1C,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC3B,CAAA;AAED,uBAAuB;AACvB,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC7B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB,CAAA;AAED,mBAAmB;AACnB,qBAAa,OAAQ,SAAQ,gBAAgB;IAKhC,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEhE,KAAK,oCAAiD;gBAEhC,QAAQ,EAAE,QAAQ,EAAmB,MAAM,GAAE,MAAkB;IAiBrF;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IAQnD;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAgBvE;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAI9D;;;;OAIG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAQhD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrC;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAStE;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAC/E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAiB7D;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|