@wix/blog 1.0.289 → 1.0.290
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/build/cjs/context.js +1 -0
- package/build/cjs/context.js.map +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/meta.js +1 -0
- package/build/cjs/meta.js.map +1 -0
- package/package.json +8 -8
- package/type-bundles/context.bundle.d.ts +2637 -149
- package/type-bundles/index.bundle.d.ts +2637 -149
|
@@ -1,39 +1,127 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
type HostModule$5<T, H extends Host$5> = {
|
|
2
|
+
__type: 'host';
|
|
3
|
+
create(host: H): T;
|
|
4
|
+
};
|
|
5
|
+
type HostModuleAPI$5<T extends HostModule$5<any, any>> = T extends HostModule$5<infer U, any> ? U : never;
|
|
6
|
+
type Host$5<Environment = unknown> = {
|
|
7
|
+
channel: {
|
|
8
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
9
|
+
disconnect: () => void;
|
|
10
|
+
} | Promise<{
|
|
11
|
+
disconnect: () => void;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
environment?: Environment;
|
|
15
|
+
/**
|
|
16
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
17
|
+
*/
|
|
18
|
+
apiBaseUrl?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
21
|
+
* like internationalization, billing, etc.
|
|
22
|
+
*/
|
|
23
|
+
essentials?: {
|
|
24
|
+
/**
|
|
25
|
+
* The language of the currently viewed session
|
|
26
|
+
*/
|
|
27
|
+
language?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The locale of the currently viewed session
|
|
30
|
+
*/
|
|
31
|
+
locale?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Any headers that should be passed through to the API requests
|
|
34
|
+
*/
|
|
35
|
+
passThroughHeaders?: Record<string, string>;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
type RESTFunctionDescriptor$5<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$5) => T;
|
|
40
|
+
interface HttpClient$5 {
|
|
41
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory$5<TResponse, TData>): Promise<HttpResponse$5<TResponse>>;
|
|
4
42
|
fetchWithAuth: typeof fetch;
|
|
5
43
|
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
44
|
+
getActiveToken?: () => string | undefined;
|
|
6
45
|
}
|
|
7
|
-
type RequestOptionsFactory<TResponse = any, TData = any> = (context: any) => RequestOptions<TResponse, TData>;
|
|
8
|
-
type HttpResponse<T = any> = {
|
|
46
|
+
type RequestOptionsFactory$5<TResponse = any, TData = any> = (context: any) => RequestOptions$5<TResponse, TData>;
|
|
47
|
+
type HttpResponse$5<T = any> = {
|
|
9
48
|
data: T;
|
|
10
49
|
status: number;
|
|
11
50
|
statusText: string;
|
|
12
51
|
headers: any;
|
|
13
52
|
request?: any;
|
|
14
53
|
};
|
|
15
|
-
type RequestOptions<_TResponse = any, Data = any> = {
|
|
54
|
+
type RequestOptions$5<_TResponse = any, Data = any> = {
|
|
16
55
|
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
17
56
|
url: string;
|
|
18
57
|
data?: Data;
|
|
19
58
|
params?: URLSearchParams;
|
|
20
|
-
} & APIMetadata;
|
|
21
|
-
type APIMetadata = {
|
|
59
|
+
} & APIMetadata$5;
|
|
60
|
+
type APIMetadata$5 = {
|
|
22
61
|
methodFqn?: string;
|
|
23
62
|
entityFqdn?: string;
|
|
24
63
|
packageName?: string;
|
|
25
64
|
};
|
|
26
|
-
type BuildRESTFunction<T extends RESTFunctionDescriptor> = T extends RESTFunctionDescriptor<infer U> ? U : never;
|
|
27
|
-
type EventDefinition<Payload = unknown, Type extends string = string> = {
|
|
65
|
+
type BuildRESTFunction$5<T extends RESTFunctionDescriptor$5> = T extends RESTFunctionDescriptor$5<infer U> ? U : never;
|
|
66
|
+
type EventDefinition$9<Payload = unknown, Type extends string = string> = {
|
|
28
67
|
__type: 'event-definition';
|
|
29
68
|
type: Type;
|
|
30
69
|
isDomainEvent?: boolean;
|
|
31
70
|
transformations?: (envelope: unknown) => Payload;
|
|
32
71
|
__payload: Payload;
|
|
33
72
|
};
|
|
34
|
-
declare function EventDefinition<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition<Payload, Type>;
|
|
35
|
-
type EventHandler<T extends EventDefinition> = (payload: T['__payload']) => void | Promise<void>;
|
|
36
|
-
type BuildEventDefinition<T extends EventDefinition<any, string>> = (handler: EventHandler<T>) => void;
|
|
73
|
+
declare function EventDefinition$9<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$9<Payload, Type>;
|
|
74
|
+
type EventHandler$9<T extends EventDefinition$9> = (payload: T['__payload']) => void | Promise<void>;
|
|
75
|
+
type BuildEventDefinition$9<T extends EventDefinition$9<any, string>> = (handler: EventHandler$9<T>) => void;
|
|
76
|
+
|
|
77
|
+
type ServicePluginMethodInput$5 = {
|
|
78
|
+
request: any;
|
|
79
|
+
metadata: any;
|
|
80
|
+
};
|
|
81
|
+
type ServicePluginContract$5 = Record<string, (payload: ServicePluginMethodInput$5) => unknown | Promise<unknown>>;
|
|
82
|
+
type ServicePluginMethodMetadata$5 = {
|
|
83
|
+
name: string;
|
|
84
|
+
primaryHttpMappingPath: string;
|
|
85
|
+
transformations: {
|
|
86
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput$5;
|
|
87
|
+
toREST: (...args: unknown[]) => unknown;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
type ServicePluginDefinition$5<Contract extends ServicePluginContract$5> = {
|
|
91
|
+
__type: 'service-plugin-definition';
|
|
92
|
+
componentType: string;
|
|
93
|
+
methods: ServicePluginMethodMetadata$5[];
|
|
94
|
+
__contract: Contract;
|
|
95
|
+
};
|
|
96
|
+
declare function ServicePluginDefinition$5<Contract extends ServicePluginContract$5>(componentType: string, methods: ServicePluginMethodMetadata$5[]): ServicePluginDefinition$5<Contract>;
|
|
97
|
+
type BuildServicePluginDefinition$5<T extends ServicePluginDefinition$5<any>> = (implementation: T['__contract']) => void;
|
|
98
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE$5 = "wix_spi_error";
|
|
99
|
+
|
|
100
|
+
type RequestContext$5 = {
|
|
101
|
+
isSSR: boolean;
|
|
102
|
+
host: string;
|
|
103
|
+
protocol?: string;
|
|
104
|
+
};
|
|
105
|
+
type ResponseTransformer$5 = (data: any, headers?: any) => any;
|
|
106
|
+
/**
|
|
107
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
108
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
109
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
110
|
+
*/
|
|
111
|
+
type Method$5 = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
112
|
+
type AmbassadorRequestOptions$5<T = any> = {
|
|
113
|
+
_?: T;
|
|
114
|
+
url?: string;
|
|
115
|
+
method?: Method$5;
|
|
116
|
+
params?: any;
|
|
117
|
+
data?: any;
|
|
118
|
+
transformResponse?: ResponseTransformer$5 | ResponseTransformer$5[];
|
|
119
|
+
};
|
|
120
|
+
type AmbassadorFactory$5<Request, Response> = (payload: Request) => ((context: RequestContext$5) => AmbassadorRequestOptions$5<Response>) & {
|
|
121
|
+
__isAmbassador: boolean;
|
|
122
|
+
};
|
|
123
|
+
type AmbassadorFunctionDescriptor$5<Request = any, Response = any> = AmbassadorFactory$5<Request, Response>;
|
|
124
|
+
type BuildAmbassadorFunction$5<T extends AmbassadorFunctionDescriptor$5> = T extends AmbassadorFunctionDescriptor$5<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
37
125
|
|
|
38
126
|
declare global {
|
|
39
127
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
@@ -42,6 +130,284 @@ declare global {
|
|
|
42
130
|
}
|
|
43
131
|
}
|
|
44
132
|
|
|
133
|
+
declare const emptyObjectSymbol$5: unique symbol;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
137
|
+
|
|
138
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
139
|
+
|
|
140
|
+
@example
|
|
141
|
+
```
|
|
142
|
+
import type {EmptyObject} from 'type-fest';
|
|
143
|
+
|
|
144
|
+
// The following illustrates the problem with `{}`.
|
|
145
|
+
const foo1: {} = {}; // Pass
|
|
146
|
+
const foo2: {} = []; // Pass
|
|
147
|
+
const foo3: {} = 42; // Pass
|
|
148
|
+
const foo4: {} = {a: 1}; // Pass
|
|
149
|
+
|
|
150
|
+
// With `EmptyObject` only the first case is valid.
|
|
151
|
+
const bar1: EmptyObject = {}; // Pass
|
|
152
|
+
const bar2: EmptyObject = 42; // Fail
|
|
153
|
+
const bar3: EmptyObject = []; // Fail
|
|
154
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
158
|
+
|
|
159
|
+
@category Object
|
|
160
|
+
*/
|
|
161
|
+
type EmptyObject$5 = {[emptyObjectSymbol$5]?: never};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
Returns a boolean for whether the two given types are equal.
|
|
165
|
+
|
|
166
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
167
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
168
|
+
|
|
169
|
+
Use-cases:
|
|
170
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
171
|
+
|
|
172
|
+
@example
|
|
173
|
+
```
|
|
174
|
+
import type {IsEqual} from 'type-fest';
|
|
175
|
+
|
|
176
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
177
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
178
|
+
type Includes<Value extends readonly any[], Item> =
|
|
179
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
180
|
+
? IsEqual<Value[0], Item> extends true
|
|
181
|
+
? true
|
|
182
|
+
: Includes<rest, Item>
|
|
183
|
+
: false;
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
@category Type Guard
|
|
187
|
+
@category Utilities
|
|
188
|
+
*/
|
|
189
|
+
type IsEqual$5<A, B> =
|
|
190
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
191
|
+
(<G>() => G extends B ? 1 : 2)
|
|
192
|
+
? true
|
|
193
|
+
: false;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
Filter out keys from an object.
|
|
197
|
+
|
|
198
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
199
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
200
|
+
Returns `Key` otherwise.
|
|
201
|
+
|
|
202
|
+
@example
|
|
203
|
+
```
|
|
204
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
205
|
+
//=> never
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
@example
|
|
209
|
+
```
|
|
210
|
+
type Filtered = Filter<'bar', string>;
|
|
211
|
+
//=> never
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
@example
|
|
215
|
+
```
|
|
216
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
217
|
+
//=> 'bar'
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
@see {Except}
|
|
221
|
+
*/
|
|
222
|
+
type Filter$5<KeyType, ExcludeType> = IsEqual$5<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
223
|
+
|
|
224
|
+
type ExceptOptions$5 = {
|
|
225
|
+
/**
|
|
226
|
+
Disallow assigning non-specified properties.
|
|
227
|
+
|
|
228
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
229
|
+
|
|
230
|
+
@default false
|
|
231
|
+
*/
|
|
232
|
+
requireExactProps?: boolean;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
Create a type from an object type without certain keys.
|
|
237
|
+
|
|
238
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
239
|
+
|
|
240
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
241
|
+
|
|
242
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
243
|
+
|
|
244
|
+
@example
|
|
245
|
+
```
|
|
246
|
+
import type {Except} from 'type-fest';
|
|
247
|
+
|
|
248
|
+
type Foo = {
|
|
249
|
+
a: number;
|
|
250
|
+
b: string;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
254
|
+
//=> {b: string}
|
|
255
|
+
|
|
256
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
257
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
258
|
+
|
|
259
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
260
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
261
|
+
|
|
262
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
263
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
@category Object
|
|
267
|
+
*/
|
|
268
|
+
type Except$5<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions$5 = {requireExactProps: false}> = {
|
|
269
|
+
[KeyType in keyof ObjectType as Filter$5<KeyType, KeysType>]: ObjectType[KeyType];
|
|
270
|
+
} & (Options['requireExactProps'] extends true
|
|
271
|
+
? Partial<Record<KeysType, never>>
|
|
272
|
+
: {});
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
276
|
+
|
|
277
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
278
|
+
|
|
279
|
+
@example
|
|
280
|
+
```
|
|
281
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
282
|
+
|
|
283
|
+
interface Example {
|
|
284
|
+
a: string;
|
|
285
|
+
b: string | number;
|
|
286
|
+
c?: string;
|
|
287
|
+
d: {};
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
291
|
+
//=> 'a'
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
295
|
+
|
|
296
|
+
@example
|
|
297
|
+
```
|
|
298
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
299
|
+
|
|
300
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
301
|
+
//=> 'a' | 'c'
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
@category Object
|
|
305
|
+
*/
|
|
306
|
+
type ConditionalKeys$5<Base, Condition> = NonNullable<
|
|
307
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
308
|
+
{
|
|
309
|
+
// Map through all the keys of the given base type.
|
|
310
|
+
[Key in keyof Base]:
|
|
311
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
312
|
+
Base[Key] extends Condition
|
|
313
|
+
// Retain this key since the condition passes.
|
|
314
|
+
? Key
|
|
315
|
+
// Discard this key since the condition fails.
|
|
316
|
+
: never;
|
|
317
|
+
|
|
318
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
319
|
+
}[keyof Base]
|
|
320
|
+
>;
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
324
|
+
|
|
325
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
326
|
+
|
|
327
|
+
@example
|
|
328
|
+
```
|
|
329
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
330
|
+
|
|
331
|
+
class Awesome {
|
|
332
|
+
name: string;
|
|
333
|
+
successes: number;
|
|
334
|
+
failures: bigint;
|
|
335
|
+
|
|
336
|
+
run() {}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
340
|
+
//=> {run: () => void}
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
@example
|
|
344
|
+
```
|
|
345
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
346
|
+
|
|
347
|
+
interface Example {
|
|
348
|
+
a: string;
|
|
349
|
+
b: string | number;
|
|
350
|
+
c: () => void;
|
|
351
|
+
d: {};
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
355
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
@category Object
|
|
359
|
+
*/
|
|
360
|
+
type ConditionalExcept$5<Base, Condition> = Except$5<
|
|
361
|
+
Base,
|
|
362
|
+
ConditionalKeys$5<Base, Condition>
|
|
363
|
+
>;
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
367
|
+
* can either be a REST module or a host module.
|
|
368
|
+
* This type is recursive, so it can describe nested modules.
|
|
369
|
+
*/
|
|
370
|
+
type Descriptors$5 = RESTFunctionDescriptor$5 | AmbassadorFunctionDescriptor$5 | HostModule$5<any, any> | EventDefinition$9<any> | ServicePluginDefinition$5<any> | {
|
|
371
|
+
[key: string]: Descriptors$5 | PublicMetadata$5 | any;
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
375
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
376
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
377
|
+
* do not match the given host (as they will not work with the given host).
|
|
378
|
+
*/
|
|
379
|
+
type BuildDescriptors$5<T extends Descriptors$5, H extends Host$5<any> | undefined, Depth extends number = 5> = {
|
|
380
|
+
done: T;
|
|
381
|
+
recurse: T extends {
|
|
382
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE$5;
|
|
383
|
+
} ? never : T extends AmbassadorFunctionDescriptor$5 ? BuildAmbassadorFunction$5<T> : T extends RESTFunctionDescriptor$5 ? BuildRESTFunction$5<T> : T extends EventDefinition$9<any> ? BuildEventDefinition$9<T> : T extends ServicePluginDefinition$5<any> ? BuildServicePluginDefinition$5<T> : T extends HostModule$5<any, any> ? HostModuleAPI$5<T> : ConditionalExcept$5<{
|
|
384
|
+
[Key in keyof T]: T[Key] extends Descriptors$5 ? BuildDescriptors$5<T[Key], H, [
|
|
385
|
+
-1,
|
|
386
|
+
0,
|
|
387
|
+
1,
|
|
388
|
+
2,
|
|
389
|
+
3,
|
|
390
|
+
4,
|
|
391
|
+
5
|
|
392
|
+
][Depth]> : never;
|
|
393
|
+
}, EmptyObject$5>;
|
|
394
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
395
|
+
type PublicMetadata$5 = {
|
|
396
|
+
PACKAGE_NAME?: string;
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
declare global {
|
|
400
|
+
interface ContextualClient {
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* A type used to create concerete types from SDK descriptors in
|
|
405
|
+
* case a contextual client is available.
|
|
406
|
+
*/
|
|
407
|
+
type MaybeContext$5<T extends Descriptors$5> = globalThis.ContextualClient extends {
|
|
408
|
+
host: Host$5;
|
|
409
|
+
} ? BuildDescriptors$5<T, globalThis.ContextualClient['host']> : T;
|
|
410
|
+
|
|
45
411
|
/** BlogCache is the main entity of BlogCacheService */
|
|
46
412
|
interface BlogCache {
|
|
47
413
|
/**
|
|
@@ -748,7 +1114,7 @@ interface GetBlogCacheResponseNonNullableFields {
|
|
|
748
1114
|
blogCache?: BlogCacheNonNullableFields;
|
|
749
1115
|
}
|
|
750
1116
|
|
|
751
|
-
declare function getBlogCache$1(httpClient: HttpClient): GetBlogCacheSignature;
|
|
1117
|
+
declare function getBlogCache$1(httpClient: HttpClient$5): GetBlogCacheSignature;
|
|
752
1118
|
interface GetBlogCacheSignature {
|
|
753
1119
|
/**
|
|
754
1120
|
* Gets blog cache.
|
|
@@ -756,7 +1122,7 @@ interface GetBlogCacheSignature {
|
|
|
756
1122
|
(): Promise<GetBlogCacheResponse & GetBlogCacheResponseNonNullableFields>;
|
|
757
1123
|
}
|
|
758
1124
|
|
|
759
|
-
declare const getBlogCache: BuildRESTFunction<typeof getBlogCache$1> & typeof getBlogCache$1
|
|
1125
|
+
declare const getBlogCache: MaybeContext$5<BuildRESTFunction$5<typeof getBlogCache$1> & typeof getBlogCache$1>;
|
|
760
1126
|
|
|
761
1127
|
type context$5_Address = Address;
|
|
762
1128
|
type context$5_AddressHint = AddressHint;
|
|
@@ -803,6 +1169,416 @@ declare namespace context$5 {
|
|
|
803
1169
|
export { type ActionEvent$4 as ActionEvent, type context$5_Address as Address, type context$5_AddressHint as AddressHint, type context$5_BlogCache as BlogCache, type context$5_BusinessSchedule as BusinessSchedule, type context$5_Categories as Categories, type context$5_ChangeContext as ChangeContext, type context$5_ChangeContextPayloadOneOf as ChangeContextPayloadOneOf, type context$5_ConsentPolicy as ConsentPolicy, context$5_DayOfWeek as DayOfWeek, type DomainEvent$4 as DomainEvent, type DomainEventBodyOneOf$4 as DomainEventBodyOneOf, type context$5_Empty as Empty, type EntityCreatedEvent$4 as EntityCreatedEvent, type EntityDeletedEvent$4 as EntityDeletedEvent, type EntityUpdatedEvent$4 as EntityUpdatedEvent, context$5_Flag as Flag, type context$5_GeoCoordinates as GeoCoordinates, type context$5_GetBlogCacheRequest as GetBlogCacheRequest, type context$5_GetBlogCacheResponse as GetBlogCacheResponse, type context$5_GetBlogCacheResponseNonNullableFields as GetBlogCacheResponseNonNullableFields, type context$5_Locale as Locale, context$5_LocaleStatus as LocaleStatus, type context$5_Multilingual as Multilingual, type context$5_PageInfo as PageInfo, type context$5_PagesData as PagesData, context$5_PlacementType as PlacementType, type context$5_Properties as Properties, type context$5_PropertiesChange as PropertiesChange, context$5_ResolutionMethod as ResolutionMethod, type RestoreInfo$4 as RestoreInfo, type context$5_SiteCloned as SiteCloned, type context$5_SiteCreated as SiteCreated, type context$5_SiteProperties as SiteProperties, type context$5_SitePropertiesEvent as SitePropertiesEvent, type context$5_SitePropertiesNotification as SitePropertiesNotification, type context$5_SiteSupportedLanguage as SiteSupportedLanguage, type context$5_SpecialHourPeriod as SpecialHourPeriod, type context$5_SupportedLanguage as SupportedLanguage, type context$5_TimePeriod as TimePeriod, type context$5_Translation as Translation, type context$5_UrlInvalidationNotification as UrlInvalidationNotification, context$5_getBlogCache as getBlogCache };
|
|
804
1170
|
}
|
|
805
1171
|
|
|
1172
|
+
type HostModule$4<T, H extends Host$4> = {
|
|
1173
|
+
__type: 'host';
|
|
1174
|
+
create(host: H): T;
|
|
1175
|
+
};
|
|
1176
|
+
type HostModuleAPI$4<T extends HostModule$4<any, any>> = T extends HostModule$4<infer U, any> ? U : never;
|
|
1177
|
+
type Host$4<Environment = unknown> = {
|
|
1178
|
+
channel: {
|
|
1179
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
1180
|
+
disconnect: () => void;
|
|
1181
|
+
} | Promise<{
|
|
1182
|
+
disconnect: () => void;
|
|
1183
|
+
}>;
|
|
1184
|
+
};
|
|
1185
|
+
environment?: Environment;
|
|
1186
|
+
/**
|
|
1187
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
1188
|
+
*/
|
|
1189
|
+
apiBaseUrl?: string;
|
|
1190
|
+
/**
|
|
1191
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
1192
|
+
* like internationalization, billing, etc.
|
|
1193
|
+
*/
|
|
1194
|
+
essentials?: {
|
|
1195
|
+
/**
|
|
1196
|
+
* The language of the currently viewed session
|
|
1197
|
+
*/
|
|
1198
|
+
language?: string;
|
|
1199
|
+
/**
|
|
1200
|
+
* The locale of the currently viewed session
|
|
1201
|
+
*/
|
|
1202
|
+
locale?: string;
|
|
1203
|
+
/**
|
|
1204
|
+
* Any headers that should be passed through to the API requests
|
|
1205
|
+
*/
|
|
1206
|
+
passThroughHeaders?: Record<string, string>;
|
|
1207
|
+
};
|
|
1208
|
+
};
|
|
1209
|
+
|
|
1210
|
+
type RESTFunctionDescriptor$4<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$4) => T;
|
|
1211
|
+
interface HttpClient$4 {
|
|
1212
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory$4<TResponse, TData>): Promise<HttpResponse$4<TResponse>>;
|
|
1213
|
+
fetchWithAuth: typeof fetch;
|
|
1214
|
+
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
1215
|
+
getActiveToken?: () => string | undefined;
|
|
1216
|
+
}
|
|
1217
|
+
type RequestOptionsFactory$4<TResponse = any, TData = any> = (context: any) => RequestOptions$4<TResponse, TData>;
|
|
1218
|
+
type HttpResponse$4<T = any> = {
|
|
1219
|
+
data: T;
|
|
1220
|
+
status: number;
|
|
1221
|
+
statusText: string;
|
|
1222
|
+
headers: any;
|
|
1223
|
+
request?: any;
|
|
1224
|
+
};
|
|
1225
|
+
type RequestOptions$4<_TResponse = any, Data = any> = {
|
|
1226
|
+
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
1227
|
+
url: string;
|
|
1228
|
+
data?: Data;
|
|
1229
|
+
params?: URLSearchParams;
|
|
1230
|
+
} & APIMetadata$4;
|
|
1231
|
+
type APIMetadata$4 = {
|
|
1232
|
+
methodFqn?: string;
|
|
1233
|
+
entityFqdn?: string;
|
|
1234
|
+
packageName?: string;
|
|
1235
|
+
};
|
|
1236
|
+
type BuildRESTFunction$4<T extends RESTFunctionDescriptor$4> = T extends RESTFunctionDescriptor$4<infer U> ? U : never;
|
|
1237
|
+
type EventDefinition$8<Payload = unknown, Type extends string = string> = {
|
|
1238
|
+
__type: 'event-definition';
|
|
1239
|
+
type: Type;
|
|
1240
|
+
isDomainEvent?: boolean;
|
|
1241
|
+
transformations?: (envelope: unknown) => Payload;
|
|
1242
|
+
__payload: Payload;
|
|
1243
|
+
};
|
|
1244
|
+
declare function EventDefinition$8<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$8<Payload, Type>;
|
|
1245
|
+
type EventHandler$8<T extends EventDefinition$8> = (payload: T['__payload']) => void | Promise<void>;
|
|
1246
|
+
type BuildEventDefinition$8<T extends EventDefinition$8<any, string>> = (handler: EventHandler$8<T>) => void;
|
|
1247
|
+
|
|
1248
|
+
type ServicePluginMethodInput$4 = {
|
|
1249
|
+
request: any;
|
|
1250
|
+
metadata: any;
|
|
1251
|
+
};
|
|
1252
|
+
type ServicePluginContract$4 = Record<string, (payload: ServicePluginMethodInput$4) => unknown | Promise<unknown>>;
|
|
1253
|
+
type ServicePluginMethodMetadata$4 = {
|
|
1254
|
+
name: string;
|
|
1255
|
+
primaryHttpMappingPath: string;
|
|
1256
|
+
transformations: {
|
|
1257
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput$4;
|
|
1258
|
+
toREST: (...args: unknown[]) => unknown;
|
|
1259
|
+
};
|
|
1260
|
+
};
|
|
1261
|
+
type ServicePluginDefinition$4<Contract extends ServicePluginContract$4> = {
|
|
1262
|
+
__type: 'service-plugin-definition';
|
|
1263
|
+
componentType: string;
|
|
1264
|
+
methods: ServicePluginMethodMetadata$4[];
|
|
1265
|
+
__contract: Contract;
|
|
1266
|
+
};
|
|
1267
|
+
declare function ServicePluginDefinition$4<Contract extends ServicePluginContract$4>(componentType: string, methods: ServicePluginMethodMetadata$4[]): ServicePluginDefinition$4<Contract>;
|
|
1268
|
+
type BuildServicePluginDefinition$4<T extends ServicePluginDefinition$4<any>> = (implementation: T['__contract']) => void;
|
|
1269
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE$4 = "wix_spi_error";
|
|
1270
|
+
|
|
1271
|
+
type RequestContext$4 = {
|
|
1272
|
+
isSSR: boolean;
|
|
1273
|
+
host: string;
|
|
1274
|
+
protocol?: string;
|
|
1275
|
+
};
|
|
1276
|
+
type ResponseTransformer$4 = (data: any, headers?: any) => any;
|
|
1277
|
+
/**
|
|
1278
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
1279
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
1280
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
1281
|
+
*/
|
|
1282
|
+
type Method$4 = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
1283
|
+
type AmbassadorRequestOptions$4<T = any> = {
|
|
1284
|
+
_?: T;
|
|
1285
|
+
url?: string;
|
|
1286
|
+
method?: Method$4;
|
|
1287
|
+
params?: any;
|
|
1288
|
+
data?: any;
|
|
1289
|
+
transformResponse?: ResponseTransformer$4 | ResponseTransformer$4[];
|
|
1290
|
+
};
|
|
1291
|
+
type AmbassadorFactory$4<Request, Response> = (payload: Request) => ((context: RequestContext$4) => AmbassadorRequestOptions$4<Response>) & {
|
|
1292
|
+
__isAmbassador: boolean;
|
|
1293
|
+
};
|
|
1294
|
+
type AmbassadorFunctionDescriptor$4<Request = any, Response = any> = AmbassadorFactory$4<Request, Response>;
|
|
1295
|
+
type BuildAmbassadorFunction$4<T extends AmbassadorFunctionDescriptor$4> = T extends AmbassadorFunctionDescriptor$4<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
1296
|
+
|
|
1297
|
+
declare global {
|
|
1298
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
1299
|
+
interface SymbolConstructor {
|
|
1300
|
+
readonly observable: symbol;
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
declare const emptyObjectSymbol$4: unique symbol;
|
|
1305
|
+
|
|
1306
|
+
/**
|
|
1307
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
1308
|
+
|
|
1309
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
1310
|
+
|
|
1311
|
+
@example
|
|
1312
|
+
```
|
|
1313
|
+
import type {EmptyObject} from 'type-fest';
|
|
1314
|
+
|
|
1315
|
+
// The following illustrates the problem with `{}`.
|
|
1316
|
+
const foo1: {} = {}; // Pass
|
|
1317
|
+
const foo2: {} = []; // Pass
|
|
1318
|
+
const foo3: {} = 42; // Pass
|
|
1319
|
+
const foo4: {} = {a: 1}; // Pass
|
|
1320
|
+
|
|
1321
|
+
// With `EmptyObject` only the first case is valid.
|
|
1322
|
+
const bar1: EmptyObject = {}; // Pass
|
|
1323
|
+
const bar2: EmptyObject = 42; // Fail
|
|
1324
|
+
const bar3: EmptyObject = []; // Fail
|
|
1325
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
1326
|
+
```
|
|
1327
|
+
|
|
1328
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
1329
|
+
|
|
1330
|
+
@category Object
|
|
1331
|
+
*/
|
|
1332
|
+
type EmptyObject$4 = {[emptyObjectSymbol$4]?: never};
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
Returns a boolean for whether the two given types are equal.
|
|
1336
|
+
|
|
1337
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
1338
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
1339
|
+
|
|
1340
|
+
Use-cases:
|
|
1341
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
1342
|
+
|
|
1343
|
+
@example
|
|
1344
|
+
```
|
|
1345
|
+
import type {IsEqual} from 'type-fest';
|
|
1346
|
+
|
|
1347
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
1348
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
1349
|
+
type Includes<Value extends readonly any[], Item> =
|
|
1350
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
1351
|
+
? IsEqual<Value[0], Item> extends true
|
|
1352
|
+
? true
|
|
1353
|
+
: Includes<rest, Item>
|
|
1354
|
+
: false;
|
|
1355
|
+
```
|
|
1356
|
+
|
|
1357
|
+
@category Type Guard
|
|
1358
|
+
@category Utilities
|
|
1359
|
+
*/
|
|
1360
|
+
type IsEqual$4<A, B> =
|
|
1361
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
1362
|
+
(<G>() => G extends B ? 1 : 2)
|
|
1363
|
+
? true
|
|
1364
|
+
: false;
|
|
1365
|
+
|
|
1366
|
+
/**
|
|
1367
|
+
Filter out keys from an object.
|
|
1368
|
+
|
|
1369
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
1370
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
1371
|
+
Returns `Key` otherwise.
|
|
1372
|
+
|
|
1373
|
+
@example
|
|
1374
|
+
```
|
|
1375
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
1376
|
+
//=> never
|
|
1377
|
+
```
|
|
1378
|
+
|
|
1379
|
+
@example
|
|
1380
|
+
```
|
|
1381
|
+
type Filtered = Filter<'bar', string>;
|
|
1382
|
+
//=> never
|
|
1383
|
+
```
|
|
1384
|
+
|
|
1385
|
+
@example
|
|
1386
|
+
```
|
|
1387
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
1388
|
+
//=> 'bar'
|
|
1389
|
+
```
|
|
1390
|
+
|
|
1391
|
+
@see {Except}
|
|
1392
|
+
*/
|
|
1393
|
+
type Filter$4<KeyType, ExcludeType> = IsEqual$4<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
1394
|
+
|
|
1395
|
+
type ExceptOptions$4 = {
|
|
1396
|
+
/**
|
|
1397
|
+
Disallow assigning non-specified properties.
|
|
1398
|
+
|
|
1399
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
1400
|
+
|
|
1401
|
+
@default false
|
|
1402
|
+
*/
|
|
1403
|
+
requireExactProps?: boolean;
|
|
1404
|
+
};
|
|
1405
|
+
|
|
1406
|
+
/**
|
|
1407
|
+
Create a type from an object type without certain keys.
|
|
1408
|
+
|
|
1409
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
1410
|
+
|
|
1411
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
1412
|
+
|
|
1413
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
1414
|
+
|
|
1415
|
+
@example
|
|
1416
|
+
```
|
|
1417
|
+
import type {Except} from 'type-fest';
|
|
1418
|
+
|
|
1419
|
+
type Foo = {
|
|
1420
|
+
a: number;
|
|
1421
|
+
b: string;
|
|
1422
|
+
};
|
|
1423
|
+
|
|
1424
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
1425
|
+
//=> {b: string}
|
|
1426
|
+
|
|
1427
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
1428
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
1429
|
+
|
|
1430
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
1431
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
1432
|
+
|
|
1433
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
1434
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
1435
|
+
```
|
|
1436
|
+
|
|
1437
|
+
@category Object
|
|
1438
|
+
*/
|
|
1439
|
+
type Except$4<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions$4 = {requireExactProps: false}> = {
|
|
1440
|
+
[KeyType in keyof ObjectType as Filter$4<KeyType, KeysType>]: ObjectType[KeyType];
|
|
1441
|
+
} & (Options['requireExactProps'] extends true
|
|
1442
|
+
? Partial<Record<KeysType, never>>
|
|
1443
|
+
: {});
|
|
1444
|
+
|
|
1445
|
+
/**
|
|
1446
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
1447
|
+
|
|
1448
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
1449
|
+
|
|
1450
|
+
@example
|
|
1451
|
+
```
|
|
1452
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
1453
|
+
|
|
1454
|
+
interface Example {
|
|
1455
|
+
a: string;
|
|
1456
|
+
b: string | number;
|
|
1457
|
+
c?: string;
|
|
1458
|
+
d: {};
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
1462
|
+
//=> 'a'
|
|
1463
|
+
```
|
|
1464
|
+
|
|
1465
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
1466
|
+
|
|
1467
|
+
@example
|
|
1468
|
+
```
|
|
1469
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
1470
|
+
|
|
1471
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
1472
|
+
//=> 'a' | 'c'
|
|
1473
|
+
```
|
|
1474
|
+
|
|
1475
|
+
@category Object
|
|
1476
|
+
*/
|
|
1477
|
+
type ConditionalKeys$4<Base, Condition> = NonNullable<
|
|
1478
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
1479
|
+
{
|
|
1480
|
+
// Map through all the keys of the given base type.
|
|
1481
|
+
[Key in keyof Base]:
|
|
1482
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
1483
|
+
Base[Key] extends Condition
|
|
1484
|
+
// Retain this key since the condition passes.
|
|
1485
|
+
? Key
|
|
1486
|
+
// Discard this key since the condition fails.
|
|
1487
|
+
: never;
|
|
1488
|
+
|
|
1489
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
1490
|
+
}[keyof Base]
|
|
1491
|
+
>;
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
1495
|
+
|
|
1496
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
1497
|
+
|
|
1498
|
+
@example
|
|
1499
|
+
```
|
|
1500
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
1501
|
+
|
|
1502
|
+
class Awesome {
|
|
1503
|
+
name: string;
|
|
1504
|
+
successes: number;
|
|
1505
|
+
failures: bigint;
|
|
1506
|
+
|
|
1507
|
+
run() {}
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
1511
|
+
//=> {run: () => void}
|
|
1512
|
+
```
|
|
1513
|
+
|
|
1514
|
+
@example
|
|
1515
|
+
```
|
|
1516
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
1517
|
+
|
|
1518
|
+
interface Example {
|
|
1519
|
+
a: string;
|
|
1520
|
+
b: string | number;
|
|
1521
|
+
c: () => void;
|
|
1522
|
+
d: {};
|
|
1523
|
+
}
|
|
1524
|
+
|
|
1525
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
1526
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
1527
|
+
```
|
|
1528
|
+
|
|
1529
|
+
@category Object
|
|
1530
|
+
*/
|
|
1531
|
+
type ConditionalExcept$4<Base, Condition> = Except$4<
|
|
1532
|
+
Base,
|
|
1533
|
+
ConditionalKeys$4<Base, Condition>
|
|
1534
|
+
>;
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
1538
|
+
* can either be a REST module or a host module.
|
|
1539
|
+
* This type is recursive, so it can describe nested modules.
|
|
1540
|
+
*/
|
|
1541
|
+
type Descriptors$4 = RESTFunctionDescriptor$4 | AmbassadorFunctionDescriptor$4 | HostModule$4<any, any> | EventDefinition$8<any> | ServicePluginDefinition$4<any> | {
|
|
1542
|
+
[key: string]: Descriptors$4 | PublicMetadata$4 | any;
|
|
1543
|
+
};
|
|
1544
|
+
/**
|
|
1545
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
1546
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
1547
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
1548
|
+
* do not match the given host (as they will not work with the given host).
|
|
1549
|
+
*/
|
|
1550
|
+
type BuildDescriptors$4<T extends Descriptors$4, H extends Host$4<any> | undefined, Depth extends number = 5> = {
|
|
1551
|
+
done: T;
|
|
1552
|
+
recurse: T extends {
|
|
1553
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE$4;
|
|
1554
|
+
} ? never : T extends AmbassadorFunctionDescriptor$4 ? BuildAmbassadorFunction$4<T> : T extends RESTFunctionDescriptor$4 ? BuildRESTFunction$4<T> : T extends EventDefinition$8<any> ? BuildEventDefinition$8<T> : T extends ServicePluginDefinition$4<any> ? BuildServicePluginDefinition$4<T> : T extends HostModule$4<any, any> ? HostModuleAPI$4<T> : ConditionalExcept$4<{
|
|
1555
|
+
[Key in keyof T]: T[Key] extends Descriptors$4 ? BuildDescriptors$4<T[Key], H, [
|
|
1556
|
+
-1,
|
|
1557
|
+
0,
|
|
1558
|
+
1,
|
|
1559
|
+
2,
|
|
1560
|
+
3,
|
|
1561
|
+
4,
|
|
1562
|
+
5
|
|
1563
|
+
][Depth]> : never;
|
|
1564
|
+
}, EmptyObject$4>;
|
|
1565
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
1566
|
+
type PublicMetadata$4 = {
|
|
1567
|
+
PACKAGE_NAME?: string;
|
|
1568
|
+
};
|
|
1569
|
+
|
|
1570
|
+
declare global {
|
|
1571
|
+
interface ContextualClient {
|
|
1572
|
+
}
|
|
1573
|
+
}
|
|
1574
|
+
/**
|
|
1575
|
+
* A type used to create concerete types from SDK descriptors in
|
|
1576
|
+
* case a contextual client is available.
|
|
1577
|
+
*/
|
|
1578
|
+
type MaybeContext$4<T extends Descriptors$4> = globalThis.ContextualClient extends {
|
|
1579
|
+
host: Host$4;
|
|
1580
|
+
} ? BuildDescriptors$4<T, globalThis.ContextualClient['host']> : T;
|
|
1581
|
+
|
|
806
1582
|
interface ImportStatus {
|
|
807
1583
|
/** Import Id. */
|
|
808
1584
|
_id?: string;
|
|
@@ -874,62 +1650,472 @@ interface GetNotImportedPostsResponseNonNullableFields {
|
|
|
874
1650
|
notImportedPosts: PostNonNullableFields$1[];
|
|
875
1651
|
}
|
|
876
1652
|
|
|
877
|
-
declare function startImport$1(httpClient: HttpClient): StartImportSignature;
|
|
878
|
-
interface StartImportSignature {
|
|
879
|
-
/**
|
|
880
|
-
* Starts wordpress import process.
|
|
881
|
-
*/
|
|
882
|
-
(): Promise<void>;
|
|
883
|
-
}
|
|
884
|
-
declare function submitUrlForImport$1(httpClient: HttpClient): SubmitUrlForImportSignature;
|
|
885
|
-
interface SubmitUrlForImportSignature {
|
|
886
|
-
/**
|
|
887
|
-
* Submits wordpress import process from URL.
|
|
888
|
-
* It will prepare wordpress data for import from the given URL.
|
|
889
|
-
* Use "GetImportStatus" to get the status of the import process.
|
|
890
|
-
* Once the import status becomes READY_TO_IMPORT, the import process can be started by invoking "StartImport".
|
|
891
|
-
* @param - Url to wordpress xml file.
|
|
892
|
-
*/
|
|
893
|
-
(url: string): Promise<void>;
|
|
1653
|
+
declare function startImport$1(httpClient: HttpClient$4): StartImportSignature;
|
|
1654
|
+
interface StartImportSignature {
|
|
1655
|
+
/**
|
|
1656
|
+
* Starts wordpress import process.
|
|
1657
|
+
*/
|
|
1658
|
+
(): Promise<void>;
|
|
1659
|
+
}
|
|
1660
|
+
declare function submitUrlForImport$1(httpClient: HttpClient$4): SubmitUrlForImportSignature;
|
|
1661
|
+
interface SubmitUrlForImportSignature {
|
|
1662
|
+
/**
|
|
1663
|
+
* Submits wordpress import process from URL.
|
|
1664
|
+
* It will prepare wordpress data for import from the given URL.
|
|
1665
|
+
* Use "GetImportStatus" to get the status of the import process.
|
|
1666
|
+
* Once the import status becomes READY_TO_IMPORT, the import process can be started by invoking "StartImport".
|
|
1667
|
+
* @param - Url to wordpress xml file.
|
|
1668
|
+
*/
|
|
1669
|
+
(url: string): Promise<void>;
|
|
1670
|
+
}
|
|
1671
|
+
declare function getImportStatus$1(httpClient: HttpClient$4): GetImportStatusSignature;
|
|
1672
|
+
interface GetImportStatusSignature {
|
|
1673
|
+
/**
|
|
1674
|
+
* Gets the status of the import process.
|
|
1675
|
+
*/
|
|
1676
|
+
(): Promise<GetImportStatusResponse & GetImportStatusResponseNonNullableFields>;
|
|
1677
|
+
}
|
|
1678
|
+
declare function getNotImportedPosts$1(httpClient: HttpClient$4): GetNotImportedPostsSignature;
|
|
1679
|
+
interface GetNotImportedPostsSignature {
|
|
1680
|
+
/**
|
|
1681
|
+
* Gets the posts that were not yet imported either because of an error or because import is still in progress.
|
|
1682
|
+
*/
|
|
1683
|
+
(): Promise<GetNotImportedPostsResponse & GetNotImportedPostsResponseNonNullableFields>;
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
declare const startImport: MaybeContext$4<BuildRESTFunction$4<typeof startImport$1> & typeof startImport$1>;
|
|
1687
|
+
declare const submitUrlForImport: MaybeContext$4<BuildRESTFunction$4<typeof submitUrlForImport$1> & typeof submitUrlForImport$1>;
|
|
1688
|
+
declare const getImportStatus: MaybeContext$4<BuildRESTFunction$4<typeof getImportStatus$1> & typeof getImportStatus$1>;
|
|
1689
|
+
declare const getNotImportedPosts: MaybeContext$4<BuildRESTFunction$4<typeof getNotImportedPosts$1> & typeof getNotImportedPosts$1>;
|
|
1690
|
+
|
|
1691
|
+
type context$4_GetImportStatusRequest = GetImportStatusRequest;
|
|
1692
|
+
type context$4_GetImportStatusResponse = GetImportStatusResponse;
|
|
1693
|
+
type context$4_GetImportStatusResponseNonNullableFields = GetImportStatusResponseNonNullableFields;
|
|
1694
|
+
type context$4_GetNotImportedPostsRequest = GetNotImportedPostsRequest;
|
|
1695
|
+
type context$4_GetNotImportedPostsResponse = GetNotImportedPostsResponse;
|
|
1696
|
+
type context$4_GetNotImportedPostsResponseNonNullableFields = GetNotImportedPostsResponseNonNullableFields;
|
|
1697
|
+
type context$4_ImportStatus = ImportStatus;
|
|
1698
|
+
type context$4_StartImportRequest = StartImportRequest;
|
|
1699
|
+
type context$4_StartImportResponse = StartImportResponse;
|
|
1700
|
+
type context$4_SubmitUrlForImportRequest = SubmitUrlForImportRequest;
|
|
1701
|
+
type context$4_SubmitUrlForImportResponse = SubmitUrlForImportResponse;
|
|
1702
|
+
declare const context$4_getImportStatus: typeof getImportStatus;
|
|
1703
|
+
declare const context$4_getNotImportedPosts: typeof getNotImportedPosts;
|
|
1704
|
+
declare const context$4_startImport: typeof startImport;
|
|
1705
|
+
declare const context$4_submitUrlForImport: typeof submitUrlForImport;
|
|
1706
|
+
declare namespace context$4 {
|
|
1707
|
+
export { type context$4_GetImportStatusRequest as GetImportStatusRequest, type context$4_GetImportStatusResponse as GetImportStatusResponse, type context$4_GetImportStatusResponseNonNullableFields as GetImportStatusResponseNonNullableFields, type context$4_GetNotImportedPostsRequest as GetNotImportedPostsRequest, type context$4_GetNotImportedPostsResponse as GetNotImportedPostsResponse, type context$4_GetNotImportedPostsResponseNonNullableFields as GetNotImportedPostsResponseNonNullableFields, type context$4_ImportStatus as ImportStatus, type Post$1 as Post, type context$4_StartImportRequest as StartImportRequest, type context$4_StartImportResponse as StartImportResponse, Status$2 as Status, type context$4_SubmitUrlForImportRequest as SubmitUrlForImportRequest, type context$4_SubmitUrlForImportResponse as SubmitUrlForImportResponse, context$4_getImportStatus as getImportStatus, context$4_getNotImportedPosts as getNotImportedPosts, context$4_startImport as startImport, context$4_submitUrlForImport as submitUrlForImport };
|
|
1708
|
+
}
|
|
1709
|
+
|
|
1710
|
+
type HostModule$3<T, H extends Host$3> = {
|
|
1711
|
+
__type: 'host';
|
|
1712
|
+
create(host: H): T;
|
|
1713
|
+
};
|
|
1714
|
+
type HostModuleAPI$3<T extends HostModule$3<any, any>> = T extends HostModule$3<infer U, any> ? U : never;
|
|
1715
|
+
type Host$3<Environment = unknown> = {
|
|
1716
|
+
channel: {
|
|
1717
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
1718
|
+
disconnect: () => void;
|
|
1719
|
+
} | Promise<{
|
|
1720
|
+
disconnect: () => void;
|
|
1721
|
+
}>;
|
|
1722
|
+
};
|
|
1723
|
+
environment?: Environment;
|
|
1724
|
+
/**
|
|
1725
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
1726
|
+
*/
|
|
1727
|
+
apiBaseUrl?: string;
|
|
1728
|
+
/**
|
|
1729
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
1730
|
+
* like internationalization, billing, etc.
|
|
1731
|
+
*/
|
|
1732
|
+
essentials?: {
|
|
1733
|
+
/**
|
|
1734
|
+
* The language of the currently viewed session
|
|
1735
|
+
*/
|
|
1736
|
+
language?: string;
|
|
1737
|
+
/**
|
|
1738
|
+
* The locale of the currently viewed session
|
|
1739
|
+
*/
|
|
1740
|
+
locale?: string;
|
|
1741
|
+
/**
|
|
1742
|
+
* Any headers that should be passed through to the API requests
|
|
1743
|
+
*/
|
|
1744
|
+
passThroughHeaders?: Record<string, string>;
|
|
1745
|
+
};
|
|
1746
|
+
};
|
|
1747
|
+
|
|
1748
|
+
type RESTFunctionDescriptor$3<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$3) => T;
|
|
1749
|
+
interface HttpClient$3 {
|
|
1750
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory$3<TResponse, TData>): Promise<HttpResponse$3<TResponse>>;
|
|
1751
|
+
fetchWithAuth: typeof fetch;
|
|
1752
|
+
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
1753
|
+
getActiveToken?: () => string | undefined;
|
|
1754
|
+
}
|
|
1755
|
+
type RequestOptionsFactory$3<TResponse = any, TData = any> = (context: any) => RequestOptions$3<TResponse, TData>;
|
|
1756
|
+
type HttpResponse$3<T = any> = {
|
|
1757
|
+
data: T;
|
|
1758
|
+
status: number;
|
|
1759
|
+
statusText: string;
|
|
1760
|
+
headers: any;
|
|
1761
|
+
request?: any;
|
|
1762
|
+
};
|
|
1763
|
+
type RequestOptions$3<_TResponse = any, Data = any> = {
|
|
1764
|
+
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
1765
|
+
url: string;
|
|
1766
|
+
data?: Data;
|
|
1767
|
+
params?: URLSearchParams;
|
|
1768
|
+
} & APIMetadata$3;
|
|
1769
|
+
type APIMetadata$3 = {
|
|
1770
|
+
methodFqn?: string;
|
|
1771
|
+
entityFqdn?: string;
|
|
1772
|
+
packageName?: string;
|
|
1773
|
+
};
|
|
1774
|
+
type BuildRESTFunction$3<T extends RESTFunctionDescriptor$3> = T extends RESTFunctionDescriptor$3<infer U> ? U : never;
|
|
1775
|
+
type EventDefinition$7<Payload = unknown, Type extends string = string> = {
|
|
1776
|
+
__type: 'event-definition';
|
|
1777
|
+
type: Type;
|
|
1778
|
+
isDomainEvent?: boolean;
|
|
1779
|
+
transformations?: (envelope: unknown) => Payload;
|
|
1780
|
+
__payload: Payload;
|
|
1781
|
+
};
|
|
1782
|
+
declare function EventDefinition$7<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$7<Payload, Type>;
|
|
1783
|
+
type EventHandler$7<T extends EventDefinition$7> = (payload: T['__payload']) => void | Promise<void>;
|
|
1784
|
+
type BuildEventDefinition$7<T extends EventDefinition$7<any, string>> = (handler: EventHandler$7<T>) => void;
|
|
1785
|
+
|
|
1786
|
+
type ServicePluginMethodInput$3 = {
|
|
1787
|
+
request: any;
|
|
1788
|
+
metadata: any;
|
|
1789
|
+
};
|
|
1790
|
+
type ServicePluginContract$3 = Record<string, (payload: ServicePluginMethodInput$3) => unknown | Promise<unknown>>;
|
|
1791
|
+
type ServicePluginMethodMetadata$3 = {
|
|
1792
|
+
name: string;
|
|
1793
|
+
primaryHttpMappingPath: string;
|
|
1794
|
+
transformations: {
|
|
1795
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput$3;
|
|
1796
|
+
toREST: (...args: unknown[]) => unknown;
|
|
1797
|
+
};
|
|
1798
|
+
};
|
|
1799
|
+
type ServicePluginDefinition$3<Contract extends ServicePluginContract$3> = {
|
|
1800
|
+
__type: 'service-plugin-definition';
|
|
1801
|
+
componentType: string;
|
|
1802
|
+
methods: ServicePluginMethodMetadata$3[];
|
|
1803
|
+
__contract: Contract;
|
|
1804
|
+
};
|
|
1805
|
+
declare function ServicePluginDefinition$3<Contract extends ServicePluginContract$3>(componentType: string, methods: ServicePluginMethodMetadata$3[]): ServicePluginDefinition$3<Contract>;
|
|
1806
|
+
type BuildServicePluginDefinition$3<T extends ServicePluginDefinition$3<any>> = (implementation: T['__contract']) => void;
|
|
1807
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE$3 = "wix_spi_error";
|
|
1808
|
+
|
|
1809
|
+
type RequestContext$3 = {
|
|
1810
|
+
isSSR: boolean;
|
|
1811
|
+
host: string;
|
|
1812
|
+
protocol?: string;
|
|
1813
|
+
};
|
|
1814
|
+
type ResponseTransformer$3 = (data: any, headers?: any) => any;
|
|
1815
|
+
/**
|
|
1816
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
1817
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
1818
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
1819
|
+
*/
|
|
1820
|
+
type Method$3 = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
1821
|
+
type AmbassadorRequestOptions$3<T = any> = {
|
|
1822
|
+
_?: T;
|
|
1823
|
+
url?: string;
|
|
1824
|
+
method?: Method$3;
|
|
1825
|
+
params?: any;
|
|
1826
|
+
data?: any;
|
|
1827
|
+
transformResponse?: ResponseTransformer$3 | ResponseTransformer$3[];
|
|
1828
|
+
};
|
|
1829
|
+
type AmbassadorFactory$3<Request, Response> = (payload: Request) => ((context: RequestContext$3) => AmbassadorRequestOptions$3<Response>) & {
|
|
1830
|
+
__isAmbassador: boolean;
|
|
1831
|
+
};
|
|
1832
|
+
type AmbassadorFunctionDescriptor$3<Request = any, Response = any> = AmbassadorFactory$3<Request, Response>;
|
|
1833
|
+
type BuildAmbassadorFunction$3<T extends AmbassadorFunctionDescriptor$3> = T extends AmbassadorFunctionDescriptor$3<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
1834
|
+
|
|
1835
|
+
declare global {
|
|
1836
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
1837
|
+
interface SymbolConstructor {
|
|
1838
|
+
readonly observable: symbol;
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1841
|
+
|
|
1842
|
+
declare const emptyObjectSymbol$3: unique symbol;
|
|
1843
|
+
|
|
1844
|
+
/**
|
|
1845
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
1846
|
+
|
|
1847
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
1848
|
+
|
|
1849
|
+
@example
|
|
1850
|
+
```
|
|
1851
|
+
import type {EmptyObject} from 'type-fest';
|
|
1852
|
+
|
|
1853
|
+
// The following illustrates the problem with `{}`.
|
|
1854
|
+
const foo1: {} = {}; // Pass
|
|
1855
|
+
const foo2: {} = []; // Pass
|
|
1856
|
+
const foo3: {} = 42; // Pass
|
|
1857
|
+
const foo4: {} = {a: 1}; // Pass
|
|
1858
|
+
|
|
1859
|
+
// With `EmptyObject` only the first case is valid.
|
|
1860
|
+
const bar1: EmptyObject = {}; // Pass
|
|
1861
|
+
const bar2: EmptyObject = 42; // Fail
|
|
1862
|
+
const bar3: EmptyObject = []; // Fail
|
|
1863
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
1864
|
+
```
|
|
1865
|
+
|
|
1866
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
1867
|
+
|
|
1868
|
+
@category Object
|
|
1869
|
+
*/
|
|
1870
|
+
type EmptyObject$3 = {[emptyObjectSymbol$3]?: never};
|
|
1871
|
+
|
|
1872
|
+
/**
|
|
1873
|
+
Returns a boolean for whether the two given types are equal.
|
|
1874
|
+
|
|
1875
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
1876
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
1877
|
+
|
|
1878
|
+
Use-cases:
|
|
1879
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
1880
|
+
|
|
1881
|
+
@example
|
|
1882
|
+
```
|
|
1883
|
+
import type {IsEqual} from 'type-fest';
|
|
1884
|
+
|
|
1885
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
1886
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
1887
|
+
type Includes<Value extends readonly any[], Item> =
|
|
1888
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
1889
|
+
? IsEqual<Value[0], Item> extends true
|
|
1890
|
+
? true
|
|
1891
|
+
: Includes<rest, Item>
|
|
1892
|
+
: false;
|
|
1893
|
+
```
|
|
1894
|
+
|
|
1895
|
+
@category Type Guard
|
|
1896
|
+
@category Utilities
|
|
1897
|
+
*/
|
|
1898
|
+
type IsEqual$3<A, B> =
|
|
1899
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
1900
|
+
(<G>() => G extends B ? 1 : 2)
|
|
1901
|
+
? true
|
|
1902
|
+
: false;
|
|
1903
|
+
|
|
1904
|
+
/**
|
|
1905
|
+
Filter out keys from an object.
|
|
1906
|
+
|
|
1907
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
1908
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
1909
|
+
Returns `Key` otherwise.
|
|
1910
|
+
|
|
1911
|
+
@example
|
|
1912
|
+
```
|
|
1913
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
1914
|
+
//=> never
|
|
1915
|
+
```
|
|
1916
|
+
|
|
1917
|
+
@example
|
|
1918
|
+
```
|
|
1919
|
+
type Filtered = Filter<'bar', string>;
|
|
1920
|
+
//=> never
|
|
1921
|
+
```
|
|
1922
|
+
|
|
1923
|
+
@example
|
|
1924
|
+
```
|
|
1925
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
1926
|
+
//=> 'bar'
|
|
1927
|
+
```
|
|
1928
|
+
|
|
1929
|
+
@see {Except}
|
|
1930
|
+
*/
|
|
1931
|
+
type Filter$3<KeyType, ExcludeType> = IsEqual$3<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
1932
|
+
|
|
1933
|
+
type ExceptOptions$3 = {
|
|
1934
|
+
/**
|
|
1935
|
+
Disallow assigning non-specified properties.
|
|
1936
|
+
|
|
1937
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
1938
|
+
|
|
1939
|
+
@default false
|
|
1940
|
+
*/
|
|
1941
|
+
requireExactProps?: boolean;
|
|
1942
|
+
};
|
|
1943
|
+
|
|
1944
|
+
/**
|
|
1945
|
+
Create a type from an object type without certain keys.
|
|
1946
|
+
|
|
1947
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
1948
|
+
|
|
1949
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
1950
|
+
|
|
1951
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
1952
|
+
|
|
1953
|
+
@example
|
|
1954
|
+
```
|
|
1955
|
+
import type {Except} from 'type-fest';
|
|
1956
|
+
|
|
1957
|
+
type Foo = {
|
|
1958
|
+
a: number;
|
|
1959
|
+
b: string;
|
|
1960
|
+
};
|
|
1961
|
+
|
|
1962
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
1963
|
+
//=> {b: string}
|
|
1964
|
+
|
|
1965
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
1966
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
1967
|
+
|
|
1968
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
1969
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
1970
|
+
|
|
1971
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
1972
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
1973
|
+
```
|
|
1974
|
+
|
|
1975
|
+
@category Object
|
|
1976
|
+
*/
|
|
1977
|
+
type Except$3<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions$3 = {requireExactProps: false}> = {
|
|
1978
|
+
[KeyType in keyof ObjectType as Filter$3<KeyType, KeysType>]: ObjectType[KeyType];
|
|
1979
|
+
} & (Options['requireExactProps'] extends true
|
|
1980
|
+
? Partial<Record<KeysType, never>>
|
|
1981
|
+
: {});
|
|
1982
|
+
|
|
1983
|
+
/**
|
|
1984
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
1985
|
+
|
|
1986
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
1987
|
+
|
|
1988
|
+
@example
|
|
1989
|
+
```
|
|
1990
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
1991
|
+
|
|
1992
|
+
interface Example {
|
|
1993
|
+
a: string;
|
|
1994
|
+
b: string | number;
|
|
1995
|
+
c?: string;
|
|
1996
|
+
d: {};
|
|
894
1997
|
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
1998
|
+
|
|
1999
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
2000
|
+
//=> 'a'
|
|
2001
|
+
```
|
|
2002
|
+
|
|
2003
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
2004
|
+
|
|
2005
|
+
@example
|
|
2006
|
+
```
|
|
2007
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
2008
|
+
|
|
2009
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
2010
|
+
//=> 'a' | 'c'
|
|
2011
|
+
```
|
|
2012
|
+
|
|
2013
|
+
@category Object
|
|
2014
|
+
*/
|
|
2015
|
+
type ConditionalKeys$3<Base, Condition> = NonNullable<
|
|
2016
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
2017
|
+
{
|
|
2018
|
+
// Map through all the keys of the given base type.
|
|
2019
|
+
[Key in keyof Base]:
|
|
2020
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
2021
|
+
Base[Key] extends Condition
|
|
2022
|
+
// Retain this key since the condition passes.
|
|
2023
|
+
? Key
|
|
2024
|
+
// Discard this key since the condition fails.
|
|
2025
|
+
: never;
|
|
2026
|
+
|
|
2027
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
2028
|
+
}[keyof Base]
|
|
2029
|
+
>;
|
|
2030
|
+
|
|
2031
|
+
/**
|
|
2032
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
2033
|
+
|
|
2034
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
2035
|
+
|
|
2036
|
+
@example
|
|
2037
|
+
```
|
|
2038
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
2039
|
+
|
|
2040
|
+
class Awesome {
|
|
2041
|
+
name: string;
|
|
2042
|
+
successes: number;
|
|
2043
|
+
failures: bigint;
|
|
2044
|
+
|
|
2045
|
+
run() {}
|
|
901
2046
|
}
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
2047
|
+
|
|
2048
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
2049
|
+
//=> {run: () => void}
|
|
2050
|
+
```
|
|
2051
|
+
|
|
2052
|
+
@example
|
|
2053
|
+
```
|
|
2054
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
2055
|
+
|
|
2056
|
+
interface Example {
|
|
2057
|
+
a: string;
|
|
2058
|
+
b: string | number;
|
|
2059
|
+
c: () => void;
|
|
2060
|
+
d: {};
|
|
908
2061
|
}
|
|
909
2062
|
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
declare const getNotImportedPosts: BuildRESTFunction<typeof getNotImportedPosts$1> & typeof getNotImportedPosts$1;
|
|
2063
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
2064
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
2065
|
+
```
|
|
914
2066
|
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
type
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
type
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
2067
|
+
@category Object
|
|
2068
|
+
*/
|
|
2069
|
+
type ConditionalExcept$3<Base, Condition> = Except$3<
|
|
2070
|
+
Base,
|
|
2071
|
+
ConditionalKeys$3<Base, Condition>
|
|
2072
|
+
>;
|
|
2073
|
+
|
|
2074
|
+
/**
|
|
2075
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
2076
|
+
* can either be a REST module or a host module.
|
|
2077
|
+
* This type is recursive, so it can describe nested modules.
|
|
2078
|
+
*/
|
|
2079
|
+
type Descriptors$3 = RESTFunctionDescriptor$3 | AmbassadorFunctionDescriptor$3 | HostModule$3<any, any> | EventDefinition$7<any> | ServicePluginDefinition$3<any> | {
|
|
2080
|
+
[key: string]: Descriptors$3 | PublicMetadata$3 | any;
|
|
2081
|
+
};
|
|
2082
|
+
/**
|
|
2083
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
2084
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
2085
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
2086
|
+
* do not match the given host (as they will not work with the given host).
|
|
2087
|
+
*/
|
|
2088
|
+
type BuildDescriptors$3<T extends Descriptors$3, H extends Host$3<any> | undefined, Depth extends number = 5> = {
|
|
2089
|
+
done: T;
|
|
2090
|
+
recurse: T extends {
|
|
2091
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE$3;
|
|
2092
|
+
} ? never : T extends AmbassadorFunctionDescriptor$3 ? BuildAmbassadorFunction$3<T> : T extends RESTFunctionDescriptor$3 ? BuildRESTFunction$3<T> : T extends EventDefinition$7<any> ? BuildEventDefinition$7<T> : T extends ServicePluginDefinition$3<any> ? BuildServicePluginDefinition$3<T> : T extends HostModule$3<any, any> ? HostModuleAPI$3<T> : ConditionalExcept$3<{
|
|
2093
|
+
[Key in keyof T]: T[Key] extends Descriptors$3 ? BuildDescriptors$3<T[Key], H, [
|
|
2094
|
+
-1,
|
|
2095
|
+
0,
|
|
2096
|
+
1,
|
|
2097
|
+
2,
|
|
2098
|
+
3,
|
|
2099
|
+
4,
|
|
2100
|
+
5
|
|
2101
|
+
][Depth]> : never;
|
|
2102
|
+
}, EmptyObject$3>;
|
|
2103
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
2104
|
+
type PublicMetadata$3 = {
|
|
2105
|
+
PACKAGE_NAME?: string;
|
|
2106
|
+
};
|
|
2107
|
+
|
|
2108
|
+
declare global {
|
|
2109
|
+
interface ContextualClient {
|
|
2110
|
+
}
|
|
932
2111
|
}
|
|
2112
|
+
/**
|
|
2113
|
+
* A type used to create concerete types from SDK descriptors in
|
|
2114
|
+
* case a contextual client is available.
|
|
2115
|
+
*/
|
|
2116
|
+
type MaybeContext$3<T extends Descriptors$3> = globalThis.ContextualClient extends {
|
|
2117
|
+
host: Host$3;
|
|
2118
|
+
} ? BuildDescriptors$3<T, globalThis.ContextualClient['host']> : T;
|
|
933
2119
|
|
|
934
2120
|
interface Category$2 {
|
|
935
2121
|
/** Category ID. */
|
|
@@ -1637,27 +2823,27 @@ interface CategoriesQueryBuilder {
|
|
|
1637
2823
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1638
2824
|
* @param value - Value to compare against.
|
|
1639
2825
|
*/
|
|
1640
|
-
eq: (propertyName: '_id' | 'label' | 'postCount' | 'title' | '
|
|
2826
|
+
eq: (propertyName: '_id' | 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language', value: any) => CategoriesQueryBuilder;
|
|
1641
2827
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1642
2828
|
* @param value - Value to compare against.
|
|
1643
2829
|
*/
|
|
1644
|
-
ne: (propertyName: '_id' | 'label' | 'postCount' | 'title' | '
|
|
2830
|
+
ne: (propertyName: '_id' | 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language', value: any) => CategoriesQueryBuilder;
|
|
1645
2831
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1646
2832
|
* @param value - Value to compare against.
|
|
1647
2833
|
*/
|
|
1648
|
-
ge: (propertyName: 'postCount' | '
|
|
2834
|
+
ge: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;
|
|
1649
2835
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1650
2836
|
* @param value - Value to compare against.
|
|
1651
2837
|
*/
|
|
1652
|
-
gt: (propertyName: 'postCount' | '
|
|
2838
|
+
gt: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;
|
|
1653
2839
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1654
2840
|
* @param value - Value to compare against.
|
|
1655
2841
|
*/
|
|
1656
|
-
le: (propertyName: 'postCount' | '
|
|
2842
|
+
le: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;
|
|
1657
2843
|
/** @param propertyName - Property whose value is compared with `value`.
|
|
1658
2844
|
* @param value - Value to compare against.
|
|
1659
2845
|
*/
|
|
1660
|
-
lt: (propertyName: 'postCount' | '
|
|
2846
|
+
lt: (propertyName: 'postCount' | 'displayPosition', value: any) => CategoriesQueryBuilder;
|
|
1661
2847
|
/** @param propertyName - Property whose value is compared with `string`.
|
|
1662
2848
|
* @param string - String to compare against. Case-insensitive.
|
|
1663
2849
|
*/
|
|
@@ -1666,12 +2852,12 @@ interface CategoriesQueryBuilder {
|
|
|
1666
2852
|
* @param values - List of values to compare against.
|
|
1667
2853
|
*/
|
|
1668
2854
|
hasSome: (propertyName: '_id' | 'label' | 'title' | 'slug', value: any[]) => CategoriesQueryBuilder;
|
|
1669
|
-
in: (propertyName: 'label' | 'postCount' | 'title' | '
|
|
2855
|
+
in: (propertyName: 'label' | 'postCount' | 'title' | 'displayPosition' | 'translationId' | 'language', value: any) => CategoriesQueryBuilder;
|
|
1670
2856
|
exists: (propertyName: 'label' | 'title' | 'translationId' | 'language', value: boolean) => CategoriesQueryBuilder;
|
|
1671
2857
|
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
|
|
1672
|
-
ascending: (...propertyNames: Array<'label' | 'postCount' | 'title' | '
|
|
2858
|
+
ascending: (...propertyNames: Array<'label' | 'postCount' | 'title' | 'displayPosition' | 'language' | 'slug'>) => CategoriesQueryBuilder;
|
|
1673
2859
|
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
|
|
1674
|
-
descending: (...propertyNames: Array<'label' | 'postCount' | 'title' | '
|
|
2860
|
+
descending: (...propertyNames: Array<'label' | 'postCount' | 'title' | 'displayPosition' | 'language' | 'slug'>) => CategoriesQueryBuilder;
|
|
1675
2861
|
/** @param limit - Number of items to return, which is also the `pageSize` of the results object. */
|
|
1676
2862
|
limit: (limit: number) => CategoriesQueryBuilder;
|
|
1677
2863
|
/** @param skip - Number of items to skip in the query results before returning the results. */
|
|
@@ -1679,7 +2865,7 @@ interface CategoriesQueryBuilder {
|
|
|
1679
2865
|
find: () => Promise<CategoriesQueryResult>;
|
|
1680
2866
|
}
|
|
1681
2867
|
|
|
1682
|
-
declare function getCategory$1(httpClient: HttpClient): GetCategorySignature;
|
|
2868
|
+
declare function getCategory$1(httpClient: HttpClient$3): GetCategorySignature;
|
|
1683
2869
|
interface GetCategorySignature {
|
|
1684
2870
|
/**
|
|
1685
2871
|
* Gets a category by the specified ID.
|
|
@@ -1692,7 +2878,7 @@ interface GetCategorySignature {
|
|
|
1692
2878
|
*/
|
|
1693
2879
|
(categoryId: string, options?: GetCategoryOptions | undefined): Promise<GetCategoryResponse & GetCategoryResponseNonNullableFields>;
|
|
1694
2880
|
}
|
|
1695
|
-
declare function getCategoryBySlug$1(httpClient: HttpClient): GetCategoryBySlugSignature;
|
|
2881
|
+
declare function getCategoryBySlug$1(httpClient: HttpClient$3): GetCategoryBySlugSignature;
|
|
1696
2882
|
interface GetCategoryBySlugSignature {
|
|
1697
2883
|
/**
|
|
1698
2884
|
* Gets a category by the specified slug.
|
|
@@ -1709,7 +2895,7 @@ interface GetCategoryBySlugSignature {
|
|
|
1709
2895
|
*/
|
|
1710
2896
|
(slug: string, options?: GetCategoryBySlugOptions | undefined): Promise<GetCategoryBySlugResponse & GetCategoryBySlugResponseNonNullableFields>;
|
|
1711
2897
|
}
|
|
1712
|
-
declare function listCategories$1(httpClient: HttpClient): ListCategoriesSignature;
|
|
2898
|
+
declare function listCategories$1(httpClient: HttpClient$3): ListCategoriesSignature;
|
|
1713
2899
|
interface ListCategoriesSignature {
|
|
1714
2900
|
/**
|
|
1715
2901
|
* Retrieves a list of categories.
|
|
@@ -1720,7 +2906,7 @@ interface ListCategoriesSignature {
|
|
|
1720
2906
|
*/
|
|
1721
2907
|
(options?: ListCategoriesOptions | undefined): Promise<ListCategoriesResponse & ListCategoriesResponseNonNullableFields>;
|
|
1722
2908
|
}
|
|
1723
|
-
declare function queryCategories$1(httpClient: HttpClient): QueryCategoriesSignature;
|
|
2909
|
+
declare function queryCategories$1(httpClient: HttpClient$3): QueryCategoriesSignature;
|
|
1724
2910
|
interface QueryCategoriesSignature {
|
|
1725
2911
|
/**
|
|
1726
2912
|
* Creates a query to retrieve a list of categories.
|
|
@@ -1741,16 +2927,34 @@ interface QueryCategoriesSignature {
|
|
|
1741
2927
|
*/
|
|
1742
2928
|
(options?: QueryCategoriesOptions | undefined): CategoriesQueryBuilder;
|
|
1743
2929
|
}
|
|
1744
|
-
declare const onCategoryCreated$1: EventDefinition<CategoryCreatedEnvelope, "wix.blog.v3.category_created">;
|
|
1745
|
-
declare const onCategoryUpdated$1: EventDefinition<CategoryUpdatedEnvelope, "wix.blog.v3.category_updated">;
|
|
1746
|
-
declare const onCategoryDeleted$1: EventDefinition<CategoryDeletedEnvelope, "wix.blog.v3.category_deleted">;
|
|
2930
|
+
declare const onCategoryCreated$1: EventDefinition$7<CategoryCreatedEnvelope, "wix.blog.v3.category_created">;
|
|
2931
|
+
declare const onCategoryUpdated$1: EventDefinition$7<CategoryUpdatedEnvelope, "wix.blog.v3.category_updated">;
|
|
2932
|
+
declare const onCategoryDeleted$1: EventDefinition$7<CategoryDeletedEnvelope, "wix.blog.v3.category_deleted">;
|
|
2933
|
+
|
|
2934
|
+
type EventDefinition$6<Payload = unknown, Type extends string = string> = {
|
|
2935
|
+
__type: 'event-definition';
|
|
2936
|
+
type: Type;
|
|
2937
|
+
isDomainEvent?: boolean;
|
|
2938
|
+
transformations?: (envelope: unknown) => Payload;
|
|
2939
|
+
__payload: Payload;
|
|
2940
|
+
};
|
|
2941
|
+
declare function EventDefinition$6<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$6<Payload, Type>;
|
|
2942
|
+
type EventHandler$6<T extends EventDefinition$6> = (payload: T['__payload']) => void | Promise<void>;
|
|
2943
|
+
type BuildEventDefinition$6<T extends EventDefinition$6<any, string>> = (handler: EventHandler$6<T>) => void;
|
|
2944
|
+
|
|
2945
|
+
declare global {
|
|
2946
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
2947
|
+
interface SymbolConstructor {
|
|
2948
|
+
readonly observable: symbol;
|
|
2949
|
+
}
|
|
2950
|
+
}
|
|
1747
2951
|
|
|
1748
|
-
declare function createEventModule$3<T extends EventDefinition<any, string>>(eventDefinition: T): BuildEventDefinition<T> & T;
|
|
2952
|
+
declare function createEventModule$3<T extends EventDefinition$6<any, string>>(eventDefinition: T): BuildEventDefinition$6<T> & T;
|
|
1749
2953
|
|
|
1750
|
-
declare const getCategory: BuildRESTFunction<typeof getCategory$1> & typeof getCategory$1
|
|
1751
|
-
declare const getCategoryBySlug: BuildRESTFunction<typeof getCategoryBySlug$1> & typeof getCategoryBySlug$1
|
|
1752
|
-
declare const listCategories: BuildRESTFunction<typeof listCategories$1> & typeof listCategories$1
|
|
1753
|
-
declare const queryCategories: BuildRESTFunction<typeof queryCategories$1> & typeof queryCategories$1
|
|
2954
|
+
declare const getCategory: MaybeContext$3<BuildRESTFunction$3<typeof getCategory$1> & typeof getCategory$1>;
|
|
2955
|
+
declare const getCategoryBySlug: MaybeContext$3<BuildRESTFunction$3<typeof getCategoryBySlug$1> & typeof getCategoryBySlug$1>;
|
|
2956
|
+
declare const listCategories: MaybeContext$3<BuildRESTFunction$3<typeof listCategories$1> & typeof listCategories$1>;
|
|
2957
|
+
declare const queryCategories: MaybeContext$3<BuildRESTFunction$3<typeof queryCategories$1> & typeof queryCategories$1>;
|
|
1754
2958
|
|
|
1755
2959
|
type _publicOnCategoryCreatedType = typeof onCategoryCreated$1;
|
|
1756
2960
|
/**
|
|
@@ -1823,6 +3027,416 @@ declare namespace context$3 {
|
|
|
1823
3027
|
export { type ActionEvent$3 as ActionEvent, type ApplicationError$2 as ApplicationError, type BaseEventMetadata$3 as BaseEventMetadata, type BlogPaging$2 as BlogPaging, type BulkActionMetadata$2 as BulkActionMetadata, type context$3_BulkCategoryResult as BulkCategoryResult, type context$3_BulkCreateCategoriesRequest as BulkCreateCategoriesRequest, type context$3_BulkCreateCategoriesResponse as BulkCreateCategoriesResponse, type context$3_BulkDeleteCategoryRequest as BulkDeleteCategoryRequest, type context$3_BulkDeleteCategoryResponse as BulkDeleteCategoryResponse, type context$3_BulkUpdateCategoriesRequest as BulkUpdateCategoriesRequest, type context$3_BulkUpdateCategoriesResponse as BulkUpdateCategoriesResponse, type context$3_CategoriesQueryBuilder as CategoriesQueryBuilder, type context$3_CategoriesQueryResult as CategoriesQueryResult, type Category$2 as Category, type context$3_CategoryCreatedEnvelope as CategoryCreatedEnvelope, type context$3_CategoryDeletedEnvelope as CategoryDeletedEnvelope, type context$3_CategoryLanguageCount as CategoryLanguageCount, type CategoryTranslation$2 as CategoryTranslation, type context$3_CategoryUpdatedEnvelope as CategoryUpdatedEnvelope, type context$3_CreateCategoryRequest as CreateCategoryRequest, type context$3_CreateCategoryResponse as CreateCategoryResponse, type CursorPaging$3 as CursorPaging, type Cursors$3 as Cursors, type context$3_DeleteCategoryRequest as DeleteCategoryRequest, type context$3_DeleteCategoryResponse as DeleteCategoryResponse, type DomainEvent$3 as DomainEvent, type DomainEventBodyOneOf$3 as DomainEventBodyOneOf, type EntityCreatedEvent$3 as EntityCreatedEvent, type EntityDeletedEvent$3 as EntityDeletedEvent, type EntityUpdatedEvent$3 as EntityUpdatedEvent, type EventMetadata$3 as EventMetadata, Field$3 as Field, type context$3_GetCategoriesCountByLanguageRequest as GetCategoriesCountByLanguageRequest, type context$3_GetCategoriesCountByLanguageResponse as GetCategoriesCountByLanguageResponse, type context$3_GetCategoryBySlugOptions as GetCategoryBySlugOptions, type context$3_GetCategoryBySlugRequest as GetCategoryBySlugRequest, type context$3_GetCategoryBySlugResponse as GetCategoryBySlugResponse, type context$3_GetCategoryBySlugResponseNonNullableFields as GetCategoryBySlugResponseNonNullableFields, type context$3_GetCategoryOptions as GetCategoryOptions, type context$3_GetCategoryRequest as GetCategoryRequest, type context$3_GetCategoryResponse as GetCategoryResponse, type context$3_GetCategoryResponseNonNullableFields as GetCategoryResponseNonNullableFields, type IdentificationData$3 as IdentificationData, type IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf, type context$3_InitialCategoriesCopied as InitialCategoriesCopied, type ItemMetadata$2 as ItemMetadata, type Keyword$3 as Keyword, type context$3_ListCategoriesOptions as ListCategoriesOptions, type context$3_ListCategoriesRequest as ListCategoriesRequest, type context$3_ListCategoriesResponse as ListCategoriesResponse, type context$3_ListCategoriesResponseNonNullableFields as ListCategoriesResponseNonNullableFields, type context$3_MaskedCategory as MaskedCategory, type MessageEnvelope$3 as MessageEnvelope, type MetaData$3 as MetaData, type Paging$3 as Paging, type PagingMetadataV2$3 as PagingMetadataV2, type PlatformQuery$3 as PlatformQuery, type PlatformQueryPagingMethodOneOf$3 as PlatformQueryPagingMethodOneOf, type context$3_QueryCategoriesOptions as QueryCategoriesOptions, type context$3_QueryCategoriesRequest as QueryCategoriesRequest, type context$3_QueryCategoriesResponse as QueryCategoriesResponse, type context$3_QueryCategoriesResponseNonNullableFields as QueryCategoriesResponseNonNullableFields, type RestoreInfo$3 as RestoreInfo, type SeoSchema$3 as SeoSchema, type Settings$3 as Settings, SortOrder$3 as SortOrder, type Sorting$3 as Sorting, type Tag$3 as Tag, type context$3_UpdateCategoryRequest as UpdateCategoryRequest, type context$3_UpdateCategoryResponse as UpdateCategoryResponse, WebhookIdentityType$3 as WebhookIdentityType, type context$3__publicOnCategoryCreatedType as _publicOnCategoryCreatedType, type context$3__publicOnCategoryDeletedType as _publicOnCategoryDeletedType, type context$3__publicOnCategoryUpdatedType as _publicOnCategoryUpdatedType, context$3_getCategory as getCategory, context$3_getCategoryBySlug as getCategoryBySlug, context$3_listCategories as listCategories, context$3_onCategoryCreated as onCategoryCreated, context$3_onCategoryDeleted as onCategoryDeleted, context$3_onCategoryUpdated as onCategoryUpdated, onCategoryCreated$1 as publicOnCategoryCreated, onCategoryDeleted$1 as publicOnCategoryDeleted, onCategoryUpdated$1 as publicOnCategoryUpdated, context$3_queryCategories as queryCategories };
|
|
1824
3028
|
}
|
|
1825
3029
|
|
|
3030
|
+
type HostModule$2<T, H extends Host$2> = {
|
|
3031
|
+
__type: 'host';
|
|
3032
|
+
create(host: H): T;
|
|
3033
|
+
};
|
|
3034
|
+
type HostModuleAPI$2<T extends HostModule$2<any, any>> = T extends HostModule$2<infer U, any> ? U : never;
|
|
3035
|
+
type Host$2<Environment = unknown> = {
|
|
3036
|
+
channel: {
|
|
3037
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
3038
|
+
disconnect: () => void;
|
|
3039
|
+
} | Promise<{
|
|
3040
|
+
disconnect: () => void;
|
|
3041
|
+
}>;
|
|
3042
|
+
};
|
|
3043
|
+
environment?: Environment;
|
|
3044
|
+
/**
|
|
3045
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
3046
|
+
*/
|
|
3047
|
+
apiBaseUrl?: string;
|
|
3048
|
+
/**
|
|
3049
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
3050
|
+
* like internationalization, billing, etc.
|
|
3051
|
+
*/
|
|
3052
|
+
essentials?: {
|
|
3053
|
+
/**
|
|
3054
|
+
* The language of the currently viewed session
|
|
3055
|
+
*/
|
|
3056
|
+
language?: string;
|
|
3057
|
+
/**
|
|
3058
|
+
* The locale of the currently viewed session
|
|
3059
|
+
*/
|
|
3060
|
+
locale?: string;
|
|
3061
|
+
/**
|
|
3062
|
+
* Any headers that should be passed through to the API requests
|
|
3063
|
+
*/
|
|
3064
|
+
passThroughHeaders?: Record<string, string>;
|
|
3065
|
+
};
|
|
3066
|
+
};
|
|
3067
|
+
|
|
3068
|
+
type RESTFunctionDescriptor$2<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$2) => T;
|
|
3069
|
+
interface HttpClient$2 {
|
|
3070
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory$2<TResponse, TData>): Promise<HttpResponse$2<TResponse>>;
|
|
3071
|
+
fetchWithAuth: typeof fetch;
|
|
3072
|
+
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
3073
|
+
getActiveToken?: () => string | undefined;
|
|
3074
|
+
}
|
|
3075
|
+
type RequestOptionsFactory$2<TResponse = any, TData = any> = (context: any) => RequestOptions$2<TResponse, TData>;
|
|
3076
|
+
type HttpResponse$2<T = any> = {
|
|
3077
|
+
data: T;
|
|
3078
|
+
status: number;
|
|
3079
|
+
statusText: string;
|
|
3080
|
+
headers: any;
|
|
3081
|
+
request?: any;
|
|
3082
|
+
};
|
|
3083
|
+
type RequestOptions$2<_TResponse = any, Data = any> = {
|
|
3084
|
+
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
3085
|
+
url: string;
|
|
3086
|
+
data?: Data;
|
|
3087
|
+
params?: URLSearchParams;
|
|
3088
|
+
} & APIMetadata$2;
|
|
3089
|
+
type APIMetadata$2 = {
|
|
3090
|
+
methodFqn?: string;
|
|
3091
|
+
entityFqdn?: string;
|
|
3092
|
+
packageName?: string;
|
|
3093
|
+
};
|
|
3094
|
+
type BuildRESTFunction$2<T extends RESTFunctionDescriptor$2> = T extends RESTFunctionDescriptor$2<infer U> ? U : never;
|
|
3095
|
+
type EventDefinition$5<Payload = unknown, Type extends string = string> = {
|
|
3096
|
+
__type: 'event-definition';
|
|
3097
|
+
type: Type;
|
|
3098
|
+
isDomainEvent?: boolean;
|
|
3099
|
+
transformations?: (envelope: unknown) => Payload;
|
|
3100
|
+
__payload: Payload;
|
|
3101
|
+
};
|
|
3102
|
+
declare function EventDefinition$5<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$5<Payload, Type>;
|
|
3103
|
+
type EventHandler$5<T extends EventDefinition$5> = (payload: T['__payload']) => void | Promise<void>;
|
|
3104
|
+
type BuildEventDefinition$5<T extends EventDefinition$5<any, string>> = (handler: EventHandler$5<T>) => void;
|
|
3105
|
+
|
|
3106
|
+
type ServicePluginMethodInput$2 = {
|
|
3107
|
+
request: any;
|
|
3108
|
+
metadata: any;
|
|
3109
|
+
};
|
|
3110
|
+
type ServicePluginContract$2 = Record<string, (payload: ServicePluginMethodInput$2) => unknown | Promise<unknown>>;
|
|
3111
|
+
type ServicePluginMethodMetadata$2 = {
|
|
3112
|
+
name: string;
|
|
3113
|
+
primaryHttpMappingPath: string;
|
|
3114
|
+
transformations: {
|
|
3115
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput$2;
|
|
3116
|
+
toREST: (...args: unknown[]) => unknown;
|
|
3117
|
+
};
|
|
3118
|
+
};
|
|
3119
|
+
type ServicePluginDefinition$2<Contract extends ServicePluginContract$2> = {
|
|
3120
|
+
__type: 'service-plugin-definition';
|
|
3121
|
+
componentType: string;
|
|
3122
|
+
methods: ServicePluginMethodMetadata$2[];
|
|
3123
|
+
__contract: Contract;
|
|
3124
|
+
};
|
|
3125
|
+
declare function ServicePluginDefinition$2<Contract extends ServicePluginContract$2>(componentType: string, methods: ServicePluginMethodMetadata$2[]): ServicePluginDefinition$2<Contract>;
|
|
3126
|
+
type BuildServicePluginDefinition$2<T extends ServicePluginDefinition$2<any>> = (implementation: T['__contract']) => void;
|
|
3127
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE$2 = "wix_spi_error";
|
|
3128
|
+
|
|
3129
|
+
type RequestContext$2 = {
|
|
3130
|
+
isSSR: boolean;
|
|
3131
|
+
host: string;
|
|
3132
|
+
protocol?: string;
|
|
3133
|
+
};
|
|
3134
|
+
type ResponseTransformer$2 = (data: any, headers?: any) => any;
|
|
3135
|
+
/**
|
|
3136
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
3137
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
3138
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
3139
|
+
*/
|
|
3140
|
+
type Method$2 = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
3141
|
+
type AmbassadorRequestOptions$2<T = any> = {
|
|
3142
|
+
_?: T;
|
|
3143
|
+
url?: string;
|
|
3144
|
+
method?: Method$2;
|
|
3145
|
+
params?: any;
|
|
3146
|
+
data?: any;
|
|
3147
|
+
transformResponse?: ResponseTransformer$2 | ResponseTransformer$2[];
|
|
3148
|
+
};
|
|
3149
|
+
type AmbassadorFactory$2<Request, Response> = (payload: Request) => ((context: RequestContext$2) => AmbassadorRequestOptions$2<Response>) & {
|
|
3150
|
+
__isAmbassador: boolean;
|
|
3151
|
+
};
|
|
3152
|
+
type AmbassadorFunctionDescriptor$2<Request = any, Response = any> = AmbassadorFactory$2<Request, Response>;
|
|
3153
|
+
type BuildAmbassadorFunction$2<T extends AmbassadorFunctionDescriptor$2> = T extends AmbassadorFunctionDescriptor$2<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
3154
|
+
|
|
3155
|
+
declare global {
|
|
3156
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
3157
|
+
interface SymbolConstructor {
|
|
3158
|
+
readonly observable: symbol;
|
|
3159
|
+
}
|
|
3160
|
+
}
|
|
3161
|
+
|
|
3162
|
+
declare const emptyObjectSymbol$2: unique symbol;
|
|
3163
|
+
|
|
3164
|
+
/**
|
|
3165
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
3166
|
+
|
|
3167
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
3168
|
+
|
|
3169
|
+
@example
|
|
3170
|
+
```
|
|
3171
|
+
import type {EmptyObject} from 'type-fest';
|
|
3172
|
+
|
|
3173
|
+
// The following illustrates the problem with `{}`.
|
|
3174
|
+
const foo1: {} = {}; // Pass
|
|
3175
|
+
const foo2: {} = []; // Pass
|
|
3176
|
+
const foo3: {} = 42; // Pass
|
|
3177
|
+
const foo4: {} = {a: 1}; // Pass
|
|
3178
|
+
|
|
3179
|
+
// With `EmptyObject` only the first case is valid.
|
|
3180
|
+
const bar1: EmptyObject = {}; // Pass
|
|
3181
|
+
const bar2: EmptyObject = 42; // Fail
|
|
3182
|
+
const bar3: EmptyObject = []; // Fail
|
|
3183
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
3184
|
+
```
|
|
3185
|
+
|
|
3186
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
3187
|
+
|
|
3188
|
+
@category Object
|
|
3189
|
+
*/
|
|
3190
|
+
type EmptyObject$2 = {[emptyObjectSymbol$2]?: never};
|
|
3191
|
+
|
|
3192
|
+
/**
|
|
3193
|
+
Returns a boolean for whether the two given types are equal.
|
|
3194
|
+
|
|
3195
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
3196
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
3197
|
+
|
|
3198
|
+
Use-cases:
|
|
3199
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
3200
|
+
|
|
3201
|
+
@example
|
|
3202
|
+
```
|
|
3203
|
+
import type {IsEqual} from 'type-fest';
|
|
3204
|
+
|
|
3205
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
3206
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
3207
|
+
type Includes<Value extends readonly any[], Item> =
|
|
3208
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
3209
|
+
? IsEqual<Value[0], Item> extends true
|
|
3210
|
+
? true
|
|
3211
|
+
: Includes<rest, Item>
|
|
3212
|
+
: false;
|
|
3213
|
+
```
|
|
3214
|
+
|
|
3215
|
+
@category Type Guard
|
|
3216
|
+
@category Utilities
|
|
3217
|
+
*/
|
|
3218
|
+
type IsEqual$2<A, B> =
|
|
3219
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
3220
|
+
(<G>() => G extends B ? 1 : 2)
|
|
3221
|
+
? true
|
|
3222
|
+
: false;
|
|
3223
|
+
|
|
3224
|
+
/**
|
|
3225
|
+
Filter out keys from an object.
|
|
3226
|
+
|
|
3227
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
3228
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
3229
|
+
Returns `Key` otherwise.
|
|
3230
|
+
|
|
3231
|
+
@example
|
|
3232
|
+
```
|
|
3233
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
3234
|
+
//=> never
|
|
3235
|
+
```
|
|
3236
|
+
|
|
3237
|
+
@example
|
|
3238
|
+
```
|
|
3239
|
+
type Filtered = Filter<'bar', string>;
|
|
3240
|
+
//=> never
|
|
3241
|
+
```
|
|
3242
|
+
|
|
3243
|
+
@example
|
|
3244
|
+
```
|
|
3245
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
3246
|
+
//=> 'bar'
|
|
3247
|
+
```
|
|
3248
|
+
|
|
3249
|
+
@see {Except}
|
|
3250
|
+
*/
|
|
3251
|
+
type Filter$2<KeyType, ExcludeType> = IsEqual$2<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
3252
|
+
|
|
3253
|
+
type ExceptOptions$2 = {
|
|
3254
|
+
/**
|
|
3255
|
+
Disallow assigning non-specified properties.
|
|
3256
|
+
|
|
3257
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
3258
|
+
|
|
3259
|
+
@default false
|
|
3260
|
+
*/
|
|
3261
|
+
requireExactProps?: boolean;
|
|
3262
|
+
};
|
|
3263
|
+
|
|
3264
|
+
/**
|
|
3265
|
+
Create a type from an object type without certain keys.
|
|
3266
|
+
|
|
3267
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
3268
|
+
|
|
3269
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
3270
|
+
|
|
3271
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
3272
|
+
|
|
3273
|
+
@example
|
|
3274
|
+
```
|
|
3275
|
+
import type {Except} from 'type-fest';
|
|
3276
|
+
|
|
3277
|
+
type Foo = {
|
|
3278
|
+
a: number;
|
|
3279
|
+
b: string;
|
|
3280
|
+
};
|
|
3281
|
+
|
|
3282
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
3283
|
+
//=> {b: string}
|
|
3284
|
+
|
|
3285
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
3286
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
3287
|
+
|
|
3288
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
3289
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
3290
|
+
|
|
3291
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
3292
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
3293
|
+
```
|
|
3294
|
+
|
|
3295
|
+
@category Object
|
|
3296
|
+
*/
|
|
3297
|
+
type Except$2<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions$2 = {requireExactProps: false}> = {
|
|
3298
|
+
[KeyType in keyof ObjectType as Filter$2<KeyType, KeysType>]: ObjectType[KeyType];
|
|
3299
|
+
} & (Options['requireExactProps'] extends true
|
|
3300
|
+
? Partial<Record<KeysType, never>>
|
|
3301
|
+
: {});
|
|
3302
|
+
|
|
3303
|
+
/**
|
|
3304
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
3305
|
+
|
|
3306
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
3307
|
+
|
|
3308
|
+
@example
|
|
3309
|
+
```
|
|
3310
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
3311
|
+
|
|
3312
|
+
interface Example {
|
|
3313
|
+
a: string;
|
|
3314
|
+
b: string | number;
|
|
3315
|
+
c?: string;
|
|
3316
|
+
d: {};
|
|
3317
|
+
}
|
|
3318
|
+
|
|
3319
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
3320
|
+
//=> 'a'
|
|
3321
|
+
```
|
|
3322
|
+
|
|
3323
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
3324
|
+
|
|
3325
|
+
@example
|
|
3326
|
+
```
|
|
3327
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
3328
|
+
|
|
3329
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
3330
|
+
//=> 'a' | 'c'
|
|
3331
|
+
```
|
|
3332
|
+
|
|
3333
|
+
@category Object
|
|
3334
|
+
*/
|
|
3335
|
+
type ConditionalKeys$2<Base, Condition> = NonNullable<
|
|
3336
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
3337
|
+
{
|
|
3338
|
+
// Map through all the keys of the given base type.
|
|
3339
|
+
[Key in keyof Base]:
|
|
3340
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
3341
|
+
Base[Key] extends Condition
|
|
3342
|
+
// Retain this key since the condition passes.
|
|
3343
|
+
? Key
|
|
3344
|
+
// Discard this key since the condition fails.
|
|
3345
|
+
: never;
|
|
3346
|
+
|
|
3347
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
3348
|
+
}[keyof Base]
|
|
3349
|
+
>;
|
|
3350
|
+
|
|
3351
|
+
/**
|
|
3352
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
3353
|
+
|
|
3354
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
3355
|
+
|
|
3356
|
+
@example
|
|
3357
|
+
```
|
|
3358
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
3359
|
+
|
|
3360
|
+
class Awesome {
|
|
3361
|
+
name: string;
|
|
3362
|
+
successes: number;
|
|
3363
|
+
failures: bigint;
|
|
3364
|
+
|
|
3365
|
+
run() {}
|
|
3366
|
+
}
|
|
3367
|
+
|
|
3368
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
3369
|
+
//=> {run: () => void}
|
|
3370
|
+
```
|
|
3371
|
+
|
|
3372
|
+
@example
|
|
3373
|
+
```
|
|
3374
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
3375
|
+
|
|
3376
|
+
interface Example {
|
|
3377
|
+
a: string;
|
|
3378
|
+
b: string | number;
|
|
3379
|
+
c: () => void;
|
|
3380
|
+
d: {};
|
|
3381
|
+
}
|
|
3382
|
+
|
|
3383
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
3384
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
3385
|
+
```
|
|
3386
|
+
|
|
3387
|
+
@category Object
|
|
3388
|
+
*/
|
|
3389
|
+
type ConditionalExcept$2<Base, Condition> = Except$2<
|
|
3390
|
+
Base,
|
|
3391
|
+
ConditionalKeys$2<Base, Condition>
|
|
3392
|
+
>;
|
|
3393
|
+
|
|
3394
|
+
/**
|
|
3395
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
3396
|
+
* can either be a REST module or a host module.
|
|
3397
|
+
* This type is recursive, so it can describe nested modules.
|
|
3398
|
+
*/
|
|
3399
|
+
type Descriptors$2 = RESTFunctionDescriptor$2 | AmbassadorFunctionDescriptor$2 | HostModule$2<any, any> | EventDefinition$5<any> | ServicePluginDefinition$2<any> | {
|
|
3400
|
+
[key: string]: Descriptors$2 | PublicMetadata$2 | any;
|
|
3401
|
+
};
|
|
3402
|
+
/**
|
|
3403
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
3404
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
3405
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
3406
|
+
* do not match the given host (as they will not work with the given host).
|
|
3407
|
+
*/
|
|
3408
|
+
type BuildDescriptors$2<T extends Descriptors$2, H extends Host$2<any> | undefined, Depth extends number = 5> = {
|
|
3409
|
+
done: T;
|
|
3410
|
+
recurse: T extends {
|
|
3411
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE$2;
|
|
3412
|
+
} ? never : T extends AmbassadorFunctionDescriptor$2 ? BuildAmbassadorFunction$2<T> : T extends RESTFunctionDescriptor$2 ? BuildRESTFunction$2<T> : T extends EventDefinition$5<any> ? BuildEventDefinition$5<T> : T extends ServicePluginDefinition$2<any> ? BuildServicePluginDefinition$2<T> : T extends HostModule$2<any, any> ? HostModuleAPI$2<T> : ConditionalExcept$2<{
|
|
3413
|
+
[Key in keyof T]: T[Key] extends Descriptors$2 ? BuildDescriptors$2<T[Key], H, [
|
|
3414
|
+
-1,
|
|
3415
|
+
0,
|
|
3416
|
+
1,
|
|
3417
|
+
2,
|
|
3418
|
+
3,
|
|
3419
|
+
4,
|
|
3420
|
+
5
|
|
3421
|
+
][Depth]> : never;
|
|
3422
|
+
}, EmptyObject$2>;
|
|
3423
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
3424
|
+
type PublicMetadata$2 = {
|
|
3425
|
+
PACKAGE_NAME?: string;
|
|
3426
|
+
};
|
|
3427
|
+
|
|
3428
|
+
declare global {
|
|
3429
|
+
interface ContextualClient {
|
|
3430
|
+
}
|
|
3431
|
+
}
|
|
3432
|
+
/**
|
|
3433
|
+
* A type used to create concerete types from SDK descriptors in
|
|
3434
|
+
* case a contextual client is available.
|
|
3435
|
+
*/
|
|
3436
|
+
type MaybeContext$2<T extends Descriptors$2> = globalThis.ContextualClient extends {
|
|
3437
|
+
host: Host$2;
|
|
3438
|
+
} ? BuildDescriptors$2<T, globalThis.ContextualClient['host']> : T;
|
|
3439
|
+
|
|
1826
3440
|
interface DraftPost$1 {
|
|
1827
3441
|
/**
|
|
1828
3442
|
* Draft post ID.
|
|
@@ -5140,7 +6754,7 @@ interface DraftPostsQueryBuilder {
|
|
|
5140
6754
|
find: () => Promise<DraftPostsQueryResult>;
|
|
5141
6755
|
}
|
|
5142
6756
|
|
|
5143
|
-
declare function createDraftPost$1(httpClient: HttpClient): CreateDraftPostSignature;
|
|
6757
|
+
declare function createDraftPost$1(httpClient: HttpClient$2): CreateDraftPostSignature;
|
|
5144
6758
|
interface CreateDraftPostSignature {
|
|
5145
6759
|
/**
|
|
5146
6760
|
* Creates a draft post.
|
|
@@ -5151,7 +6765,7 @@ interface CreateDraftPostSignature {
|
|
|
5151
6765
|
*/
|
|
5152
6766
|
(draftPost: DraftPost$1, options?: CreateDraftPostOptions | undefined): Promise<CreateDraftPostResponse & CreateDraftPostResponseNonNullableFields>;
|
|
5153
6767
|
}
|
|
5154
|
-
declare function bulkCreateDraftPosts$1(httpClient: HttpClient): BulkCreateDraftPostsSignature;
|
|
6768
|
+
declare function bulkCreateDraftPosts$1(httpClient: HttpClient$2): BulkCreateDraftPostsSignature;
|
|
5155
6769
|
interface BulkCreateDraftPostsSignature {
|
|
5156
6770
|
/**
|
|
5157
6771
|
* Creates multiple draft posts.
|
|
@@ -5160,7 +6774,7 @@ interface BulkCreateDraftPostsSignature {
|
|
|
5160
6774
|
*/
|
|
5161
6775
|
(draftPosts: DraftPost$1[], options?: BulkCreateDraftPostsOptions | undefined): Promise<BulkCreateDraftPostsResponse & BulkCreateDraftPostsResponseNonNullableFields>;
|
|
5162
6776
|
}
|
|
5163
|
-
declare function bulkUpdateDraftPosts$1(httpClient: HttpClient): BulkUpdateDraftPostsSignature;
|
|
6777
|
+
declare function bulkUpdateDraftPosts$1(httpClient: HttpClient$2): BulkUpdateDraftPostsSignature;
|
|
5164
6778
|
interface BulkUpdateDraftPostsSignature {
|
|
5165
6779
|
/**
|
|
5166
6780
|
* Updates multiple draft posts.
|
|
@@ -5168,7 +6782,7 @@ interface BulkUpdateDraftPostsSignature {
|
|
|
5168
6782
|
*/
|
|
5169
6783
|
(options?: BulkUpdateDraftPostsOptions | undefined): Promise<BulkUpdateDraftPostsResponse & BulkUpdateDraftPostsResponseNonNullableFields>;
|
|
5170
6784
|
}
|
|
5171
|
-
declare function listDeletedDraftPosts$1(httpClient: HttpClient): ListDeletedDraftPostsSignature;
|
|
6785
|
+
declare function listDeletedDraftPosts$1(httpClient: HttpClient$2): ListDeletedDraftPostsSignature;
|
|
5172
6786
|
interface ListDeletedDraftPostsSignature {
|
|
5173
6787
|
/**
|
|
5174
6788
|
* Retrieves a list of up to 100 deleted draft posts.
|
|
@@ -5181,7 +6795,7 @@ interface ListDeletedDraftPostsSignature {
|
|
|
5181
6795
|
*/
|
|
5182
6796
|
(options?: ListDeletedDraftPostsOptions | undefined): Promise<ListDeletedDraftPostsResponse & ListDeletedDraftPostsResponseNonNullableFields>;
|
|
5183
6797
|
}
|
|
5184
|
-
declare function getDraftPost$1(httpClient: HttpClient): GetDraftPostSignature;
|
|
6798
|
+
declare function getDraftPost$1(httpClient: HttpClient$2): GetDraftPostSignature;
|
|
5185
6799
|
interface GetDraftPostSignature {
|
|
5186
6800
|
/**
|
|
5187
6801
|
* Gets a draft post by the provided ID.
|
|
@@ -5192,7 +6806,7 @@ interface GetDraftPostSignature {
|
|
|
5192
6806
|
*/
|
|
5193
6807
|
(draftPostId: string, options?: GetDraftPostOptions | undefined): Promise<GetDraftPostResponse & GetDraftPostResponseNonNullableFields>;
|
|
5194
6808
|
}
|
|
5195
|
-
declare function updateDraftPost$1(httpClient: HttpClient): UpdateDraftPostSignature;
|
|
6809
|
+
declare function updateDraftPost$1(httpClient: HttpClient$2): UpdateDraftPostSignature;
|
|
5196
6810
|
interface UpdateDraftPostSignature {
|
|
5197
6811
|
/**
|
|
5198
6812
|
* Updates a draft post.
|
|
@@ -5202,7 +6816,7 @@ interface UpdateDraftPostSignature {
|
|
|
5202
6816
|
*/
|
|
5203
6817
|
(_id: string, draftPost: UpdateDraftPost, options?: UpdateDraftPostOptions | undefined): Promise<UpdateDraftPostResponse & UpdateDraftPostResponseNonNullableFields>;
|
|
5204
6818
|
}
|
|
5205
|
-
declare function deleteDraftPost$1(httpClient: HttpClient): DeleteDraftPostSignature;
|
|
6819
|
+
declare function deleteDraftPost$1(httpClient: HttpClient$2): DeleteDraftPostSignature;
|
|
5206
6820
|
interface DeleteDraftPostSignature {
|
|
5207
6821
|
/**
|
|
5208
6822
|
* Moves a draft post with the provided ID to the trash bin.
|
|
@@ -5214,7 +6828,7 @@ interface DeleteDraftPostSignature {
|
|
|
5214
6828
|
*/
|
|
5215
6829
|
(draftPostId: string, options?: DeleteDraftPostOptions | undefined): Promise<void>;
|
|
5216
6830
|
}
|
|
5217
|
-
declare function removeFromTrashBin$1(httpClient: HttpClient): RemoveFromTrashBinSignature;
|
|
6831
|
+
declare function removeFromTrashBin$1(httpClient: HttpClient$2): RemoveFromTrashBinSignature;
|
|
5218
6832
|
interface RemoveFromTrashBinSignature {
|
|
5219
6833
|
/**
|
|
5220
6834
|
* Permanently deletes a draft post by the provided ID from the trash bin.
|
|
@@ -5224,7 +6838,7 @@ interface RemoveFromTrashBinSignature {
|
|
|
5224
6838
|
*/
|
|
5225
6839
|
(draftPostId: string): Promise<void>;
|
|
5226
6840
|
}
|
|
5227
|
-
declare function bulkDeleteDraftPosts$1(httpClient: HttpClient): BulkDeleteDraftPostsSignature;
|
|
6841
|
+
declare function bulkDeleteDraftPosts$1(httpClient: HttpClient$2): BulkDeleteDraftPostsSignature;
|
|
5228
6842
|
interface BulkDeleteDraftPostsSignature {
|
|
5229
6843
|
/**
|
|
5230
6844
|
* Deletes multiple draft posts.
|
|
@@ -5233,7 +6847,7 @@ interface BulkDeleteDraftPostsSignature {
|
|
|
5233
6847
|
*/
|
|
5234
6848
|
(postIds: string[], options?: BulkDeleteDraftPostsOptions | undefined): Promise<BulkDeleteDraftPostsResponse & BulkDeleteDraftPostsResponseNonNullableFields>;
|
|
5235
6849
|
}
|
|
5236
|
-
declare function listDraftPosts$1(httpClient: HttpClient): ListDraftPostsSignature;
|
|
6850
|
+
declare function listDraftPosts$1(httpClient: HttpClient$2): ListDraftPostsSignature;
|
|
5237
6851
|
interface ListDraftPostsSignature {
|
|
5238
6852
|
/**
|
|
5239
6853
|
* Retrieves a list of up to 100 draft posts per request.
|
|
@@ -5246,7 +6860,7 @@ interface ListDraftPostsSignature {
|
|
|
5246
6860
|
*/
|
|
5247
6861
|
(options?: ListDraftPostsOptions | undefined): Promise<ListDraftPostsResponse & ListDraftPostsResponseNonNullableFields>;
|
|
5248
6862
|
}
|
|
5249
|
-
declare function getDeletedDraftPost$1(httpClient: HttpClient): GetDeletedDraftPostSignature;
|
|
6863
|
+
declare function getDeletedDraftPost$1(httpClient: HttpClient$2): GetDeletedDraftPostSignature;
|
|
5250
6864
|
interface GetDeletedDraftPostSignature {
|
|
5251
6865
|
/**
|
|
5252
6866
|
* Gets a deleted draft post from the trash bin by the provided ID.
|
|
@@ -5256,7 +6870,7 @@ interface GetDeletedDraftPostSignature {
|
|
|
5256
6870
|
*/
|
|
5257
6871
|
(draftPostId: string): Promise<GetDeletedDraftPostResponse & GetDeletedDraftPostResponseNonNullableFields>;
|
|
5258
6872
|
}
|
|
5259
|
-
declare function restoreFromTrashBin$1(httpClient: HttpClient): RestoreFromTrashBinSignature;
|
|
6873
|
+
declare function restoreFromTrashBin$1(httpClient: HttpClient$2): RestoreFromTrashBinSignature;
|
|
5260
6874
|
interface RestoreFromTrashBinSignature {
|
|
5261
6875
|
/**
|
|
5262
6876
|
* Restores a deleted draft post from the trash bin by the provided ID.
|
|
@@ -5266,7 +6880,7 @@ interface RestoreFromTrashBinSignature {
|
|
|
5266
6880
|
*/
|
|
5267
6881
|
(draftPostId: string): Promise<RestoreFromTrashBinResponse & RestoreFromTrashBinResponseNonNullableFields>;
|
|
5268
6882
|
}
|
|
5269
|
-
declare function queryDraftPosts$1(httpClient: HttpClient): QueryDraftPostsSignature;
|
|
6883
|
+
declare function queryDraftPosts$1(httpClient: HttpClient$2): QueryDraftPostsSignature;
|
|
5270
6884
|
interface QueryDraftPostsSignature {
|
|
5271
6885
|
/**
|
|
5272
6886
|
* Retrieves a list of up to 100 draft posts, given the provided paging, filtering, and sorting.
|
|
@@ -5279,7 +6893,7 @@ interface QueryDraftPostsSignature {
|
|
|
5279
6893
|
*/
|
|
5280
6894
|
(options?: QueryDraftPostsOptions | undefined): DraftPostsQueryBuilder;
|
|
5281
6895
|
}
|
|
5282
|
-
declare function publishDraftPost$1(httpClient: HttpClient): PublishDraftPostSignature;
|
|
6896
|
+
declare function publishDraftPost$1(httpClient: HttpClient$2): PublishDraftPostSignature;
|
|
5283
6897
|
interface PublishDraftPostSignature {
|
|
5284
6898
|
/**
|
|
5285
6899
|
* Publishes a specified draft post by ID. This creates a new post entity with the data from the draft post.
|
|
@@ -5289,26 +6903,44 @@ interface PublishDraftPostSignature {
|
|
|
5289
6903
|
*/
|
|
5290
6904
|
(draftPostId: string): Promise<PublishDraftPostResponse & PublishDraftPostResponseNonNullableFields>;
|
|
5291
6905
|
}
|
|
5292
|
-
declare const onDraftCreated$1: EventDefinition<DraftCreatedEnvelope, "wix.blog.v3.draft_created">;
|
|
5293
|
-
declare const onDraftUpdated$1: EventDefinition<DraftUpdatedEnvelope, "wix.blog.v3.draft_updated">;
|
|
5294
|
-
declare const onDraftDeleted$1: EventDefinition<DraftDeletedEnvelope, "wix.blog.v3.draft_deleted">;
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
declare
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
declare
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
6906
|
+
declare const onDraftCreated$1: EventDefinition$5<DraftCreatedEnvelope, "wix.blog.v3.draft_created">;
|
|
6907
|
+
declare const onDraftUpdated$1: EventDefinition$5<DraftUpdatedEnvelope, "wix.blog.v3.draft_updated">;
|
|
6908
|
+
declare const onDraftDeleted$1: EventDefinition$5<DraftDeletedEnvelope, "wix.blog.v3.draft_deleted">;
|
|
6909
|
+
|
|
6910
|
+
type EventDefinition$4<Payload = unknown, Type extends string = string> = {
|
|
6911
|
+
__type: 'event-definition';
|
|
6912
|
+
type: Type;
|
|
6913
|
+
isDomainEvent?: boolean;
|
|
6914
|
+
transformations?: (envelope: unknown) => Payload;
|
|
6915
|
+
__payload: Payload;
|
|
6916
|
+
};
|
|
6917
|
+
declare function EventDefinition$4<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$4<Payload, Type>;
|
|
6918
|
+
type EventHandler$4<T extends EventDefinition$4> = (payload: T['__payload']) => void | Promise<void>;
|
|
6919
|
+
type BuildEventDefinition$4<T extends EventDefinition$4<any, string>> = (handler: EventHandler$4<T>) => void;
|
|
6920
|
+
|
|
6921
|
+
declare global {
|
|
6922
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
6923
|
+
interface SymbolConstructor {
|
|
6924
|
+
readonly observable: symbol;
|
|
6925
|
+
}
|
|
6926
|
+
}
|
|
6927
|
+
|
|
6928
|
+
declare function createEventModule$2<T extends EventDefinition$4<any, string>>(eventDefinition: T): BuildEventDefinition$4<T> & T;
|
|
6929
|
+
|
|
6930
|
+
declare const createDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof createDraftPost$1> & typeof createDraftPost$1>;
|
|
6931
|
+
declare const bulkCreateDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof bulkCreateDraftPosts$1> & typeof bulkCreateDraftPosts$1>;
|
|
6932
|
+
declare const bulkUpdateDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof bulkUpdateDraftPosts$1> & typeof bulkUpdateDraftPosts$1>;
|
|
6933
|
+
declare const listDeletedDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof listDeletedDraftPosts$1> & typeof listDeletedDraftPosts$1>;
|
|
6934
|
+
declare const getDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof getDraftPost$1> & typeof getDraftPost$1>;
|
|
6935
|
+
declare const updateDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof updateDraftPost$1> & typeof updateDraftPost$1>;
|
|
6936
|
+
declare const deleteDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof deleteDraftPost$1> & typeof deleteDraftPost$1>;
|
|
6937
|
+
declare const removeFromTrashBin: MaybeContext$2<BuildRESTFunction$2<typeof removeFromTrashBin$1> & typeof removeFromTrashBin$1>;
|
|
6938
|
+
declare const bulkDeleteDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof bulkDeleteDraftPosts$1> & typeof bulkDeleteDraftPosts$1>;
|
|
6939
|
+
declare const listDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof listDraftPosts$1> & typeof listDraftPosts$1>;
|
|
6940
|
+
declare const getDeletedDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof getDeletedDraftPost$1> & typeof getDeletedDraftPost$1>;
|
|
6941
|
+
declare const restoreFromTrashBin: MaybeContext$2<BuildRESTFunction$2<typeof restoreFromTrashBin$1> & typeof restoreFromTrashBin$1>;
|
|
6942
|
+
declare const queryDraftPosts: MaybeContext$2<BuildRESTFunction$2<typeof queryDraftPosts$1> & typeof queryDraftPosts$1>;
|
|
6943
|
+
declare const publishDraftPost: MaybeContext$2<BuildRESTFunction$2<typeof publishDraftPost$1> & typeof publishDraftPost$1>;
|
|
5312
6944
|
|
|
5313
6945
|
type _publicOnDraftCreatedType = typeof onDraftCreated$1;
|
|
5314
6946
|
/**
|
|
@@ -5453,6 +7085,416 @@ declare namespace context$2 {
|
|
|
5453
7085
|
export { context$2_Action as Action, type ActionEvent$2 as ActionEvent, Alignment$1 as Alignment, type AnchorData$1 as AnchorData, type AppEmbedData$1 as AppEmbedData, type AppEmbedDataAppDataOneOf$1 as AppEmbedDataAppDataOneOf, AppType$1 as AppType, type ApplicationError$1 as ApplicationError, type context$2_ApproveDraftPostRequest as ApproveDraftPostRequest, type context$2_ApproveDraftPostResponse as ApproveDraftPostResponse, type AudioData$1 as AudioData, type Background$1 as Background, type BackgroundBackgroundOneOf$1 as BackgroundBackgroundOneOf, BackgroundType$1 as BackgroundType, type BaseEventMetadata$2 as BaseEventMetadata, type BlockquoteData$1 as BlockquoteData, type BlogPaging$1 as BlogPaging, type BookingData$1 as BookingData, type Border$1 as Border, type BorderColors$1 as BorderColors, type BulkActionMetadata$1 as BulkActionMetadata, type context$2_BulkCreateDraftPostsOptions as BulkCreateDraftPostsOptions, type context$2_BulkCreateDraftPostsRequest as BulkCreateDraftPostsRequest, type context$2_BulkCreateDraftPostsResponse as BulkCreateDraftPostsResponse, type context$2_BulkCreateDraftPostsResponseNonNullableFields as BulkCreateDraftPostsResponseNonNullableFields, type context$2_BulkDeleteDraftPostsOptions as BulkDeleteDraftPostsOptions, type context$2_BulkDeleteDraftPostsRequest as BulkDeleteDraftPostsRequest, type context$2_BulkDeleteDraftPostsResponse as BulkDeleteDraftPostsResponse, type context$2_BulkDeleteDraftPostsResponseNonNullableFields as BulkDeleteDraftPostsResponseNonNullableFields, type context$2_BulkDraftPostResult as BulkDraftPostResult, type context$2_BulkRejectDraftPostRequest as BulkRejectDraftPostRequest, type context$2_BulkRejectDraftPostResponse as BulkRejectDraftPostResponse, type context$2_BulkRevertToUnpublishedRequest as BulkRevertToUnpublishedRequest, type context$2_BulkRevertToUnpublishedResponse as BulkRevertToUnpublishedResponse, type context$2_BulkUpdateDraftPostLanguageRequest as BulkUpdateDraftPostLanguageRequest, type context$2_BulkUpdateDraftPostLanguageResponse as BulkUpdateDraftPostLanguageResponse, type context$2_BulkUpdateDraftPostsOptions as BulkUpdateDraftPostsOptions, type context$2_BulkUpdateDraftPostsRequest as BulkUpdateDraftPostsRequest, type context$2_BulkUpdateDraftPostsResponse as BulkUpdateDraftPostsResponse, type context$2_BulkUpdateDraftPostsResponseNonNullableFields as BulkUpdateDraftPostsResponseNonNullableFields, type BulletedListData$1 as BulletedListData, type ButtonData$1 as ButtonData, context$2_ButtonDataType as ButtonDataType, type Category$1 as Category, type CategoryTranslation$1 as CategoryTranslation, type CellStyle$1 as CellStyle, type CodeBlockData$1 as CodeBlockData, type CollapsibleListData$1 as CollapsibleListData, type ColorData$1 as ColorData, type Colors$1 as Colors, type CoverMedia$1 as CoverMedia, type CoverMediaMediaOneOf$1 as CoverMediaMediaOneOf, type context$2_CreateDraftPostOptions as CreateDraftPostOptions, type context$2_CreateDraftPostRequest as CreateDraftPostRequest, type context$2_CreateDraftPostResponse as CreateDraftPostResponse, type context$2_CreateDraftPostResponseNonNullableFields as CreateDraftPostResponseNonNullableFields, Crop$1 as Crop, type CursorPaging$2 as CursorPaging, type Cursors$2 as Cursors, type Decoration$1 as Decoration, type DecorationDataOneOf$1 as DecorationDataOneOf, DecorationType$1 as DecorationType, type context$2_DeleteDraftPostOptions as DeleteDraftPostOptions, type context$2_DeleteDraftPostRequest as DeleteDraftPostRequest, type context$2_DeleteDraftPostResponse as DeleteDraftPostResponse, type Design$1 as Design, type Dimensions$1 as Dimensions, Direction$1 as Direction, type DividerData$1 as DividerData, type DocumentStyle$1 as DocumentStyle, type DomainEvent$2 as DomainEvent, type DomainEventBodyOneOf$2 as DomainEventBodyOneOf, type context$2_DraftCreatedEnvelope as DraftCreatedEnvelope, type context$2_DraftDeletedEnvelope as DraftDeletedEnvelope, type DraftPost$1 as DraftPost, type context$2_DraftPostOwnerChanged as DraftPostOwnerChanged, type DraftPostTranslation$1 as DraftPostTranslation, type context$2_DraftPostsQueryBuilder as DraftPostsQueryBuilder, type context$2_DraftPostsQueryResult as DraftPostsQueryResult, type context$2_DraftUpdatedEnvelope as DraftUpdatedEnvelope, type EmbedData$1 as EmbedData, type EmbedMedia$1 as EmbedMedia, type EmbedThumbnail$1 as EmbedThumbnail, type EmbedVideo$1 as EmbedVideo, type EntityCreatedEvent$2 as EntityCreatedEvent, type EntityDeletedEvent$2 as EntityDeletedEvent, type EntityUpdatedEvent$2 as EntityUpdatedEvent, type EventData$1 as EventData, type EventMetadata$2 as EventMetadata, Field$2 as Field, type FileData$1 as FileData, type FileSource$1 as FileSource, type FileSourceDataOneOf$1 as FileSourceDataOneOf, type FontSizeData$1 as FontSizeData, FontType$1 as FontType, type GIF$1 as GIF, type GIFData$1 as GIFData, type GalleryData$1 as GalleryData, type GalleryOptions$1 as GalleryOptions, type context$2_GetDeletedDraftPostRequest as GetDeletedDraftPostRequest, type context$2_GetDeletedDraftPostResponse as GetDeletedDraftPostResponse, type context$2_GetDeletedDraftPostResponseNonNullableFields as GetDeletedDraftPostResponseNonNullableFields, type context$2_GetDraftPostOptions as GetDraftPostOptions, type context$2_GetDraftPostRequest as GetDraftPostRequest, type context$2_GetDraftPostResponse as GetDraftPostResponse, type context$2_GetDraftPostResponseNonNullableFields as GetDraftPostResponseNonNullableFields, type context$2_GetDraftPostTotalsRequest as GetDraftPostTotalsRequest, type context$2_GetDraftPostTotalsResponse as GetDraftPostTotalsResponse, context$2_GetDraftPostsSort as GetDraftPostsSort, type context$2_GetPostAmountsByLanguageRequest as GetPostAmountsByLanguageRequest, type context$2_GetPostAmountsByLanguageResponse as GetPostAmountsByLanguageResponse, type Gradient$1 as Gradient, type HTMLData$1 as HTMLData, type HTMLDataDataOneOf$1 as HTMLDataDataOneOf, type HeadingData$1 as HeadingData, type Height$1 as Height, type IdentificationData$2 as IdentificationData, type IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf, type Image$1 as Image, type ImageData$1 as ImageData, type context$2_InitialDraftPostsCopied as InitialDraftPostsCopied, InitialExpandedItems$1 as InitialExpandedItems, type context$2_IsDraftPostAutoTranslatableRequest as IsDraftPostAutoTranslatableRequest, type context$2_IsDraftPostAutoTranslatableResponse as IsDraftPostAutoTranslatableResponse, type Item$1 as Item, type ItemDataOneOf$1 as ItemDataOneOf, type ItemMetadata$1 as ItemMetadata, type ItemStyle$1 as ItemStyle, type Keyword$2 as Keyword, type Layout$1 as Layout, LayoutType$1 as LayoutType, LineStyle$1 as LineStyle, type Link$1 as Link, type LinkData$1 as LinkData, type LinkDataOneOf$1 as LinkDataOneOf, type LinkPreviewData$1 as LinkPreviewData, type context$2_ListDeletedDraftPostsOptions as ListDeletedDraftPostsOptions, type context$2_ListDeletedDraftPostsRequest as ListDeletedDraftPostsRequest, type context$2_ListDeletedDraftPostsResponse as ListDeletedDraftPostsResponse, type context$2_ListDeletedDraftPostsResponseNonNullableFields as ListDeletedDraftPostsResponseNonNullableFields, type context$2_ListDraftPostsOptions as ListDraftPostsOptions, type context$2_ListDraftPostsRequest as ListDraftPostsRequest, type context$2_ListDraftPostsResponse as ListDraftPostsResponse, type context$2_ListDraftPostsResponseNonNullableFields as ListDraftPostsResponseNonNullableFields, type ListValue$1 as ListValue, type MapData$1 as MapData, type MapSettings$1 as MapSettings, MapType$1 as MapType, type context$2_MarkPostAsInModerationRequest as MarkPostAsInModerationRequest, type context$2_MarkPostAsInModerationResponse as MarkPostAsInModerationResponse, type context$2_MaskedDraftPosts as MaskedDraftPosts, type Media$1 as Media, type MediaMediaOneOf$1 as MediaMediaOneOf, type MentionData$1 as MentionData, type MessageEnvelope$2 as MessageEnvelope, type MetaData$2 as MetaData, type Metadata$1 as Metadata, type ModerationDetails$1 as ModerationDetails, ModerationStatusStatus$1 as ModerationStatusStatus, type Node$1 as Node, type NodeDataOneOf$1 as NodeDataOneOf, type NodeStyle$1 as NodeStyle, NodeType$1 as NodeType, NullValue$1 as NullValue, type Oembed$1 as Oembed, type Option$1 as Option, type OptionDesign$1 as OptionDesign, type OptionLayout$1 as OptionLayout, type OrderedListData$1 as OrderedListData, Orientation$1 as Orientation, Origin$1 as Origin, type PDFSettings$1 as PDFSettings, type Paging$2 as Paging, type PagingMetadataV2$2 as PagingMetadataV2, type ParagraphData$1 as ParagraphData, type Permissions$1 as Permissions, type PlatformQuery$2 as PlatformQuery, type PlatformQueryPagingMethodOneOf$2 as PlatformQueryPagingMethodOneOf, type PlaybackOptions$1 as PlaybackOptions, type PluginContainerData$1 as PluginContainerData, PluginContainerDataAlignment$1 as PluginContainerDataAlignment, type PluginContainerDataWidth$1 as PluginContainerDataWidth, type PluginContainerDataWidthDataOneOf$1 as PluginContainerDataWidthDataOneOf, type Poll$1 as Poll, type PollData$1 as PollData, type PollDataLayout$1 as PollDataLayout, type PollDesign$1 as PollDesign, type PollLayout$1 as PollLayout, PollLayoutDirection$1 as PollLayoutDirection, PollLayoutType$1 as PollLayoutType, type PollSettings$1 as PollSettings, type context$2_PostAmountByLanguage as PostAmountByLanguage, type context$2_PublishDraftPostRequest as PublishDraftPostRequest, type context$2_PublishDraftPostResponse as PublishDraftPostResponse, type context$2_PublishDraftPostResponseNonNullableFields as PublishDraftPostResponseNonNullableFields, type context$2_QueryDraftPostsOptions as QueryDraftPostsOptions, type context$2_QueryDraftPostsRequest as QueryDraftPostsRequest, type context$2_QueryDraftPostsResponse as QueryDraftPostsResponse, type context$2_QueryDraftPostsResponseNonNullableFields as QueryDraftPostsResponseNonNullableFields, type context$2_RejectDraftPostRequest as RejectDraftPostRequest, type context$2_RejectDraftPostResponse as RejectDraftPostResponse, type Rel$1 as Rel, type context$2_RemoveFromTrashBinRequest as RemoveFromTrashBinRequest, type context$2_RemoveFromTrashBinResponse as RemoveFromTrashBinResponse, type context$2_RestoreFromTrashBinRequest as RestoreFromTrashBinRequest, type context$2_RestoreFromTrashBinResponse as RestoreFromTrashBinResponse, type context$2_RestoreFromTrashBinResponseNonNullableFields as RestoreFromTrashBinResponseNonNullableFields, type RestoreInfo$2 as RestoreInfo, type context$2_RevertToUnpublishedRequest as RevertToUnpublishedRequest, type context$2_RevertToUnpublishedResponse as RevertToUnpublishedResponse, type RichContent$1 as RichContent, type SeoSchema$2 as SeoSchema, type Settings$2 as Settings, SortOrder$2 as SortOrder, type Sorting$2 as Sorting, Source$1 as Source, type Spoiler$1 as Spoiler, type SpoilerData$1 as SpoilerData, Status$1 as Status, type Styles$1 as Styles, type TableCellData$1 as TableCellData, type TableData$1 as TableData, type Tag$2 as Tag, Target$1 as Target, TextAlignment$1 as TextAlignment, type TextData$1 as TextData, type TextNodeStyle$1 as TextNodeStyle, type TextStyle$1 as TextStyle, type Thumbnails$1 as Thumbnails, ThumbnailsAlignment$1 as ThumbnailsAlignment, type context$2_TotalDraftPosts as TotalDraftPosts, context$2_TotalDraftPostsGroupingField as TotalDraftPostsGroupingField, type context$2_TranslateCategoryRequest as TranslateCategoryRequest, type context$2_TranslateCategoryResponse as TranslateCategoryResponse, type context$2_TranslateDraftRequest as TranslateDraftRequest, type context$2_TranslateDraftResponse as TranslateDraftResponse, Type$1 as Type, type context$2_UnpublishPostRequest as UnpublishPostRequest, type context$2_UnpublishPostResponse as UnpublishPostResponse, type context$2_UpdateDraftPost as UpdateDraftPost, type context$2_UpdateDraftPostContentRequest as UpdateDraftPostContentRequest, type context$2_UpdateDraftPostContentRequestDraftContentOneOf as UpdateDraftPostContentRequestDraftContentOneOf, type context$2_UpdateDraftPostContentResponse as UpdateDraftPostContentResponse, type context$2_UpdateDraftPostLanguageRequest as UpdateDraftPostLanguageRequest, type context$2_UpdateDraftPostLanguageResponse as UpdateDraftPostLanguageResponse, type context$2_UpdateDraftPostOptions as UpdateDraftPostOptions, type context$2_UpdateDraftPostRequest as UpdateDraftPostRequest, type context$2_UpdateDraftPostResponse as UpdateDraftPostResponse, type context$2_UpdateDraftPostResponseNonNullableFields as UpdateDraftPostResponseNonNullableFields, type V1Media$1 as V1Media, VerticalAlignment$1 as VerticalAlignment, type Video$1 as Video, type VideoData$1 as VideoData, type VideoResolution$1 as VideoResolution, ViewMode$1 as ViewMode, ViewRole$1 as ViewRole, VoteRole$1 as VoteRole, WebhookIdentityType$2 as WebhookIdentityType, Width$1 as Width, WidthType$1 as WidthType, type WixMedia$1 as WixMedia, type context$2__publicOnDraftCreatedType as _publicOnDraftCreatedType, type context$2__publicOnDraftDeletedType as _publicOnDraftDeletedType, type context$2__publicOnDraftUpdatedType as _publicOnDraftUpdatedType, context$2_bulkCreateDraftPosts as bulkCreateDraftPosts, context$2_bulkDeleteDraftPosts as bulkDeleteDraftPosts, context$2_bulkUpdateDraftPosts as bulkUpdateDraftPosts, context$2_createDraftPost as createDraftPost, context$2_deleteDraftPost as deleteDraftPost, context$2_getDeletedDraftPost as getDeletedDraftPost, context$2_getDraftPost as getDraftPost, context$2_listDeletedDraftPosts as listDeletedDraftPosts, context$2_listDraftPosts as listDraftPosts, context$2_onDraftCreated as onDraftCreated, context$2_onDraftDeleted as onDraftDeleted, context$2_onDraftUpdated as onDraftUpdated, onDraftCreated$1 as publicOnDraftCreated, onDraftDeleted$1 as publicOnDraftDeleted, onDraftUpdated$1 as publicOnDraftUpdated, context$2_publishDraftPost as publishDraftPost, context$2_queryDraftPosts as queryDraftPosts, context$2_removeFromTrashBin as removeFromTrashBin, context$2_restoreFromTrashBin as restoreFromTrashBin, context$2_updateDraftPost as updateDraftPost };
|
|
5454
7086
|
}
|
|
5455
7087
|
|
|
7088
|
+
type HostModule$1<T, H extends Host$1> = {
|
|
7089
|
+
__type: 'host';
|
|
7090
|
+
create(host: H): T;
|
|
7091
|
+
};
|
|
7092
|
+
type HostModuleAPI$1<T extends HostModule$1<any, any>> = T extends HostModule$1<infer U, any> ? U : never;
|
|
7093
|
+
type Host$1<Environment = unknown> = {
|
|
7094
|
+
channel: {
|
|
7095
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
7096
|
+
disconnect: () => void;
|
|
7097
|
+
} | Promise<{
|
|
7098
|
+
disconnect: () => void;
|
|
7099
|
+
}>;
|
|
7100
|
+
};
|
|
7101
|
+
environment?: Environment;
|
|
7102
|
+
/**
|
|
7103
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
7104
|
+
*/
|
|
7105
|
+
apiBaseUrl?: string;
|
|
7106
|
+
/**
|
|
7107
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
7108
|
+
* like internationalization, billing, etc.
|
|
7109
|
+
*/
|
|
7110
|
+
essentials?: {
|
|
7111
|
+
/**
|
|
7112
|
+
* The language of the currently viewed session
|
|
7113
|
+
*/
|
|
7114
|
+
language?: string;
|
|
7115
|
+
/**
|
|
7116
|
+
* The locale of the currently viewed session
|
|
7117
|
+
*/
|
|
7118
|
+
locale?: string;
|
|
7119
|
+
/**
|
|
7120
|
+
* Any headers that should be passed through to the API requests
|
|
7121
|
+
*/
|
|
7122
|
+
passThroughHeaders?: Record<string, string>;
|
|
7123
|
+
};
|
|
7124
|
+
};
|
|
7125
|
+
|
|
7126
|
+
type RESTFunctionDescriptor$1<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient$1) => T;
|
|
7127
|
+
interface HttpClient$1 {
|
|
7128
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory$1<TResponse, TData>): Promise<HttpResponse$1<TResponse>>;
|
|
7129
|
+
fetchWithAuth: typeof fetch;
|
|
7130
|
+
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
7131
|
+
getActiveToken?: () => string | undefined;
|
|
7132
|
+
}
|
|
7133
|
+
type RequestOptionsFactory$1<TResponse = any, TData = any> = (context: any) => RequestOptions$1<TResponse, TData>;
|
|
7134
|
+
type HttpResponse$1<T = any> = {
|
|
7135
|
+
data: T;
|
|
7136
|
+
status: number;
|
|
7137
|
+
statusText: string;
|
|
7138
|
+
headers: any;
|
|
7139
|
+
request?: any;
|
|
7140
|
+
};
|
|
7141
|
+
type RequestOptions$1<_TResponse = any, Data = any> = {
|
|
7142
|
+
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
7143
|
+
url: string;
|
|
7144
|
+
data?: Data;
|
|
7145
|
+
params?: URLSearchParams;
|
|
7146
|
+
} & APIMetadata$1;
|
|
7147
|
+
type APIMetadata$1 = {
|
|
7148
|
+
methodFqn?: string;
|
|
7149
|
+
entityFqdn?: string;
|
|
7150
|
+
packageName?: string;
|
|
7151
|
+
};
|
|
7152
|
+
type BuildRESTFunction$1<T extends RESTFunctionDescriptor$1> = T extends RESTFunctionDescriptor$1<infer U> ? U : never;
|
|
7153
|
+
type EventDefinition$3<Payload = unknown, Type extends string = string> = {
|
|
7154
|
+
__type: 'event-definition';
|
|
7155
|
+
type: Type;
|
|
7156
|
+
isDomainEvent?: boolean;
|
|
7157
|
+
transformations?: (envelope: unknown) => Payload;
|
|
7158
|
+
__payload: Payload;
|
|
7159
|
+
};
|
|
7160
|
+
declare function EventDefinition$3<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$3<Payload, Type>;
|
|
7161
|
+
type EventHandler$3<T extends EventDefinition$3> = (payload: T['__payload']) => void | Promise<void>;
|
|
7162
|
+
type BuildEventDefinition$3<T extends EventDefinition$3<any, string>> = (handler: EventHandler$3<T>) => void;
|
|
7163
|
+
|
|
7164
|
+
type ServicePluginMethodInput$1 = {
|
|
7165
|
+
request: any;
|
|
7166
|
+
metadata: any;
|
|
7167
|
+
};
|
|
7168
|
+
type ServicePluginContract$1 = Record<string, (payload: ServicePluginMethodInput$1) => unknown | Promise<unknown>>;
|
|
7169
|
+
type ServicePluginMethodMetadata$1 = {
|
|
7170
|
+
name: string;
|
|
7171
|
+
primaryHttpMappingPath: string;
|
|
7172
|
+
transformations: {
|
|
7173
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput$1;
|
|
7174
|
+
toREST: (...args: unknown[]) => unknown;
|
|
7175
|
+
};
|
|
7176
|
+
};
|
|
7177
|
+
type ServicePluginDefinition$1<Contract extends ServicePluginContract$1> = {
|
|
7178
|
+
__type: 'service-plugin-definition';
|
|
7179
|
+
componentType: string;
|
|
7180
|
+
methods: ServicePluginMethodMetadata$1[];
|
|
7181
|
+
__contract: Contract;
|
|
7182
|
+
};
|
|
7183
|
+
declare function ServicePluginDefinition$1<Contract extends ServicePluginContract$1>(componentType: string, methods: ServicePluginMethodMetadata$1[]): ServicePluginDefinition$1<Contract>;
|
|
7184
|
+
type BuildServicePluginDefinition$1<T extends ServicePluginDefinition$1<any>> = (implementation: T['__contract']) => void;
|
|
7185
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE$1 = "wix_spi_error";
|
|
7186
|
+
|
|
7187
|
+
type RequestContext$1 = {
|
|
7188
|
+
isSSR: boolean;
|
|
7189
|
+
host: string;
|
|
7190
|
+
protocol?: string;
|
|
7191
|
+
};
|
|
7192
|
+
type ResponseTransformer$1 = (data: any, headers?: any) => any;
|
|
7193
|
+
/**
|
|
7194
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
7195
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
7196
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
7197
|
+
*/
|
|
7198
|
+
type Method$1 = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
7199
|
+
type AmbassadorRequestOptions$1<T = any> = {
|
|
7200
|
+
_?: T;
|
|
7201
|
+
url?: string;
|
|
7202
|
+
method?: Method$1;
|
|
7203
|
+
params?: any;
|
|
7204
|
+
data?: any;
|
|
7205
|
+
transformResponse?: ResponseTransformer$1 | ResponseTransformer$1[];
|
|
7206
|
+
};
|
|
7207
|
+
type AmbassadorFactory$1<Request, Response> = (payload: Request) => ((context: RequestContext$1) => AmbassadorRequestOptions$1<Response>) & {
|
|
7208
|
+
__isAmbassador: boolean;
|
|
7209
|
+
};
|
|
7210
|
+
type AmbassadorFunctionDescriptor$1<Request = any, Response = any> = AmbassadorFactory$1<Request, Response>;
|
|
7211
|
+
type BuildAmbassadorFunction$1<T extends AmbassadorFunctionDescriptor$1> = T extends AmbassadorFunctionDescriptor$1<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
7212
|
+
|
|
7213
|
+
declare global {
|
|
7214
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
7215
|
+
interface SymbolConstructor {
|
|
7216
|
+
readonly observable: symbol;
|
|
7217
|
+
}
|
|
7218
|
+
}
|
|
7219
|
+
|
|
7220
|
+
declare const emptyObjectSymbol$1: unique symbol;
|
|
7221
|
+
|
|
7222
|
+
/**
|
|
7223
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
7224
|
+
|
|
7225
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
7226
|
+
|
|
7227
|
+
@example
|
|
7228
|
+
```
|
|
7229
|
+
import type {EmptyObject} from 'type-fest';
|
|
7230
|
+
|
|
7231
|
+
// The following illustrates the problem with `{}`.
|
|
7232
|
+
const foo1: {} = {}; // Pass
|
|
7233
|
+
const foo2: {} = []; // Pass
|
|
7234
|
+
const foo3: {} = 42; // Pass
|
|
7235
|
+
const foo4: {} = {a: 1}; // Pass
|
|
7236
|
+
|
|
7237
|
+
// With `EmptyObject` only the first case is valid.
|
|
7238
|
+
const bar1: EmptyObject = {}; // Pass
|
|
7239
|
+
const bar2: EmptyObject = 42; // Fail
|
|
7240
|
+
const bar3: EmptyObject = []; // Fail
|
|
7241
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
7242
|
+
```
|
|
7243
|
+
|
|
7244
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
7245
|
+
|
|
7246
|
+
@category Object
|
|
7247
|
+
*/
|
|
7248
|
+
type EmptyObject$1 = {[emptyObjectSymbol$1]?: never};
|
|
7249
|
+
|
|
7250
|
+
/**
|
|
7251
|
+
Returns a boolean for whether the two given types are equal.
|
|
7252
|
+
|
|
7253
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
7254
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
7255
|
+
|
|
7256
|
+
Use-cases:
|
|
7257
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
7258
|
+
|
|
7259
|
+
@example
|
|
7260
|
+
```
|
|
7261
|
+
import type {IsEqual} from 'type-fest';
|
|
7262
|
+
|
|
7263
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
7264
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
7265
|
+
type Includes<Value extends readonly any[], Item> =
|
|
7266
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
7267
|
+
? IsEqual<Value[0], Item> extends true
|
|
7268
|
+
? true
|
|
7269
|
+
: Includes<rest, Item>
|
|
7270
|
+
: false;
|
|
7271
|
+
```
|
|
7272
|
+
|
|
7273
|
+
@category Type Guard
|
|
7274
|
+
@category Utilities
|
|
7275
|
+
*/
|
|
7276
|
+
type IsEqual$1<A, B> =
|
|
7277
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
7278
|
+
(<G>() => G extends B ? 1 : 2)
|
|
7279
|
+
? true
|
|
7280
|
+
: false;
|
|
7281
|
+
|
|
7282
|
+
/**
|
|
7283
|
+
Filter out keys from an object.
|
|
7284
|
+
|
|
7285
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
7286
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
7287
|
+
Returns `Key` otherwise.
|
|
7288
|
+
|
|
7289
|
+
@example
|
|
7290
|
+
```
|
|
7291
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
7292
|
+
//=> never
|
|
7293
|
+
```
|
|
7294
|
+
|
|
7295
|
+
@example
|
|
7296
|
+
```
|
|
7297
|
+
type Filtered = Filter<'bar', string>;
|
|
7298
|
+
//=> never
|
|
7299
|
+
```
|
|
7300
|
+
|
|
7301
|
+
@example
|
|
7302
|
+
```
|
|
7303
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
7304
|
+
//=> 'bar'
|
|
7305
|
+
```
|
|
7306
|
+
|
|
7307
|
+
@see {Except}
|
|
7308
|
+
*/
|
|
7309
|
+
type Filter$1<KeyType, ExcludeType> = IsEqual$1<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
7310
|
+
|
|
7311
|
+
type ExceptOptions$1 = {
|
|
7312
|
+
/**
|
|
7313
|
+
Disallow assigning non-specified properties.
|
|
7314
|
+
|
|
7315
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
7316
|
+
|
|
7317
|
+
@default false
|
|
7318
|
+
*/
|
|
7319
|
+
requireExactProps?: boolean;
|
|
7320
|
+
};
|
|
7321
|
+
|
|
7322
|
+
/**
|
|
7323
|
+
Create a type from an object type without certain keys.
|
|
7324
|
+
|
|
7325
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
7326
|
+
|
|
7327
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
7328
|
+
|
|
7329
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
7330
|
+
|
|
7331
|
+
@example
|
|
7332
|
+
```
|
|
7333
|
+
import type {Except} from 'type-fest';
|
|
7334
|
+
|
|
7335
|
+
type Foo = {
|
|
7336
|
+
a: number;
|
|
7337
|
+
b: string;
|
|
7338
|
+
};
|
|
7339
|
+
|
|
7340
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
7341
|
+
//=> {b: string}
|
|
7342
|
+
|
|
7343
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
7344
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
7345
|
+
|
|
7346
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
7347
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
7348
|
+
|
|
7349
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
7350
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
7351
|
+
```
|
|
7352
|
+
|
|
7353
|
+
@category Object
|
|
7354
|
+
*/
|
|
7355
|
+
type Except$1<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions$1 = {requireExactProps: false}> = {
|
|
7356
|
+
[KeyType in keyof ObjectType as Filter$1<KeyType, KeysType>]: ObjectType[KeyType];
|
|
7357
|
+
} & (Options['requireExactProps'] extends true
|
|
7358
|
+
? Partial<Record<KeysType, never>>
|
|
7359
|
+
: {});
|
|
7360
|
+
|
|
7361
|
+
/**
|
|
7362
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
7363
|
+
|
|
7364
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
7365
|
+
|
|
7366
|
+
@example
|
|
7367
|
+
```
|
|
7368
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
7369
|
+
|
|
7370
|
+
interface Example {
|
|
7371
|
+
a: string;
|
|
7372
|
+
b: string | number;
|
|
7373
|
+
c?: string;
|
|
7374
|
+
d: {};
|
|
7375
|
+
}
|
|
7376
|
+
|
|
7377
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
7378
|
+
//=> 'a'
|
|
7379
|
+
```
|
|
7380
|
+
|
|
7381
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
7382
|
+
|
|
7383
|
+
@example
|
|
7384
|
+
```
|
|
7385
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
7386
|
+
|
|
7387
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
7388
|
+
//=> 'a' | 'c'
|
|
7389
|
+
```
|
|
7390
|
+
|
|
7391
|
+
@category Object
|
|
7392
|
+
*/
|
|
7393
|
+
type ConditionalKeys$1<Base, Condition> = NonNullable<
|
|
7394
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
7395
|
+
{
|
|
7396
|
+
// Map through all the keys of the given base type.
|
|
7397
|
+
[Key in keyof Base]:
|
|
7398
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
7399
|
+
Base[Key] extends Condition
|
|
7400
|
+
// Retain this key since the condition passes.
|
|
7401
|
+
? Key
|
|
7402
|
+
// Discard this key since the condition fails.
|
|
7403
|
+
: never;
|
|
7404
|
+
|
|
7405
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
7406
|
+
}[keyof Base]
|
|
7407
|
+
>;
|
|
7408
|
+
|
|
7409
|
+
/**
|
|
7410
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
7411
|
+
|
|
7412
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
7413
|
+
|
|
7414
|
+
@example
|
|
7415
|
+
```
|
|
7416
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
7417
|
+
|
|
7418
|
+
class Awesome {
|
|
7419
|
+
name: string;
|
|
7420
|
+
successes: number;
|
|
7421
|
+
failures: bigint;
|
|
7422
|
+
|
|
7423
|
+
run() {}
|
|
7424
|
+
}
|
|
7425
|
+
|
|
7426
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
7427
|
+
//=> {run: () => void}
|
|
7428
|
+
```
|
|
7429
|
+
|
|
7430
|
+
@example
|
|
7431
|
+
```
|
|
7432
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
7433
|
+
|
|
7434
|
+
interface Example {
|
|
7435
|
+
a: string;
|
|
7436
|
+
b: string | number;
|
|
7437
|
+
c: () => void;
|
|
7438
|
+
d: {};
|
|
7439
|
+
}
|
|
7440
|
+
|
|
7441
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
7442
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
7443
|
+
```
|
|
7444
|
+
|
|
7445
|
+
@category Object
|
|
7446
|
+
*/
|
|
7447
|
+
type ConditionalExcept$1<Base, Condition> = Except$1<
|
|
7448
|
+
Base,
|
|
7449
|
+
ConditionalKeys$1<Base, Condition>
|
|
7450
|
+
>;
|
|
7451
|
+
|
|
7452
|
+
/**
|
|
7453
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
7454
|
+
* can either be a REST module or a host module.
|
|
7455
|
+
* This type is recursive, so it can describe nested modules.
|
|
7456
|
+
*/
|
|
7457
|
+
type Descriptors$1 = RESTFunctionDescriptor$1 | AmbassadorFunctionDescriptor$1 | HostModule$1<any, any> | EventDefinition$3<any> | ServicePluginDefinition$1<any> | {
|
|
7458
|
+
[key: string]: Descriptors$1 | PublicMetadata$1 | any;
|
|
7459
|
+
};
|
|
7460
|
+
/**
|
|
7461
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
7462
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
7463
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
7464
|
+
* do not match the given host (as they will not work with the given host).
|
|
7465
|
+
*/
|
|
7466
|
+
type BuildDescriptors$1<T extends Descriptors$1, H extends Host$1<any> | undefined, Depth extends number = 5> = {
|
|
7467
|
+
done: T;
|
|
7468
|
+
recurse: T extends {
|
|
7469
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE$1;
|
|
7470
|
+
} ? never : T extends AmbassadorFunctionDescriptor$1 ? BuildAmbassadorFunction$1<T> : T extends RESTFunctionDescriptor$1 ? BuildRESTFunction$1<T> : T extends EventDefinition$3<any> ? BuildEventDefinition$3<T> : T extends ServicePluginDefinition$1<any> ? BuildServicePluginDefinition$1<T> : T extends HostModule$1<any, any> ? HostModuleAPI$1<T> : ConditionalExcept$1<{
|
|
7471
|
+
[Key in keyof T]: T[Key] extends Descriptors$1 ? BuildDescriptors$1<T[Key], H, [
|
|
7472
|
+
-1,
|
|
7473
|
+
0,
|
|
7474
|
+
1,
|
|
7475
|
+
2,
|
|
7476
|
+
3,
|
|
7477
|
+
4,
|
|
7478
|
+
5
|
|
7479
|
+
][Depth]> : never;
|
|
7480
|
+
}, EmptyObject$1>;
|
|
7481
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
7482
|
+
type PublicMetadata$1 = {
|
|
7483
|
+
PACKAGE_NAME?: string;
|
|
7484
|
+
};
|
|
7485
|
+
|
|
7486
|
+
declare global {
|
|
7487
|
+
interface ContextualClient {
|
|
7488
|
+
}
|
|
7489
|
+
}
|
|
7490
|
+
/**
|
|
7491
|
+
* A type used to create concerete types from SDK descriptors in
|
|
7492
|
+
* case a contextual client is available.
|
|
7493
|
+
*/
|
|
7494
|
+
type MaybeContext$1<T extends Descriptors$1> = globalThis.ContextualClient extends {
|
|
7495
|
+
host: Host$1;
|
|
7496
|
+
} ? BuildDescriptors$1<T, globalThis.ContextualClient['host']> : T;
|
|
7497
|
+
|
|
5456
7498
|
interface Post {
|
|
5457
7499
|
/**
|
|
5458
7500
|
* Post ID.
|
|
@@ -8934,7 +10976,7 @@ interface GetTotalPostsOptions {
|
|
|
8934
10976
|
language?: string | null;
|
|
8935
10977
|
}
|
|
8936
10978
|
|
|
8937
|
-
declare function getPost$1(httpClient: HttpClient): GetPostSignature;
|
|
10979
|
+
declare function getPost$1(httpClient: HttpClient$1): GetPostSignature;
|
|
8938
10980
|
interface GetPostSignature {
|
|
8939
10981
|
/**
|
|
8940
10982
|
* Gets a post by the specified ID.
|
|
@@ -8948,7 +10990,7 @@ interface GetPostSignature {
|
|
|
8948
10990
|
*/
|
|
8949
10991
|
(postId: string, options?: GetPostOptions | undefined): Promise<GetPostResponse & GetPostResponseNonNullableFields>;
|
|
8950
10992
|
}
|
|
8951
|
-
declare function getPostBySlug$1(httpClient: HttpClient): GetPostBySlugSignature;
|
|
10993
|
+
declare function getPostBySlug$1(httpClient: HttpClient$1): GetPostBySlugSignature;
|
|
8952
10994
|
interface GetPostBySlugSignature {
|
|
8953
10995
|
/**
|
|
8954
10996
|
* Gets a post by the provided slug.
|
|
@@ -8965,7 +11007,7 @@ interface GetPostBySlugSignature {
|
|
|
8965
11007
|
*/
|
|
8966
11008
|
(slug: string, options?: GetPostBySlugOptions | undefined): Promise<GetPostBySlugResponse & GetPostBySlugResponseNonNullableFields>;
|
|
8967
11009
|
}
|
|
8968
|
-
declare function listPosts$1(httpClient: HttpClient): ListPostsSignature;
|
|
11010
|
+
declare function listPosts$1(httpClient: HttpClient$1): ListPostsSignature;
|
|
8969
11011
|
interface ListPostsSignature {
|
|
8970
11012
|
/**
|
|
8971
11013
|
* Retrieves a list of published posts.
|
|
@@ -8981,7 +11023,7 @@ interface ListPostsSignature {
|
|
|
8981
11023
|
*/
|
|
8982
11024
|
(options?: ListPostsOptions | undefined): Promise<ListPostsResponse & ListPostsResponseNonNullableFields>;
|
|
8983
11025
|
}
|
|
8984
|
-
declare function queryPosts$1(httpClient: HttpClient): QueryPostsSignature;
|
|
11026
|
+
declare function queryPosts$1(httpClient: HttpClient$1): QueryPostsSignature;
|
|
8985
11027
|
interface QueryPostsSignature {
|
|
8986
11028
|
/**
|
|
8987
11029
|
* Creates a query to retrieve a list of posts.
|
|
@@ -9006,7 +11048,7 @@ interface QueryPostsSignature {
|
|
|
9006
11048
|
*/
|
|
9007
11049
|
(options?: QueryPostsOptions | undefined): PostsQueryBuilder;
|
|
9008
11050
|
}
|
|
9009
|
-
declare function getPostMetrics$1(httpClient: HttpClient): GetPostMetricsSignature;
|
|
11051
|
+
declare function getPostMetrics$1(httpClient: HttpClient$1): GetPostMetricsSignature;
|
|
9010
11052
|
interface GetPostMetricsSignature {
|
|
9011
11053
|
/**
|
|
9012
11054
|
* Gets a specified post's metrics.
|
|
@@ -9020,7 +11062,7 @@ interface GetPostMetricsSignature {
|
|
|
9020
11062
|
*/
|
|
9021
11063
|
(postId: string): Promise<GetPostMetricsResponse & GetPostMetricsResponseNonNullableFields>;
|
|
9022
11064
|
}
|
|
9023
|
-
declare function queryPostCountStats$1(httpClient: HttpClient): QueryPostCountStatsSignature;
|
|
11065
|
+
declare function queryPostCountStats$1(httpClient: HttpClient$1): QueryPostCountStatsSignature;
|
|
9024
11066
|
interface QueryPostCountStatsSignature {
|
|
9025
11067
|
/**
|
|
9026
11068
|
* Retrieves the number of published posts per month within a specified time range.
|
|
@@ -9036,7 +11078,7 @@ interface QueryPostCountStatsSignature {
|
|
|
9036
11078
|
*/
|
|
9037
11079
|
(options?: QueryPostCountStatsOptions | undefined): Promise<QueryPostCountStatsResponse & QueryPostCountStatsResponseNonNullableFields>;
|
|
9038
11080
|
}
|
|
9039
|
-
declare function getTotalPosts$1(httpClient: HttpClient): GetTotalPostsSignature;
|
|
11081
|
+
declare function getTotalPosts$1(httpClient: HttpClient$1): GetTotalPostsSignature;
|
|
9040
11082
|
interface GetTotalPostsSignature {
|
|
9041
11083
|
/**
|
|
9042
11084
|
* Gets the total amount of published posts on the blog.
|
|
@@ -9051,21 +11093,39 @@ interface GetTotalPostsSignature {
|
|
|
9051
11093
|
*/
|
|
9052
11094
|
(options?: GetTotalPostsOptions | undefined): Promise<GetTotalPostsResponse & GetTotalPostsResponseNonNullableFields>;
|
|
9053
11095
|
}
|
|
9054
|
-
declare const onPostCreated$1: EventDefinition<PostCreatedEnvelope, "wix.blog.v3.post_created">;
|
|
9055
|
-
declare const onPostUpdated$1: EventDefinition<PostUpdatedEnvelope, "wix.blog.v3.post_updated">;
|
|
9056
|
-
declare const onPostDeleted$1: EventDefinition<PostDeletedEnvelope, "wix.blog.v3.post_deleted">;
|
|
9057
|
-
declare const onPostLiked$1: EventDefinition<PostLikedEnvelope, "wix.blog.v3.post_liked">;
|
|
9058
|
-
declare const onPostUnliked$1: EventDefinition<PostUnlikedEnvelope, "wix.blog.v3.post_unliked">;
|
|
11096
|
+
declare const onPostCreated$1: EventDefinition$3<PostCreatedEnvelope, "wix.blog.v3.post_created">;
|
|
11097
|
+
declare const onPostUpdated$1: EventDefinition$3<PostUpdatedEnvelope, "wix.blog.v3.post_updated">;
|
|
11098
|
+
declare const onPostDeleted$1: EventDefinition$3<PostDeletedEnvelope, "wix.blog.v3.post_deleted">;
|
|
11099
|
+
declare const onPostLiked$1: EventDefinition$3<PostLikedEnvelope, "wix.blog.v3.post_liked">;
|
|
11100
|
+
declare const onPostUnliked$1: EventDefinition$3<PostUnlikedEnvelope, "wix.blog.v3.post_unliked">;
|
|
11101
|
+
|
|
11102
|
+
type EventDefinition$2<Payload = unknown, Type extends string = string> = {
|
|
11103
|
+
__type: 'event-definition';
|
|
11104
|
+
type: Type;
|
|
11105
|
+
isDomainEvent?: boolean;
|
|
11106
|
+
transformations?: (envelope: unknown) => Payload;
|
|
11107
|
+
__payload: Payload;
|
|
11108
|
+
};
|
|
11109
|
+
declare function EventDefinition$2<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$2<Payload, Type>;
|
|
11110
|
+
type EventHandler$2<T extends EventDefinition$2> = (payload: T['__payload']) => void | Promise<void>;
|
|
11111
|
+
type BuildEventDefinition$2<T extends EventDefinition$2<any, string>> = (handler: EventHandler$2<T>) => void;
|
|
11112
|
+
|
|
11113
|
+
declare global {
|
|
11114
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
11115
|
+
interface SymbolConstructor {
|
|
11116
|
+
readonly observable: symbol;
|
|
11117
|
+
}
|
|
11118
|
+
}
|
|
9059
11119
|
|
|
9060
|
-
declare function createEventModule$1<T extends EventDefinition<any, string>>(eventDefinition: T): BuildEventDefinition<T> & T;
|
|
11120
|
+
declare function createEventModule$1<T extends EventDefinition$2<any, string>>(eventDefinition: T): BuildEventDefinition$2<T> & T;
|
|
9061
11121
|
|
|
9062
|
-
declare const getPost: BuildRESTFunction<typeof getPost$1> & typeof getPost$1
|
|
9063
|
-
declare const getPostBySlug: BuildRESTFunction<typeof getPostBySlug$1> & typeof getPostBySlug$1
|
|
9064
|
-
declare const listPosts: BuildRESTFunction<typeof listPosts$1> & typeof listPosts$1
|
|
9065
|
-
declare const queryPosts: BuildRESTFunction<typeof queryPosts$1> & typeof queryPosts$1
|
|
9066
|
-
declare const getPostMetrics: BuildRESTFunction<typeof getPostMetrics$1> & typeof getPostMetrics$1
|
|
9067
|
-
declare const queryPostCountStats: BuildRESTFunction<typeof queryPostCountStats$1> & typeof queryPostCountStats$1
|
|
9068
|
-
declare const getTotalPosts: BuildRESTFunction<typeof getTotalPosts$1> & typeof getTotalPosts$1
|
|
11122
|
+
declare const getPost: MaybeContext$1<BuildRESTFunction$1<typeof getPost$1> & typeof getPost$1>;
|
|
11123
|
+
declare const getPostBySlug: MaybeContext$1<BuildRESTFunction$1<typeof getPostBySlug$1> & typeof getPostBySlug$1>;
|
|
11124
|
+
declare const listPosts: MaybeContext$1<BuildRESTFunction$1<typeof listPosts$1> & typeof listPosts$1>;
|
|
11125
|
+
declare const queryPosts: MaybeContext$1<BuildRESTFunction$1<typeof queryPosts$1> & typeof queryPosts$1>;
|
|
11126
|
+
declare const getPostMetrics: MaybeContext$1<BuildRESTFunction$1<typeof getPostMetrics$1> & typeof getPostMetrics$1>;
|
|
11127
|
+
declare const queryPostCountStats: MaybeContext$1<BuildRESTFunction$1<typeof queryPostCountStats$1> & typeof queryPostCountStats$1>;
|
|
11128
|
+
declare const getTotalPosts: MaybeContext$1<BuildRESTFunction$1<typeof getTotalPosts$1> & typeof getTotalPosts$1>;
|
|
9069
11129
|
|
|
9070
11130
|
type _publicOnPostCreatedType = typeof onPostCreated$1;
|
|
9071
11131
|
/**
|
|
@@ -9380,6 +11440,416 @@ declare namespace context$1 {
|
|
|
9380
11440
|
export { type ActionEvent$1 as ActionEvent, context$1_Alignment as Alignment, type context$1_AnchorData as AnchorData, type context$1_AppEmbedData as AppEmbedData, type context$1_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf, context$1_AppType as AppType, type context$1_AudioData as AudioData, type context$1_Background as Background, type context$1_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf, context$1_BackgroundType as BackgroundType, type BaseEventMetadata$1 as BaseEventMetadata, type context$1_BlockquoteData as BlockquoteData, type context$1_BlogPaging as BlogPaging, type context$1_BookingData as BookingData, type context$1_Border as Border, type context$1_BorderColors as BorderColors, type context$1_BulkGetPostMetricsRequest as BulkGetPostMetricsRequest, type context$1_BulkGetPostMetricsResponse as BulkGetPostMetricsResponse, type context$1_BulkGetPostReactionsRequest as BulkGetPostReactionsRequest, type context$1_BulkGetPostReactionsResponse as BulkGetPostReactionsResponse, type context$1_BulletedListData as BulletedListData, type context$1_ButtonData as ButtonData, type context$1_Category as Category, type context$1_CategoryTranslation as CategoryTranslation, type context$1_CellStyle as CellStyle, type context$1_CodeBlockData as CodeBlockData, type context$1_CollapsibleListData as CollapsibleListData, type context$1_ColorData as ColorData, type context$1_Colors as Colors, type context$1_ConvertDraftJsToRichContentRequest as ConvertDraftJsToRichContentRequest, type context$1_ConvertDraftJsToRichContentResponse as ConvertDraftJsToRichContentResponse, type context$1_ConvertRichContentToDraftJsRequest as ConvertRichContentToDraftJsRequest, type context$1_ConvertRichContentToDraftJsResponse as ConvertRichContentToDraftJsResponse, type context$1_CoverMedia as CoverMedia, type context$1_CoverMediaMediaOneOf as CoverMediaMediaOneOf, type context$1_CreateDraftPostFromTemplateRequest as CreateDraftPostFromTemplateRequest, type context$1_CreateDraftPostFromTemplateResponse as CreateDraftPostFromTemplateResponse, context$1_Crop as Crop, type CursorPaging$1 as CursorPaging, type Cursors$1 as Cursors, type context$1_Decoration as Decoration, type context$1_DecorationDataOneOf as DecorationDataOneOf, context$1_DecorationType as DecorationType, type context$1_Design as Design, type context$1_Dimensions as Dimensions, context$1_Direction as Direction, type context$1_DividerData as DividerData, type context$1_DocumentStyle as DocumentStyle, type DomainEvent$1 as DomainEvent, type DomainEventBodyOneOf$1 as DomainEventBodyOneOf, type context$1_DraftPost as DraftPost, type context$1_DraftPostTranslation as DraftPostTranslation, type context$1_EmbedData as EmbedData, type context$1_EmbedMedia as EmbedMedia, type context$1_EmbedThumbnail as EmbedThumbnail, type context$1_EmbedVideo as EmbedVideo, type EntityCreatedEvent$1 as EntityCreatedEvent, type EntityDeletedEvent$1 as EntityDeletedEvent, type EntityUpdatedEvent$1 as EntityUpdatedEvent, type context$1_EventData as EventData, type EventMetadata$1 as EventMetadata, Field$1 as Field, type context$1_FileData as FileData, type context$1_FileSource as FileSource, type context$1_FileSourceDataOneOf as FileSourceDataOneOf, type context$1_FontSizeData as FontSizeData, context$1_FontType as FontType, type context$1_GIF as GIF, type context$1_GIFData as GIFData, type context$1_GalleryData as GalleryData, type context$1_GalleryOptions as GalleryOptions, type context$1_GetPostBySlugOptions as GetPostBySlugOptions, type context$1_GetPostBySlugRequest as GetPostBySlugRequest, type context$1_GetPostBySlugResponse as GetPostBySlugResponse, type context$1_GetPostBySlugResponseNonNullableFields as GetPostBySlugResponseNonNullableFields, type context$1_GetPostMetricsRequest as GetPostMetricsRequest, type context$1_GetPostMetricsResponse as GetPostMetricsResponse, type context$1_GetPostMetricsResponseNonNullableFields as GetPostMetricsResponseNonNullableFields, type context$1_GetPostOptions as GetPostOptions, type context$1_GetPostRequest as GetPostRequest, type context$1_GetPostResponse as GetPostResponse, type context$1_GetPostResponseNonNullableFields as GetPostResponseNonNullableFields, context$1_GetPostTemplatesSort as GetPostTemplatesSort, context$1_GetPostsSort as GetPostsSort, type context$1_GetTemplateRequest as GetTemplateRequest, type context$1_GetTemplateResponse as GetTemplateResponse, type context$1_GetTotalLikesPerMemberRequest as GetTotalLikesPerMemberRequest, type context$1_GetTotalLikesPerMemberResponse as GetTotalLikesPerMemberResponse, type context$1_GetTotalPostsOptions as GetTotalPostsOptions, type context$1_GetTotalPostsRequest as GetTotalPostsRequest, type context$1_GetTotalPostsResponse as GetTotalPostsResponse, type context$1_GetTotalPostsResponseNonNullableFields as GetTotalPostsResponseNonNullableFields, type context$1_GetTotalPublicationsRequest as GetTotalPublicationsRequest, type context$1_GetTotalPublicationsResponse as GetTotalPublicationsResponse, type context$1_Gradient as Gradient, type context$1_HTMLData as HTMLData, type context$1_HTMLDataDataOneOf as HTMLDataDataOneOf, type context$1_HeadingData as HeadingData, type context$1_Height as Height, type IdentificationData$1 as IdentificationData, type IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf, type context$1_Image as Image, type context$1_ImageData as ImageData, context$1_InitialExpandedItems as InitialExpandedItems, type context$1_InitialPostsCopied as InitialPostsCopied, type context$1_Item as Item, type context$1_ItemDataOneOf as ItemDataOneOf, type context$1_ItemStyle as ItemStyle, type Keyword$1 as Keyword, type context$1_Layout as Layout, context$1_LayoutType as LayoutType, type context$1_LikePostRequest as LikePostRequest, type context$1_LikePostResponse as LikePostResponse, context$1_LineStyle as LineStyle, type context$1_Link as Link, type context$1_LinkData as LinkData, type context$1_LinkDataOneOf as LinkDataOneOf, type context$1_LinkPreviewData as LinkPreviewData, type context$1_ListDemoPostsRequest as ListDemoPostsRequest, type context$1_ListDemoPostsResponse as ListDemoPostsResponse, type context$1_ListPostsArchiveRequest as ListPostsArchiveRequest, type context$1_ListPostsArchiveResponse as ListPostsArchiveResponse, type context$1_ListPostsOptions as ListPostsOptions, type context$1_ListPostsRequest as ListPostsRequest, type context$1_ListPostsResponse as ListPostsResponse, type context$1_ListPostsResponseNonNullableFields as ListPostsResponseNonNullableFields, type context$1_ListTemplatesRequest as ListTemplatesRequest, type context$1_ListTemplatesResponse as ListTemplatesResponse, type context$1_ListValue as ListValue, type context$1_MapData as MapData, type context$1_MapSettings as MapSettings, context$1_MapType as MapType, type context$1_Media as Media, type context$1_MediaMediaOneOf as MediaMediaOneOf, type context$1_MentionData as MentionData, type MessageEnvelope$1 as MessageEnvelope, type MetaData$1 as MetaData, type context$1_Metadata as Metadata, type context$1_Metrics as Metrics, type context$1_ModerationDetails as ModerationDetails, context$1_ModerationStatusStatus as ModerationStatusStatus, type context$1_Node as Node, type context$1_NodeDataOneOf as NodeDataOneOf, type context$1_NodeStyle as NodeStyle, context$1_NodeType as NodeType, context$1_NullValue as NullValue, type context$1_Oembed as Oembed, type context$1_OldBlogMigratedEvent as OldBlogMigratedEvent, type context$1_Option as Option, type context$1_OptionDesign as OptionDesign, type context$1_OptionLayout as OptionLayout, context$1_Order as Order, type context$1_OrderedListData as OrderedListData, context$1_Orientation as Orientation, context$1_Origin as Origin, type context$1_PDFSettings as PDFSettings, type Paging$1 as Paging, type PagingMetadataV2$1 as PagingMetadataV2, type context$1_ParagraphData as ParagraphData, type context$1_PeriodPostCount as PeriodPostCount, type context$1_PeriodPublicationsCount as PeriodPublicationsCount, type context$1_Permissions as Permissions, type context$1_PinPostRequest as PinPostRequest, type context$1_PinPostResponse as PinPostResponse, type PlatformQuery$1 as PlatformQuery, type PlatformQueryPagingMethodOneOf$1 as PlatformQueryPagingMethodOneOf, type context$1_PlaybackOptions as PlaybackOptions, type context$1_PluginContainerData as PluginContainerData, context$1_PluginContainerDataAlignment as PluginContainerDataAlignment, type context$1_PluginContainerDataWidth as PluginContainerDataWidth, type context$1_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf, type context$1_Poll as Poll, type context$1_PollData as PollData, type context$1_PollDataLayout as PollDataLayout, type context$1_PollDesign as PollDesign, type context$1_PollLayout as PollLayout, context$1_PollLayoutDirection as PollLayoutDirection, context$1_PollLayoutType as PollLayoutType, type context$1_PollSettings as PollSettings, type context$1_Post as Post, type context$1_PostCountInfo as PostCountInfo, type context$1_PostCountersUpdated as PostCountersUpdated, type context$1_PostCountersUpdatedInitiatorOneOf as PostCountersUpdatedInitiatorOneOf, type context$1_PostCreatedEnvelope as PostCreatedEnvelope, type context$1_PostDeletedEnvelope as PostDeletedEnvelope, context$1_PostFieldField as PostFieldField, type context$1_PostLiked as PostLiked, type context$1_PostLikedEnvelope as PostLikedEnvelope, type context$1_PostLikedInitiatorOneOf as PostLikedInitiatorOneOf, type context$1_PostOwnerChanged as PostOwnerChanged, type context$1_PostTranslation as PostTranslation, type context$1_PostUnliked as PostUnliked, type context$1_PostUnlikedEnvelope as PostUnlikedEnvelope, type context$1_PostUnlikedInitiatorOneOf as PostUnlikedInitiatorOneOf, type context$1_PostUpdatedEnvelope as PostUpdatedEnvelope, type context$1_PostsQueryBuilder as PostsQueryBuilder, type context$1_PostsQueryResult as PostsQueryResult, type context$1_QueryPostCountStatsOptions as QueryPostCountStatsOptions, type context$1_QueryPostCountStatsRequest as QueryPostCountStatsRequest, type context$1_QueryPostCountStatsResponse as QueryPostCountStatsResponse, type context$1_QueryPostCountStatsResponseNonNullableFields as QueryPostCountStatsResponseNonNullableFields, type context$1_QueryPostsOptions as QueryPostsOptions, type context$1_QueryPostsRequest as QueryPostsRequest, type context$1_QueryPostsResponse as QueryPostsResponse, type context$1_QueryPostsResponseNonNullableFields as QueryPostsResponseNonNullableFields, type context$1_QueryPublicationsCountStatsRequest as QueryPublicationsCountStatsRequest, context$1_QueryPublicationsCountStatsRequestOrder as QueryPublicationsCountStatsRequestOrder, type context$1_QueryPublicationsCountStatsResponse as QueryPublicationsCountStatsResponse, type context$1_Reactions as Reactions, type context$1_Rel as Rel, type RestoreInfo$1 as RestoreInfo, type context$1_RichContent as RichContent, type context$1_SendActionEventRequest as SendActionEventRequest, type context$1_SendActionEventRequestActionOneOf as SendActionEventRequestActionOneOf, type context$1_SendActionEventResponse as SendActionEventResponse, type SeoSchema$1 as SeoSchema, type Settings$1 as Settings, SortOrder$1 as SortOrder, type Sorting$1 as Sorting, context$1_Source as Source, type context$1_Spoiler as Spoiler, type context$1_SpoilerData as SpoilerData, context$1_Status as Status, type context$1_Styles as Styles, type context$1_TableCellData as TableCellData, type context$1_TableData as TableData, type Tag$1 as Tag, context$1_Target as Target, context$1_TextAlignment as TextAlignment, type context$1_TextData as TextData, type context$1_TextNodeStyle as TextNodeStyle, type context$1_TextStyle as TextStyle, type context$1_Thumbnails as Thumbnails, context$1_ThumbnailsAlignment as ThumbnailsAlignment, context$1_Type as Type, type context$1_UnlikePostRequest as UnlikePostRequest, type context$1_UnlikePostResponse as UnlikePostResponse, type context$1_UnpinPostRequest as UnpinPostRequest, type context$1_UnpinPostResponse as UnpinPostResponse, type context$1_V1Media as V1Media, context$1_VerticalAlignment as VerticalAlignment, type context$1_Video as Video, type context$1_VideoData as VideoData, type context$1_VideoResolution as VideoResolution, context$1_ViewMode as ViewMode, type context$1_ViewPostRequest as ViewPostRequest, type context$1_ViewPostResponse as ViewPostResponse, context$1_ViewRole as ViewRole, context$1_VoteRole as VoteRole, WebhookIdentityType$1 as WebhookIdentityType, context$1_Width as Width, context$1_WidthType as WidthType, type context$1_WixMedia as WixMedia, type context$1__publicOnPostCreatedType as _publicOnPostCreatedType, type context$1__publicOnPostDeletedType as _publicOnPostDeletedType, type context$1__publicOnPostLikedType as _publicOnPostLikedType, type context$1__publicOnPostUnlikedType as _publicOnPostUnlikedType, type context$1__publicOnPostUpdatedType as _publicOnPostUpdatedType, context$1_getPost as getPost, context$1_getPostBySlug as getPostBySlug, context$1_getPostMetrics as getPostMetrics, context$1_getTotalPosts as getTotalPosts, context$1_listPosts as listPosts, context$1_onPostCreated as onPostCreated, context$1_onPostDeleted as onPostDeleted, context$1_onPostLiked as onPostLiked, context$1_onPostUnliked as onPostUnliked, context$1_onPostUpdated as onPostUpdated, onPostCreated$1 as publicOnPostCreated, onPostDeleted$1 as publicOnPostDeleted, onPostLiked$1 as publicOnPostLiked, onPostUnliked$1 as publicOnPostUnliked, onPostUpdated$1 as publicOnPostUpdated, context$1_queryPostCountStats as queryPostCountStats, context$1_queryPosts as queryPosts };
|
|
9381
11441
|
}
|
|
9382
11442
|
|
|
11443
|
+
type HostModule<T, H extends Host> = {
|
|
11444
|
+
__type: 'host';
|
|
11445
|
+
create(host: H): T;
|
|
11446
|
+
};
|
|
11447
|
+
type HostModuleAPI<T extends HostModule<any, any>> = T extends HostModule<infer U, any> ? U : never;
|
|
11448
|
+
type Host<Environment = unknown> = {
|
|
11449
|
+
channel: {
|
|
11450
|
+
observeState(callback: (props: unknown, environment: Environment) => unknown): {
|
|
11451
|
+
disconnect: () => void;
|
|
11452
|
+
} | Promise<{
|
|
11453
|
+
disconnect: () => void;
|
|
11454
|
+
}>;
|
|
11455
|
+
};
|
|
11456
|
+
environment?: Environment;
|
|
11457
|
+
/**
|
|
11458
|
+
* Optional bast url to use for API requests, for example `www.wixapis.com`
|
|
11459
|
+
*/
|
|
11460
|
+
apiBaseUrl?: string;
|
|
11461
|
+
/**
|
|
11462
|
+
* Possible data to be provided by every host, for cross cutting concerns
|
|
11463
|
+
* like internationalization, billing, etc.
|
|
11464
|
+
*/
|
|
11465
|
+
essentials?: {
|
|
11466
|
+
/**
|
|
11467
|
+
* The language of the currently viewed session
|
|
11468
|
+
*/
|
|
11469
|
+
language?: string;
|
|
11470
|
+
/**
|
|
11471
|
+
* The locale of the currently viewed session
|
|
11472
|
+
*/
|
|
11473
|
+
locale?: string;
|
|
11474
|
+
/**
|
|
11475
|
+
* Any headers that should be passed through to the API requests
|
|
11476
|
+
*/
|
|
11477
|
+
passThroughHeaders?: Record<string, string>;
|
|
11478
|
+
};
|
|
11479
|
+
};
|
|
11480
|
+
|
|
11481
|
+
type RESTFunctionDescriptor<T extends (...args: any[]) => any = (...args: any[]) => any> = (httpClient: HttpClient) => T;
|
|
11482
|
+
interface HttpClient {
|
|
11483
|
+
request<TResponse, TData = any>(req: RequestOptionsFactory<TResponse, TData>): Promise<HttpResponse<TResponse>>;
|
|
11484
|
+
fetchWithAuth: typeof fetch;
|
|
11485
|
+
wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise<Response>;
|
|
11486
|
+
getActiveToken?: () => string | undefined;
|
|
11487
|
+
}
|
|
11488
|
+
type RequestOptionsFactory<TResponse = any, TData = any> = (context: any) => RequestOptions<TResponse, TData>;
|
|
11489
|
+
type HttpResponse<T = any> = {
|
|
11490
|
+
data: T;
|
|
11491
|
+
status: number;
|
|
11492
|
+
statusText: string;
|
|
11493
|
+
headers: any;
|
|
11494
|
+
request?: any;
|
|
11495
|
+
};
|
|
11496
|
+
type RequestOptions<_TResponse = any, Data = any> = {
|
|
11497
|
+
method: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
11498
|
+
url: string;
|
|
11499
|
+
data?: Data;
|
|
11500
|
+
params?: URLSearchParams;
|
|
11501
|
+
} & APIMetadata;
|
|
11502
|
+
type APIMetadata = {
|
|
11503
|
+
methodFqn?: string;
|
|
11504
|
+
entityFqdn?: string;
|
|
11505
|
+
packageName?: string;
|
|
11506
|
+
};
|
|
11507
|
+
type BuildRESTFunction<T extends RESTFunctionDescriptor> = T extends RESTFunctionDescriptor<infer U> ? U : never;
|
|
11508
|
+
type EventDefinition$1<Payload = unknown, Type extends string = string> = {
|
|
11509
|
+
__type: 'event-definition';
|
|
11510
|
+
type: Type;
|
|
11511
|
+
isDomainEvent?: boolean;
|
|
11512
|
+
transformations?: (envelope: unknown) => Payload;
|
|
11513
|
+
__payload: Payload;
|
|
11514
|
+
};
|
|
11515
|
+
declare function EventDefinition$1<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition$1<Payload, Type>;
|
|
11516
|
+
type EventHandler$1<T extends EventDefinition$1> = (payload: T['__payload']) => void | Promise<void>;
|
|
11517
|
+
type BuildEventDefinition$1<T extends EventDefinition$1<any, string>> = (handler: EventHandler$1<T>) => void;
|
|
11518
|
+
|
|
11519
|
+
type ServicePluginMethodInput = {
|
|
11520
|
+
request: any;
|
|
11521
|
+
metadata: any;
|
|
11522
|
+
};
|
|
11523
|
+
type ServicePluginContract = Record<string, (payload: ServicePluginMethodInput) => unknown | Promise<unknown>>;
|
|
11524
|
+
type ServicePluginMethodMetadata = {
|
|
11525
|
+
name: string;
|
|
11526
|
+
primaryHttpMappingPath: string;
|
|
11527
|
+
transformations: {
|
|
11528
|
+
fromREST: (...args: unknown[]) => ServicePluginMethodInput;
|
|
11529
|
+
toREST: (...args: unknown[]) => unknown;
|
|
11530
|
+
};
|
|
11531
|
+
};
|
|
11532
|
+
type ServicePluginDefinition<Contract extends ServicePluginContract> = {
|
|
11533
|
+
__type: 'service-plugin-definition';
|
|
11534
|
+
componentType: string;
|
|
11535
|
+
methods: ServicePluginMethodMetadata[];
|
|
11536
|
+
__contract: Contract;
|
|
11537
|
+
};
|
|
11538
|
+
declare function ServicePluginDefinition<Contract extends ServicePluginContract>(componentType: string, methods: ServicePluginMethodMetadata[]): ServicePluginDefinition<Contract>;
|
|
11539
|
+
type BuildServicePluginDefinition<T extends ServicePluginDefinition<any>> = (implementation: T['__contract']) => void;
|
|
11540
|
+
declare const SERVICE_PLUGIN_ERROR_TYPE = "wix_spi_error";
|
|
11541
|
+
|
|
11542
|
+
type RequestContext = {
|
|
11543
|
+
isSSR: boolean;
|
|
11544
|
+
host: string;
|
|
11545
|
+
protocol?: string;
|
|
11546
|
+
};
|
|
11547
|
+
type ResponseTransformer = (data: any, headers?: any) => any;
|
|
11548
|
+
/**
|
|
11549
|
+
* Ambassador request options types are copied mostly from AxiosRequestConfig.
|
|
11550
|
+
* They are copied and not imported to reduce the amount of dependencies (to reduce install time).
|
|
11551
|
+
* https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315
|
|
11552
|
+
*/
|
|
11553
|
+
type Method = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK';
|
|
11554
|
+
type AmbassadorRequestOptions<T = any> = {
|
|
11555
|
+
_?: T;
|
|
11556
|
+
url?: string;
|
|
11557
|
+
method?: Method;
|
|
11558
|
+
params?: any;
|
|
11559
|
+
data?: any;
|
|
11560
|
+
transformResponse?: ResponseTransformer | ResponseTransformer[];
|
|
11561
|
+
};
|
|
11562
|
+
type AmbassadorFactory<Request, Response> = (payload: Request) => ((context: RequestContext) => AmbassadorRequestOptions<Response>) & {
|
|
11563
|
+
__isAmbassador: boolean;
|
|
11564
|
+
};
|
|
11565
|
+
type AmbassadorFunctionDescriptor<Request = any, Response = any> = AmbassadorFactory<Request, Response>;
|
|
11566
|
+
type BuildAmbassadorFunction<T extends AmbassadorFunctionDescriptor> = T extends AmbassadorFunctionDescriptor<infer Request, infer Response> ? (req: Request) => Promise<Response> : never;
|
|
11567
|
+
|
|
11568
|
+
declare global {
|
|
11569
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
11570
|
+
interface SymbolConstructor {
|
|
11571
|
+
readonly observable: symbol;
|
|
11572
|
+
}
|
|
11573
|
+
}
|
|
11574
|
+
|
|
11575
|
+
declare const emptyObjectSymbol: unique symbol;
|
|
11576
|
+
|
|
11577
|
+
/**
|
|
11578
|
+
Represents a strictly empty plain object, the `{}` value.
|
|
11579
|
+
|
|
11580
|
+
When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)).
|
|
11581
|
+
|
|
11582
|
+
@example
|
|
11583
|
+
```
|
|
11584
|
+
import type {EmptyObject} from 'type-fest';
|
|
11585
|
+
|
|
11586
|
+
// The following illustrates the problem with `{}`.
|
|
11587
|
+
const foo1: {} = {}; // Pass
|
|
11588
|
+
const foo2: {} = []; // Pass
|
|
11589
|
+
const foo3: {} = 42; // Pass
|
|
11590
|
+
const foo4: {} = {a: 1}; // Pass
|
|
11591
|
+
|
|
11592
|
+
// With `EmptyObject` only the first case is valid.
|
|
11593
|
+
const bar1: EmptyObject = {}; // Pass
|
|
11594
|
+
const bar2: EmptyObject = 42; // Fail
|
|
11595
|
+
const bar3: EmptyObject = []; // Fail
|
|
11596
|
+
const bar4: EmptyObject = {a: 1}; // Fail
|
|
11597
|
+
```
|
|
11598
|
+
|
|
11599
|
+
Unfortunately, `Record<string, never>`, `Record<keyof any, never>` and `Record<never, never>` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}.
|
|
11600
|
+
|
|
11601
|
+
@category Object
|
|
11602
|
+
*/
|
|
11603
|
+
type EmptyObject = {[emptyObjectSymbol]?: never};
|
|
11604
|
+
|
|
11605
|
+
/**
|
|
11606
|
+
Returns a boolean for whether the two given types are equal.
|
|
11607
|
+
|
|
11608
|
+
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
|
11609
|
+
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
|
11610
|
+
|
|
11611
|
+
Use-cases:
|
|
11612
|
+
- If you want to make a conditional branch based on the result of a comparison of two types.
|
|
11613
|
+
|
|
11614
|
+
@example
|
|
11615
|
+
```
|
|
11616
|
+
import type {IsEqual} from 'type-fest';
|
|
11617
|
+
|
|
11618
|
+
// This type returns a boolean for whether the given array includes the given item.
|
|
11619
|
+
// `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
|
|
11620
|
+
type Includes<Value extends readonly any[], Item> =
|
|
11621
|
+
Value extends readonly [Value[0], ...infer rest]
|
|
11622
|
+
? IsEqual<Value[0], Item> extends true
|
|
11623
|
+
? true
|
|
11624
|
+
: Includes<rest, Item>
|
|
11625
|
+
: false;
|
|
11626
|
+
```
|
|
11627
|
+
|
|
11628
|
+
@category Type Guard
|
|
11629
|
+
@category Utilities
|
|
11630
|
+
*/
|
|
11631
|
+
type IsEqual<A, B> =
|
|
11632
|
+
(<G>() => G extends A ? 1 : 2) extends
|
|
11633
|
+
(<G>() => G extends B ? 1 : 2)
|
|
11634
|
+
? true
|
|
11635
|
+
: false;
|
|
11636
|
+
|
|
11637
|
+
/**
|
|
11638
|
+
Filter out keys from an object.
|
|
11639
|
+
|
|
11640
|
+
Returns `never` if `Exclude` is strictly equal to `Key`.
|
|
11641
|
+
Returns `never` if `Key` extends `Exclude`.
|
|
11642
|
+
Returns `Key` otherwise.
|
|
11643
|
+
|
|
11644
|
+
@example
|
|
11645
|
+
```
|
|
11646
|
+
type Filtered = Filter<'foo', 'foo'>;
|
|
11647
|
+
//=> never
|
|
11648
|
+
```
|
|
11649
|
+
|
|
11650
|
+
@example
|
|
11651
|
+
```
|
|
11652
|
+
type Filtered = Filter<'bar', string>;
|
|
11653
|
+
//=> never
|
|
11654
|
+
```
|
|
11655
|
+
|
|
11656
|
+
@example
|
|
11657
|
+
```
|
|
11658
|
+
type Filtered = Filter<'bar', 'foo'>;
|
|
11659
|
+
//=> 'bar'
|
|
11660
|
+
```
|
|
11661
|
+
|
|
11662
|
+
@see {Except}
|
|
11663
|
+
*/
|
|
11664
|
+
type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
|
11665
|
+
|
|
11666
|
+
type ExceptOptions = {
|
|
11667
|
+
/**
|
|
11668
|
+
Disallow assigning non-specified properties.
|
|
11669
|
+
|
|
11670
|
+
Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
|
|
11671
|
+
|
|
11672
|
+
@default false
|
|
11673
|
+
*/
|
|
11674
|
+
requireExactProps?: boolean;
|
|
11675
|
+
};
|
|
11676
|
+
|
|
11677
|
+
/**
|
|
11678
|
+
Create a type from an object type without certain keys.
|
|
11679
|
+
|
|
11680
|
+
We recommend setting the `requireExactProps` option to `true`.
|
|
11681
|
+
|
|
11682
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
11683
|
+
|
|
11684
|
+
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
|
11685
|
+
|
|
11686
|
+
@example
|
|
11687
|
+
```
|
|
11688
|
+
import type {Except} from 'type-fest';
|
|
11689
|
+
|
|
11690
|
+
type Foo = {
|
|
11691
|
+
a: number;
|
|
11692
|
+
b: string;
|
|
11693
|
+
};
|
|
11694
|
+
|
|
11695
|
+
type FooWithoutA = Except<Foo, 'a'>;
|
|
11696
|
+
//=> {b: string}
|
|
11697
|
+
|
|
11698
|
+
const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
|
|
11699
|
+
//=> errors: 'a' does not exist in type '{ b: string; }'
|
|
11700
|
+
|
|
11701
|
+
type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
11702
|
+
//=> {a: number} & Partial<Record<"b", never>>
|
|
11703
|
+
|
|
11704
|
+
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
11705
|
+
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
11706
|
+
```
|
|
11707
|
+
|
|
11708
|
+
@category Object
|
|
11709
|
+
*/
|
|
11710
|
+
type Except<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = {requireExactProps: false}> = {
|
|
11711
|
+
[KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
|
|
11712
|
+
} & (Options['requireExactProps'] extends true
|
|
11713
|
+
? Partial<Record<KeysType, never>>
|
|
11714
|
+
: {});
|
|
11715
|
+
|
|
11716
|
+
/**
|
|
11717
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
11718
|
+
|
|
11719
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
11720
|
+
|
|
11721
|
+
@example
|
|
11722
|
+
```
|
|
11723
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
11724
|
+
|
|
11725
|
+
interface Example {
|
|
11726
|
+
a: string;
|
|
11727
|
+
b: string | number;
|
|
11728
|
+
c?: string;
|
|
11729
|
+
d: {};
|
|
11730
|
+
}
|
|
11731
|
+
|
|
11732
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
11733
|
+
//=> 'a'
|
|
11734
|
+
```
|
|
11735
|
+
|
|
11736
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
11737
|
+
|
|
11738
|
+
@example
|
|
11739
|
+
```
|
|
11740
|
+
import type {ConditionalKeys} from 'type-fest';
|
|
11741
|
+
|
|
11742
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
11743
|
+
//=> 'a' | 'c'
|
|
11744
|
+
```
|
|
11745
|
+
|
|
11746
|
+
@category Object
|
|
11747
|
+
*/
|
|
11748
|
+
type ConditionalKeys<Base, Condition> = NonNullable<
|
|
11749
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
11750
|
+
{
|
|
11751
|
+
// Map through all the keys of the given base type.
|
|
11752
|
+
[Key in keyof Base]:
|
|
11753
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
11754
|
+
Base[Key] extends Condition
|
|
11755
|
+
// Retain this key since the condition passes.
|
|
11756
|
+
? Key
|
|
11757
|
+
// Discard this key since the condition fails.
|
|
11758
|
+
: never;
|
|
11759
|
+
|
|
11760
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
11761
|
+
}[keyof Base]
|
|
11762
|
+
>;
|
|
11763
|
+
|
|
11764
|
+
/**
|
|
11765
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
11766
|
+
|
|
11767
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
11768
|
+
|
|
11769
|
+
@example
|
|
11770
|
+
```
|
|
11771
|
+
import type {Primitive, ConditionalExcept} from 'type-fest';
|
|
11772
|
+
|
|
11773
|
+
class Awesome {
|
|
11774
|
+
name: string;
|
|
11775
|
+
successes: number;
|
|
11776
|
+
failures: bigint;
|
|
11777
|
+
|
|
11778
|
+
run() {}
|
|
11779
|
+
}
|
|
11780
|
+
|
|
11781
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
11782
|
+
//=> {run: () => void}
|
|
11783
|
+
```
|
|
11784
|
+
|
|
11785
|
+
@example
|
|
11786
|
+
```
|
|
11787
|
+
import type {ConditionalExcept} from 'type-fest';
|
|
11788
|
+
|
|
11789
|
+
interface Example {
|
|
11790
|
+
a: string;
|
|
11791
|
+
b: string | number;
|
|
11792
|
+
c: () => void;
|
|
11793
|
+
d: {};
|
|
11794
|
+
}
|
|
11795
|
+
|
|
11796
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
11797
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
11798
|
+
```
|
|
11799
|
+
|
|
11800
|
+
@category Object
|
|
11801
|
+
*/
|
|
11802
|
+
type ConditionalExcept<Base, Condition> = Except<
|
|
11803
|
+
Base,
|
|
11804
|
+
ConditionalKeys<Base, Condition>
|
|
11805
|
+
>;
|
|
11806
|
+
|
|
11807
|
+
/**
|
|
11808
|
+
* Descriptors are objects that describe the API of a module, and the module
|
|
11809
|
+
* can either be a REST module or a host module.
|
|
11810
|
+
* This type is recursive, so it can describe nested modules.
|
|
11811
|
+
*/
|
|
11812
|
+
type Descriptors = RESTFunctionDescriptor | AmbassadorFunctionDescriptor | HostModule<any, any> | EventDefinition$1<any> | ServicePluginDefinition<any> | {
|
|
11813
|
+
[key: string]: Descriptors | PublicMetadata | any;
|
|
11814
|
+
};
|
|
11815
|
+
/**
|
|
11816
|
+
* This type takes in a descriptors object of a certain Host (including an `unknown` host)
|
|
11817
|
+
* and returns an object with the same structure, but with all descriptors replaced with their API.
|
|
11818
|
+
* Any non-descriptor properties are removed from the returned object, including descriptors that
|
|
11819
|
+
* do not match the given host (as they will not work with the given host).
|
|
11820
|
+
*/
|
|
11821
|
+
type BuildDescriptors<T extends Descriptors, H extends Host<any> | undefined, Depth extends number = 5> = {
|
|
11822
|
+
done: T;
|
|
11823
|
+
recurse: T extends {
|
|
11824
|
+
__type: typeof SERVICE_PLUGIN_ERROR_TYPE;
|
|
11825
|
+
} ? never : T extends AmbassadorFunctionDescriptor ? BuildAmbassadorFunction<T> : T extends RESTFunctionDescriptor ? BuildRESTFunction<T> : T extends EventDefinition$1<any> ? BuildEventDefinition$1<T> : T extends ServicePluginDefinition<any> ? BuildServicePluginDefinition<T> : T extends HostModule<any, any> ? HostModuleAPI<T> : ConditionalExcept<{
|
|
11826
|
+
[Key in keyof T]: T[Key] extends Descriptors ? BuildDescriptors<T[Key], H, [
|
|
11827
|
+
-1,
|
|
11828
|
+
0,
|
|
11829
|
+
1,
|
|
11830
|
+
2,
|
|
11831
|
+
3,
|
|
11832
|
+
4,
|
|
11833
|
+
5
|
|
11834
|
+
][Depth]> : never;
|
|
11835
|
+
}, EmptyObject>;
|
|
11836
|
+
}[Depth extends -1 ? 'done' : 'recurse'];
|
|
11837
|
+
type PublicMetadata = {
|
|
11838
|
+
PACKAGE_NAME?: string;
|
|
11839
|
+
};
|
|
11840
|
+
|
|
11841
|
+
declare global {
|
|
11842
|
+
interface ContextualClient {
|
|
11843
|
+
}
|
|
11844
|
+
}
|
|
11845
|
+
/**
|
|
11846
|
+
* A type used to create concerete types from SDK descriptors in
|
|
11847
|
+
* case a contextual client is available.
|
|
11848
|
+
*/
|
|
11849
|
+
type MaybeContext<T extends Descriptors> = globalThis.ContextualClient extends {
|
|
11850
|
+
host: Host;
|
|
11851
|
+
} ? BuildDescriptors<T, globalThis.ContextualClient['host']> : T;
|
|
11852
|
+
|
|
9383
11853
|
interface BlogTag {
|
|
9384
11854
|
/**
|
|
9385
11855
|
* Tag ID.
|
|
@@ -10389,18 +12859,36 @@ interface DeleteTagSignature {
|
|
|
10389
12859
|
*/
|
|
10390
12860
|
(tagId: string): Promise<void>;
|
|
10391
12861
|
}
|
|
10392
|
-
declare const onTagCreated$1: EventDefinition<TagCreatedEnvelope, "wix.blog.v3.tag_created">;
|
|
10393
|
-
declare const onTagUpdated$1: EventDefinition<TagUpdatedEnvelope, "wix.blog.v3.tag_updated">;
|
|
10394
|
-
declare const onTagDeleted$1: EventDefinition<TagDeletedEnvelope, "wix.blog.v3.tag_deleted">;
|
|
12862
|
+
declare const onTagCreated$1: EventDefinition$1<TagCreatedEnvelope, "wix.blog.v3.tag_created">;
|
|
12863
|
+
declare const onTagUpdated$1: EventDefinition$1<TagUpdatedEnvelope, "wix.blog.v3.tag_updated">;
|
|
12864
|
+
declare const onTagDeleted$1: EventDefinition$1<TagDeletedEnvelope, "wix.blog.v3.tag_deleted">;
|
|
12865
|
+
|
|
12866
|
+
type EventDefinition<Payload = unknown, Type extends string = string> = {
|
|
12867
|
+
__type: 'event-definition';
|
|
12868
|
+
type: Type;
|
|
12869
|
+
isDomainEvent?: boolean;
|
|
12870
|
+
transformations?: (envelope: unknown) => Payload;
|
|
12871
|
+
__payload: Payload;
|
|
12872
|
+
};
|
|
12873
|
+
declare function EventDefinition<Type extends string>(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): <Payload = unknown>() => EventDefinition<Payload, Type>;
|
|
12874
|
+
type EventHandler<T extends EventDefinition> = (payload: T['__payload']) => void | Promise<void>;
|
|
12875
|
+
type BuildEventDefinition<T extends EventDefinition<any, string>> = (handler: EventHandler<T>) => void;
|
|
12876
|
+
|
|
12877
|
+
declare global {
|
|
12878
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
12879
|
+
interface SymbolConstructor {
|
|
12880
|
+
readonly observable: symbol;
|
|
12881
|
+
}
|
|
12882
|
+
}
|
|
10395
12883
|
|
|
10396
12884
|
declare function createEventModule<T extends EventDefinition<any, string>>(eventDefinition: T): BuildEventDefinition<T> & T;
|
|
10397
12885
|
|
|
10398
|
-
declare const createTag: BuildRESTFunction<typeof createTag$1> & typeof createTag$1
|
|
10399
|
-
declare const getTagByLabel: BuildRESTFunction<typeof getTagByLabel$1> & typeof getTagByLabel$1
|
|
10400
|
-
declare const getTag: BuildRESTFunction<typeof getTag$1> & typeof getTag$1
|
|
10401
|
-
declare const getTagBySlug: BuildRESTFunction<typeof getTagBySlug$1> & typeof getTagBySlug$1
|
|
10402
|
-
declare const queryTags: BuildRESTFunction<typeof queryTags$1> & typeof queryTags$1
|
|
10403
|
-
declare const deleteTag: BuildRESTFunction<typeof deleteTag$1> & typeof deleteTag$1
|
|
12886
|
+
declare const createTag: MaybeContext<BuildRESTFunction<typeof createTag$1> & typeof createTag$1>;
|
|
12887
|
+
declare const getTagByLabel: MaybeContext<BuildRESTFunction<typeof getTagByLabel$1> & typeof getTagByLabel$1>;
|
|
12888
|
+
declare const getTag: MaybeContext<BuildRESTFunction<typeof getTag$1> & typeof getTag$1>;
|
|
12889
|
+
declare const getTagBySlug: MaybeContext<BuildRESTFunction<typeof getTagBySlug$1> & typeof getTagBySlug$1>;
|
|
12890
|
+
declare const queryTags: MaybeContext<BuildRESTFunction<typeof queryTags$1> & typeof queryTags$1>;
|
|
12891
|
+
declare const deleteTag: MaybeContext<BuildRESTFunction<typeof deleteTag$1> & typeof deleteTag$1>;
|
|
10404
12892
|
|
|
10405
12893
|
type _publicOnTagCreatedType = typeof onTagCreated$1;
|
|
10406
12894
|
/**
|