firebase-admin-edge 3.0.1 → 3.1.0
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/README.md +17 -14
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/dist/auth/auth-endpoint-errors.d.ts.map +1 -1
- package/dist/auth/auth-endpoint-errors.js +25 -6
- package/dist/auth/auth-endpoint-errors.js.map +1 -1
- package/dist/auth/auth-error-codes.d.ts +4 -0
- package/dist/auth/auth-error-codes.d.ts.map +1 -1
- package/dist/auth/auth-error-codes.js +4 -0
- package/dist/auth/auth-error-codes.js.map +1 -1
- package/dist/auth/firebase-admin-auth.d.ts +8 -0
- package/dist/auth/firebase-admin-auth.d.ts.map +1 -1
- package/dist/auth/firebase-admin-auth.js +20 -1
- package/dist/auth/firebase-admin-auth.js.map +1 -1
- package/dist/auth/firebase-auth-endpoints.d.ts +9 -0
- package/dist/auth/firebase-auth-endpoints.d.ts.map +1 -1
- package/dist/auth/firebase-auth-endpoints.js +43 -0
- package/dist/auth/firebase-auth-endpoints.js.map +1 -1
- package/dist/auth/identity-providers.d.ts +24 -0
- package/dist/auth/identity-providers.d.ts.map +1 -0
- package/dist/auth/identity-providers.js +51 -0
- package/dist/auth/identity-providers.js.map +1 -0
- package/dist/auth/identity.d.ts +20 -0
- package/dist/auth/identity.d.ts.map +1 -1
- package/dist/auth/identity.js +65 -0
- package/dist/auth/identity.js.map +1 -1
- package/dist/firebase-edge-server.d.ts +2 -0
- package/dist/firebase-edge-server.d.ts.map +1 -1
- package/dist/firebase-edge-server.js +7 -0
- package/dist/firebase-edge-server.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/remote-config/condition-evaluator.d.ts +6 -0
- package/dist/remote-config/condition-evaluator.d.ts.map +1 -0
- package/dist/remote-config/condition-evaluator.js +122 -0
- package/dist/remote-config/condition-evaluator.js.map +1 -0
- package/dist/remote-config/remote-config-endpoints.d.ts +22 -0
- package/dist/remote-config/remote-config-endpoints.d.ts.map +1 -0
- package/dist/remote-config/remote-config-endpoints.js +161 -0
- package/dist/remote-config/remote-config-endpoints.js.map +1 -0
- package/dist/remote-config/remote-config-fetch-response.d.ts +8 -0
- package/dist/remote-config/remote-config-fetch-response.d.ts.map +1 -0
- package/dist/remote-config/remote-config-fetch-response.js +26 -0
- package/dist/remote-config/remote-config-fetch-response.js.map +1 -0
- package/dist/remote-config/remote-config-results.d.ts +15 -0
- package/dist/remote-config/remote-config-results.d.ts.map +1 -0
- package/dist/remote-config/remote-config-results.js +26 -0
- package/dist/remote-config/remote-config-results.js.map +1 -0
- package/dist/remote-config/remote-config-template.d.ts +20 -0
- package/dist/remote-config/remote-config-template.d.ts.map +1 -0
- package/dist/remote-config/remote-config-template.js +129 -0
- package/dist/remote-config/remote-config-template.js.map +1 -0
- package/dist/remote-config/remote-config-types.d.ts +807 -0
- package/dist/remote-config/remote-config-types.d.ts.map +1 -0
- package/dist/remote-config/remote-config-types.js +119 -0
- package/dist/remote-config/remote-config-types.js.map +1 -0
- package/dist/remote-config/remote-config.d.ts +34 -0
- package/dist/remote-config/remote-config.d.ts.map +1 -0
- package/dist/remote-config/remote-config.js +112 -0
- package/dist/remote-config/remote-config.js.map +1 -0
- package/dist/remote-config/server-template.d.ts +33 -0
- package/dist/remote-config/server-template.d.ts.map +1 -0
- package/dist/remote-config/server-template.js +145 -0
- package/dist/remote-config/server-template.js.map +1 -0
- package/dist/rest-fetch.d.ts +1 -1
- package/dist/rest-fetch.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config-types.d.ts","sourceRoot":"","sources":["../../src/remote-config/remote-config-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Defines supported operators for percent conditions.
|
|
18
|
+
*/
|
|
19
|
+
export var PercentConditionOperator;
|
|
20
|
+
(function (PercentConditionOperator) {
|
|
21
|
+
/**
|
|
22
|
+
* A catchall error case.
|
|
23
|
+
*/
|
|
24
|
+
PercentConditionOperator["UNKNOWN"] = "UNKNOWN";
|
|
25
|
+
/**
|
|
26
|
+
* Target percentiles less than or equal to the target percent.
|
|
27
|
+
* A condition using this operator must specify microPercent.
|
|
28
|
+
*/
|
|
29
|
+
PercentConditionOperator["LESS_OR_EQUAL"] = "LESS_OR_EQUAL";
|
|
30
|
+
/**
|
|
31
|
+
* Target percentiles greater than the target percent.
|
|
32
|
+
* A condition using this operator must specify microPercent.
|
|
33
|
+
*/
|
|
34
|
+
PercentConditionOperator["GREATER_THAN"] = "GREATER_THAN";
|
|
35
|
+
/**
|
|
36
|
+
* Target percentiles within an interval defined by a lower bound and an
|
|
37
|
+
* upper bound. The lower bound is an exclusive (open) bound and the
|
|
38
|
+
* micro_percent_range_upper_bound is an inclusive (closed) bound.
|
|
39
|
+
* A condition using this operator must specify microPercentRange.
|
|
40
|
+
*/
|
|
41
|
+
PercentConditionOperator["BETWEEN"] = "BETWEEN";
|
|
42
|
+
})(PercentConditionOperator || (PercentConditionOperator = {}));
|
|
43
|
+
/**
|
|
44
|
+
* Defines supported operators for custom signal conditions.
|
|
45
|
+
*/
|
|
46
|
+
export var CustomSignalOperator;
|
|
47
|
+
(function (CustomSignalOperator) {
|
|
48
|
+
/**
|
|
49
|
+
* A catchall error case.
|
|
50
|
+
*/
|
|
51
|
+
CustomSignalOperator["UNKNOWN"] = "UNKNOWN";
|
|
52
|
+
/**
|
|
53
|
+
* Matches a numeric value less than the target value.
|
|
54
|
+
*/
|
|
55
|
+
CustomSignalOperator["NUMERIC_LESS_THAN"] = "NUMERIC_LESS_THAN";
|
|
56
|
+
/**
|
|
57
|
+
* Matches a numeric value less than or equal to the target value.
|
|
58
|
+
*/
|
|
59
|
+
CustomSignalOperator["NUMERIC_LESS_EQUAL"] = "NUMERIC_LESS_EQUAL";
|
|
60
|
+
/**
|
|
61
|
+
* Matches a numeric value equal to the target value.
|
|
62
|
+
*/
|
|
63
|
+
CustomSignalOperator["NUMERIC_EQUAL"] = "NUMERIC_EQUAL";
|
|
64
|
+
/**
|
|
65
|
+
* Matches a numeric value not equal to the target value.
|
|
66
|
+
*/
|
|
67
|
+
CustomSignalOperator["NUMERIC_NOT_EQUAL"] = "NUMERIC_NOT_EQUAL";
|
|
68
|
+
/**
|
|
69
|
+
* Matches a numeric value greater than the target value.
|
|
70
|
+
*/
|
|
71
|
+
CustomSignalOperator["NUMERIC_GREATER_THAN"] = "NUMERIC_GREATER_THAN";
|
|
72
|
+
/**
|
|
73
|
+
* Matches a numeric value greater than or equal to the target value.
|
|
74
|
+
*/
|
|
75
|
+
CustomSignalOperator["NUMERIC_GREATER_EQUAL"] = "NUMERIC_GREATER_EQUAL";
|
|
76
|
+
/**
|
|
77
|
+
* Matches if at least one of the target values is a substring of the actual custom
|
|
78
|
+
* signal value (e.g. "abc" contains the string "a", "bc").
|
|
79
|
+
*/
|
|
80
|
+
CustomSignalOperator["STRING_CONTAINS"] = "STRING_CONTAINS";
|
|
81
|
+
/**
|
|
82
|
+
* Matches if none of the target values is a substring of the actual custom signal value.
|
|
83
|
+
*/
|
|
84
|
+
CustomSignalOperator["STRING_DOES_NOT_CONTAIN"] = "STRING_DOES_NOT_CONTAIN";
|
|
85
|
+
/**
|
|
86
|
+
* Matches if the actual value exactly matches at least one of the target values.
|
|
87
|
+
*/
|
|
88
|
+
CustomSignalOperator["STRING_EXACTLY_MATCHES"] = "STRING_EXACTLY_MATCHES";
|
|
89
|
+
/**
|
|
90
|
+
* The target regular expression matches at least one of the actual values.
|
|
91
|
+
* The regex conforms to RE2 format. See https://github.com/google/re2/wiki/Syntax
|
|
92
|
+
*/
|
|
93
|
+
CustomSignalOperator["STRING_CONTAINS_REGEX"] = "STRING_CONTAINS_REGEX";
|
|
94
|
+
/**
|
|
95
|
+
* Matches if the actual version value is less than the target value.
|
|
96
|
+
*/
|
|
97
|
+
CustomSignalOperator["SEMANTIC_VERSION_LESS_THAN"] = "SEMANTIC_VERSION_LESS_THAN";
|
|
98
|
+
/**
|
|
99
|
+
* Matches if the actual version value is less than or equal to the target value.
|
|
100
|
+
*/
|
|
101
|
+
CustomSignalOperator["SEMANTIC_VERSION_LESS_EQUAL"] = "SEMANTIC_VERSION_LESS_EQUAL";
|
|
102
|
+
/**
|
|
103
|
+
* Matches if the actual version value is equal to the target value.
|
|
104
|
+
*/
|
|
105
|
+
CustomSignalOperator["SEMANTIC_VERSION_EQUAL"] = "SEMANTIC_VERSION_EQUAL";
|
|
106
|
+
/**
|
|
107
|
+
* Matches if the actual version value is not equal to the target value.
|
|
108
|
+
*/
|
|
109
|
+
CustomSignalOperator["SEMANTIC_VERSION_NOT_EQUAL"] = "SEMANTIC_VERSION_NOT_EQUAL";
|
|
110
|
+
/**
|
|
111
|
+
* Matches if the actual version value is greater than the target value.
|
|
112
|
+
*/
|
|
113
|
+
CustomSignalOperator["SEMANTIC_VERSION_GREATER_THAN"] = "SEMANTIC_VERSION_GREATER_THAN";
|
|
114
|
+
/**
|
|
115
|
+
* Matches if the actual version value is greater than or equal to the target value.
|
|
116
|
+
*/
|
|
117
|
+
CustomSignalOperator["SEMANTIC_VERSION_GREATER_EQUAL"] = "SEMANTIC_VERSION_GREATER_EQUAL";
|
|
118
|
+
})(CustomSignalOperator || (CustomSignalOperator = {}));
|
|
119
|
+
//# sourceMappingURL=remote-config-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config-types.js","sourceRoot":"","sources":["../../src/remote-config/remote-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+HH;;GAEG;AACH,MAAM,CAAN,IAAY,wBAyBX;AAzBD,WAAY,wBAAwB;IAChC;;OAEG;IACH,+CAAmB,CAAA;IAEnB;;;OAGG;IACH,2DAA+B,CAAA;IAE/B;;;OAGG;IACH,yDAA6B,CAAA;IAE7B;;;;;OAKG;IACH,+CAAmB,CAAA;AACvB,CAAC,EAzBW,wBAAwB,KAAxB,wBAAwB,QAyBnC;AAqDD;;GAEG;AACH,MAAM,CAAN,IAAY,oBAuFX;AAvFD,WAAY,oBAAoB;IAC5B;;OAEG;IACH,2CAAmB,CAAA;IAEnB;;OAEG;IACH,+DAAuC,CAAA;IAEvC;;OAEG;IACH,iEAAyC,CAAA;IAEzC;;OAEG;IACH,uDAA+B,CAAA;IAE/B;;OAEG;IACH,+DAAuC,CAAA;IAEvC;;OAEG;IACH,qEAA6C,CAAA;IAE7C;;OAEG;IACH,uEAA+C,CAAA;IAE/C;;;OAGG;IACH,2DAAmC,CAAA;IAEnC;;OAEG;IACH,2EAAmD,CAAA;IAEnD;;OAEG;IACH,yEAAiD,CAAA;IAEjD;;;OAGG;IACH,uEAA+C,CAAA;IAE/C;;OAEG;IACH,iFAAyD,CAAA;IAEzD;;OAEG;IACH,mFAA2D,CAAA;IAE3D;;OAEG;IACH,yEAAiD,CAAA;IAEjD;;OAEG;IACH,iFAAyD,CAAA;IAEzD;;OAEG;IACH,uFAA+D,CAAA;IAE/D;;OAEG;IACH,yFAAiE,CAAA;AACrE,CAAC,EAvFW,oBAAoB,KAApB,oBAAoB,QAuF/B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ServiceAccount } from '../auth/firebase-types.js';
|
|
2
|
+
import type { CacheConfig } from '../auth/cache-types.js';
|
|
3
|
+
import { RemoteConfigTemplate } from './remote-config-template.js';
|
|
4
|
+
import { ServerTemplate } from './server-template.js';
|
|
5
|
+
import { type RemoteConfigResult } from './remote-config-results.js';
|
|
6
|
+
import type { RemoteConfigTemplate as TemplateData, GetServerTemplateOptions, InitServerTemplateOptions, ListVersionsOptions, ListVersionsResult } from './remote-config-types.js';
|
|
7
|
+
export * from './remote-config-types.js';
|
|
8
|
+
export type { RemoteConfigResult } from './remote-config-results.js';
|
|
9
|
+
export { RemoteConfigTemplate, ServerTemplate };
|
|
10
|
+
export { RemoteConfigFetchResponse } from './remote-config-fetch-response.js';
|
|
11
|
+
export interface RemoteConfigOptions {
|
|
12
|
+
fetch?: typeof globalThis.fetch;
|
|
13
|
+
cache?: CacheConfig;
|
|
14
|
+
cacheName?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class RemoteConfig {
|
|
17
|
+
private readonly serviceAccount;
|
|
18
|
+
private readonly options;
|
|
19
|
+
private readonly fetch;
|
|
20
|
+
constructor(serviceAccount: ServiceAccount, options?: RemoteConfigOptions);
|
|
21
|
+
private request;
|
|
22
|
+
getTemplate(): Promise<RemoteConfigResult<RemoteConfigTemplate>>;
|
|
23
|
+
getTemplateAtVersion(versionNumber: string | number): Promise<RemoteConfigResult<RemoteConfigTemplate>>;
|
|
24
|
+
validateTemplate(template: TemplateData): Promise<RemoteConfigResult<RemoteConfigTemplate>>;
|
|
25
|
+
publishTemplate(template: TemplateData, options?: {
|
|
26
|
+
force: boolean;
|
|
27
|
+
}): Promise<RemoteConfigResult<RemoteConfigTemplate>>;
|
|
28
|
+
rollback(versionNumber: string | number): Promise<RemoteConfigResult<RemoteConfigTemplate>>;
|
|
29
|
+
listVersions(options?: ListVersionsOptions): Promise<RemoteConfigResult<ListVersionsResult>>;
|
|
30
|
+
createTemplateFromJSON(json: string): RemoteConfigResult<RemoteConfigTemplate>;
|
|
31
|
+
initServerTemplate(options?: InitServerTemplateOptions): ServerTemplate;
|
|
32
|
+
getServerTemplate(options?: GetServerTemplateOptions): Promise<RemoteConfigResult<ServerTemplate>>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=remote-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config.d.ts","sourceRoot":"","sources":["../../src/remote-config/remote-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAIH,KAAK,kBAAkB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,oBAAoB,IAAI,YAAY,EAEpC,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAElC,cAAc,0BAA0B,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IAGjB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAE3B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,mBAAwB;YAQxC,OAAO;IAuCrB,WAAW,IAAI,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAGhE,oBAAoB,CAChB,aAAa,EAAE,MAAM,GAAG,MAAM,GAC/B,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAGpD,gBAAgB,CACZ,QAAQ,EAAE,YAAY,GACvB,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAG9C,eAAe,CACjB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAC7B,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAgBpD,QAAQ,CACJ,aAAa,EAAE,MAAM,GAAG,MAAM,GAC/B,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAGpD,YAAY,CACR,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAIlD,sBAAsB,CAClB,IAAI,EAAE,MAAM,GACb,kBAAkB,CAAC,oBAAoB,CAAC;IAgB3C,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,cAAc;IAOjE,iBAAiB,CACnB,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;CAYjD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { getToken } from '../auth/google-oauth.js';
|
|
2
|
+
import { FirebaseEdgeError } from '../auth/errors.js';
|
|
3
|
+
import { remoteConfigRequest } from './remote-config-endpoints.js';
|
|
4
|
+
import { RemoteConfigTemplate } from './remote-config-template.js';
|
|
5
|
+
import { ServerTemplate } from './server-template.js';
|
|
6
|
+
import { invalidRemoteConfig, isRemoteConfigObject, remoteConfigError } from './remote-config-results.js';
|
|
7
|
+
export * from './remote-config-types.js';
|
|
8
|
+
export { RemoteConfigTemplate, ServerTemplate };
|
|
9
|
+
export { RemoteConfigFetchResponse } from './remote-config-fetch-response.js';
|
|
10
|
+
export class RemoteConfig {
|
|
11
|
+
serviceAccount;
|
|
12
|
+
options;
|
|
13
|
+
fetch;
|
|
14
|
+
constructor(serviceAccount, options = {}) {
|
|
15
|
+
this.serviceAccount = serviceAccount;
|
|
16
|
+
this.options = options;
|
|
17
|
+
if (!serviceAccount?.project_id?.trim()) {
|
|
18
|
+
invalidRemoteConfig('A service account project ID is required.');
|
|
19
|
+
}
|
|
20
|
+
this.fetch = options.fetch ?? globalThis.fetch;
|
|
21
|
+
}
|
|
22
|
+
async request(operation) {
|
|
23
|
+
try {
|
|
24
|
+
const key = `${this.options.cacheName ?? '__cache'}:remote-config:${this.serviceAccount.client_email}`;
|
|
25
|
+
let token = await this.options.cache?.getCache(key);
|
|
26
|
+
if (!token?.access_token) {
|
|
27
|
+
const { error, data } = await getToken(this.serviceAccount, this.fetch);
|
|
28
|
+
if (error) {
|
|
29
|
+
return { error, data: null };
|
|
30
|
+
}
|
|
31
|
+
token = data;
|
|
32
|
+
const ttl = (data.expires_in - 60) * 1000;
|
|
33
|
+
if (Number.isFinite(ttl) && ttl > 0) {
|
|
34
|
+
await this.options.cache?.setCache(key, data, ttl);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const data = await remoteConfigRequest(this.serviceAccount.project_id, token.access_token, operation, this.fetch);
|
|
38
|
+
if (operation.type === 'list' || operation.type === 'server') {
|
|
39
|
+
return { error: null, data: data };
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
error: null,
|
|
43
|
+
data: new RemoteConfigTemplate(data)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (cause) {
|
|
47
|
+
return { error: remoteConfigError(cause), data: null };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
getTemplate() {
|
|
51
|
+
return this.request({ type: 'get' });
|
|
52
|
+
}
|
|
53
|
+
getTemplateAtVersion(versionNumber) {
|
|
54
|
+
return this.request({ type: 'get', version: versionNumber });
|
|
55
|
+
}
|
|
56
|
+
validateTemplate(template) {
|
|
57
|
+
return this.request({ type: 'validate', template });
|
|
58
|
+
}
|
|
59
|
+
async publishTemplate(template, options) {
|
|
60
|
+
if (options !== undefined && !isRemoteConfigObject(options)) {
|
|
61
|
+
return {
|
|
62
|
+
error: new FirebaseEdgeError({
|
|
63
|
+
code: 'remote-config/invalid-argument',
|
|
64
|
+
message: 'Publish options must be an object.'
|
|
65
|
+
}),
|
|
66
|
+
data: null
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return this.request({
|
|
70
|
+
type: 'publish',
|
|
71
|
+
template,
|
|
72
|
+
force: options?.force
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
rollback(versionNumber) {
|
|
76
|
+
return this.request({ type: 'rollback', version: versionNumber });
|
|
77
|
+
}
|
|
78
|
+
listVersions(options) {
|
|
79
|
+
return this.request({ type: 'list', options });
|
|
80
|
+
}
|
|
81
|
+
createTemplateFromJSON(json) {
|
|
82
|
+
try {
|
|
83
|
+
if (typeof json !== 'string' || !json.trim()) {
|
|
84
|
+
invalidRemoteConfig('Template JSON must be a non-empty string.');
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
error: null,
|
|
88
|
+
data: new RemoteConfigTemplate(JSON.parse(json))
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
catch (cause) {
|
|
92
|
+
return { error: remoteConfigError(cause), data: null };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
initServerTemplate(options) {
|
|
96
|
+
return new ServerTemplate(() => this.request({ type: 'server' }), options);
|
|
97
|
+
}
|
|
98
|
+
async getServerTemplate(options) {
|
|
99
|
+
try {
|
|
100
|
+
const template = this.initServerTemplate(options);
|
|
101
|
+
const { error } = await template.load();
|
|
102
|
+
if (error) {
|
|
103
|
+
return { error, data: null };
|
|
104
|
+
}
|
|
105
|
+
return { error: null, data: template };
|
|
106
|
+
}
|
|
107
|
+
catch (cause) {
|
|
108
|
+
return { error: remoteConfigError(cause), data: null };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=remote-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-config.js","sourceRoot":"","sources":["../../src/remote-config/remote-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { DefaultConfig, EvaluationContext, ServerTemplateData, ServerTemplateDataType, ServerConfig, Value, ValueSource, InitServerTemplateOptions } from './remote-config-types.js';
|
|
2
|
+
import { type RemoteConfigResult } from './remote-config-results.js';
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare class ConfigValue implements Value {
|
|
5
|
+
private readonly source;
|
|
6
|
+
private readonly value;
|
|
7
|
+
constructor(source: ValueSource, value?: string);
|
|
8
|
+
asString(): string;
|
|
9
|
+
asBoolean(): boolean;
|
|
10
|
+
asNumber(): number;
|
|
11
|
+
getSource(): ValueSource;
|
|
12
|
+
}
|
|
13
|
+
/** @internal */
|
|
14
|
+
export declare class EvaluatedServerConfig implements ServerConfig {
|
|
15
|
+
private readonly values;
|
|
16
|
+
constructor(values: Record<string, Value>);
|
|
17
|
+
getValue(key: string): Value;
|
|
18
|
+
getString(key: string): string;
|
|
19
|
+
getBoolean(key: string): boolean;
|
|
20
|
+
getNumber(key: string): number;
|
|
21
|
+
getAll(): Record<string, Value>;
|
|
22
|
+
}
|
|
23
|
+
export declare class ServerTemplate {
|
|
24
|
+
private readonly fetchTemplate;
|
|
25
|
+
private template?;
|
|
26
|
+
readonly defaultConfig: DefaultConfig;
|
|
27
|
+
constructor(fetchTemplate: () => Promise<RemoteConfigResult<ServerTemplateData>>, options?: InitServerTemplateOptions);
|
|
28
|
+
load(): Promise<RemoteConfigResult<void>>;
|
|
29
|
+
set(input: ServerTemplateDataType): RemoteConfigResult<void>;
|
|
30
|
+
evaluate(context?: EvaluationContext): Promise<RemoteConfigResult<ServerConfig>>;
|
|
31
|
+
toJSON(): ServerTemplateData | undefined;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=server-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-template.d.ts","sourceRoot":"","sources":["../../src/remote-config/server-template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,yBAAyB,EAC5B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAIH,KAAK,kBAAkB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,gBAAgB;AAChB,qBAAa,WAAY,YAAW,KAAK;IAEjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,MAAM,EAAE,WAAW,EACnB,KAAK,SAAK;IAE/B,QAAQ,IAAI,MAAM;IAGlB,SAAS,IAAI,OAAO;IAQpB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,WAAW;CAG3B;AAED,gBAAgB;AAChB,qBAAa,qBAAsB,YAAW,YAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK;IAK5B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAG9B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAGhC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAG9B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;CAGlC;AAED,qBAAa,cAAc;IAKnB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJlC,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;gBAGjB,aAAa,EAAE,MAAM,OAAO,CACzC,kBAAkB,CAAC,kBAAkB,CAAC,CACzC,EACD,OAAO,GAAE,yBAA8B;IA2BrC,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAY/C,GAAG,CAAC,KAAK,EAAE,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAWtD,QAAQ,CACV,OAAO,GAAE,iBAAsB,GAChC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA6C5C,MAAM,IAAI,kBAAkB,GAAG,SAAS;CAM3C"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { FirebaseEdgeError } from '../auth/errors.js';
|
|
2
|
+
import { normalizeTemplate } from './remote-config-template.js';
|
|
3
|
+
import { evaluateCondition } from './condition-evaluator.js';
|
|
4
|
+
import { invalidRemoteConfig, isRemoteConfigObject, remoteConfigError } from './remote-config-results.js';
|
|
5
|
+
/** @internal */
|
|
6
|
+
export class ConfigValue {
|
|
7
|
+
source;
|
|
8
|
+
value;
|
|
9
|
+
constructor(source, value = '') {
|
|
10
|
+
this.source = source;
|
|
11
|
+
this.value = value;
|
|
12
|
+
}
|
|
13
|
+
asString() {
|
|
14
|
+
return this.value;
|
|
15
|
+
}
|
|
16
|
+
asBoolean() {
|
|
17
|
+
return (this.source !== 'static' &&
|
|
18
|
+
['1', 'true', 't', 'yes', 'y', 'on'].includes(this.value.toLowerCase()));
|
|
19
|
+
}
|
|
20
|
+
asNumber() {
|
|
21
|
+
if (this.source === 'static') {
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
24
|
+
const number = Number(this.value);
|
|
25
|
+
return Number.isNaN(number) ? 0 : number;
|
|
26
|
+
}
|
|
27
|
+
getSource() {
|
|
28
|
+
return this.source;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** @internal */
|
|
32
|
+
export class EvaluatedServerConfig {
|
|
33
|
+
values;
|
|
34
|
+
constructor(values) {
|
|
35
|
+
this.values = values;
|
|
36
|
+
}
|
|
37
|
+
getValue(key) {
|
|
38
|
+
return Object.hasOwn(this.values, key)
|
|
39
|
+
? this.values[key]
|
|
40
|
+
: new ConfigValue('static');
|
|
41
|
+
}
|
|
42
|
+
getString(key) {
|
|
43
|
+
return this.getValue(key).asString();
|
|
44
|
+
}
|
|
45
|
+
getBoolean(key) {
|
|
46
|
+
return this.getValue(key).asBoolean();
|
|
47
|
+
}
|
|
48
|
+
getNumber(key) {
|
|
49
|
+
return this.getValue(key).asNumber();
|
|
50
|
+
}
|
|
51
|
+
getAll() {
|
|
52
|
+
return { ...this.values };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export class ServerTemplate {
|
|
56
|
+
fetchTemplate;
|
|
57
|
+
template;
|
|
58
|
+
defaultConfig;
|
|
59
|
+
constructor(fetchTemplate, options = {}) {
|
|
60
|
+
this.fetchTemplate = fetchTemplate;
|
|
61
|
+
if (!isRemoteConfigObject(options) ||
|
|
62
|
+
(options.defaultConfig !== undefined &&
|
|
63
|
+
!isRemoteConfigObject(options.defaultConfig))) {
|
|
64
|
+
invalidRemoteConfig('Server template options and defaultConfig must be objects.');
|
|
65
|
+
}
|
|
66
|
+
this.defaultConfig = { ...options.defaultConfig };
|
|
67
|
+
for (const value of Object.values(this.defaultConfig)) {
|
|
68
|
+
if (!['string', 'number', 'boolean'].includes(typeof value)) {
|
|
69
|
+
invalidRemoteConfig('Default values must be strings, numbers, or booleans.');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (options.template !== undefined) {
|
|
73
|
+
const { error } = this.set(options.template);
|
|
74
|
+
if (error) {
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async load() {
|
|
80
|
+
try {
|
|
81
|
+
const { error, data } = await this.fetchTemplate();
|
|
82
|
+
if (error) {
|
|
83
|
+
return { error, data: null };
|
|
84
|
+
}
|
|
85
|
+
return this.set(data);
|
|
86
|
+
}
|
|
87
|
+
catch (cause) {
|
|
88
|
+
return { error: remoteConfigError(cause), data: null };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
set(input) {
|
|
92
|
+
try {
|
|
93
|
+
const parsed = typeof input === 'string' ? JSON.parse(input) : input;
|
|
94
|
+
this.template = normalizeTemplate(parsed);
|
|
95
|
+
return { error: null, data: undefined };
|
|
96
|
+
}
|
|
97
|
+
catch (cause) {
|
|
98
|
+
return { error: remoteConfigError(cause), data: null };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async evaluate(context = {}) {
|
|
102
|
+
try {
|
|
103
|
+
if (!this.template) {
|
|
104
|
+
throw new FirebaseEdgeError({
|
|
105
|
+
code: 'remote-config/failed-precondition',
|
|
106
|
+
message: 'Load or set a server template before evaluation.'
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
if (!isRemoteConfigObject(context)) {
|
|
110
|
+
invalidRemoteConfig('Evaluation context must be an object.');
|
|
111
|
+
}
|
|
112
|
+
const matches = [];
|
|
113
|
+
for (const named of this.template.conditions) {
|
|
114
|
+
const matched = await evaluateCondition(named.condition, context);
|
|
115
|
+
if (matched) {
|
|
116
|
+
matches.push(named.name);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const values = Object.create(null);
|
|
120
|
+
for (const [key, value] of Object.entries(this.defaultConfig)) {
|
|
121
|
+
values[key] = new ConfigValue('default', String(value));
|
|
122
|
+
}
|
|
123
|
+
for (const [key, parameter] of Object.entries(this.template.parameters)) {
|
|
124
|
+
const condition = matches.find((name) => Object.hasOwn(parameter.conditionalValues ?? {}, name));
|
|
125
|
+
const selected = condition !== undefined
|
|
126
|
+
? parameter.conditionalValues?.[condition]
|
|
127
|
+
: parameter.defaultValue;
|
|
128
|
+
if (selected && 'value' in selected) {
|
|
129
|
+
values[key] = new ConfigValue('remote', selected.value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return { error: null, data: new EvaluatedServerConfig(values) };
|
|
133
|
+
}
|
|
134
|
+
catch (cause) {
|
|
135
|
+
return { error: remoteConfigError(cause), data: null };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
toJSON() {
|
|
139
|
+
if (!this.template) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
return JSON.parse(JSON.stringify(this.template));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=server-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-template.js","sourceRoot":"","sources":["../../src/remote-config/server-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAWtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EAEpB,MAAM,4BAA4B,CAAC;AAEpC,gBAAgB;AAChB,MAAM,OAAO,WAAW;IAEC;IACA;IAFrB,YACqB,MAAmB,EACnB,QAAQ,EAAE;QADV,WAAM,GAAN,MAAM,CAAa;QACnB,UAAK,GAAL,KAAK,CAAK;IAC5B,CAAC;IACJ,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,SAAS;QACL,OAAO,CACH,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CACzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAC3B,CACJ,CAAC;IACN,CAAC;IACD,QAAQ;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IACD,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,gBAAgB;AAChB,MAAM,OAAO,qBAAqB;IACD;IAA7B,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAC9D,QAAQ,CAAC,GAAW;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE;YACnB,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,SAAS,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,UAAU,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IACD,SAAS,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,MAAM;QACF,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,OAAO,cAAc;IAKF;IAJb,QAAQ,CAAsB;IAC7B,aAAa,CAAgB;IAEtC,YACqB,aAEhB,EACD,UAAqC,EAAE;QAHtB,kBAAa,GAAb,aAAa,CAE7B;QAGD,IACI,CAAC,oBAAoB,CAAC,OAAO,CAAC;YAC9B,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBAChC,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EACnD,CAAC;YACC,mBAAmB,CACf,4DAA4D,CAC/D,CAAC;QACN,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBAC1D,mBAAmB,CACf,uDAAuD,CAC1D,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAA6B;QAC7B,IAAI,CAAC;YACD,MAAM,MAAM,GACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAqB,MAAM,CAAC,CAAC;YAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACV,UAA6B,EAAE;QAE/B,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,IAAI,iBAAiB,CAAC;oBACxB,IAAI,EAAE,mCAAmC;oBACzC,OAAO,EAAE,kDAAkD;iBAC9D,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACnC,KAAK,CAAC,SAAS,EACf,OAAO,CACV,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAA0B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC3B,EAAE,CAAC;gBACA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,CACzD,CAAC;gBACF,MAAM,QAAQ,GACV,SAAS,KAAK,SAAS;oBACnB,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC;oBAC1C,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;gBACjC,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAuB,CAAC;IAC3E,CAAC;CACJ"}
|
package/dist/rest-fetch.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const restFetch: <T, A>(url: string, options?: {
|
|
|
4
4
|
form?: boolean;
|
|
5
5
|
acceptJson?: boolean;
|
|
6
6
|
bearerToken?: string;
|
|
7
|
-
method?: "POST" | "GET" | "PATCH" | "DELETE";
|
|
7
|
+
method?: "POST" | "GET" | "PATCH" | "DELETE" | "PUT";
|
|
8
8
|
global?: {
|
|
9
9
|
fetch?: typeof fetch;
|
|
10
10
|
};
|
package/dist/rest-fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-fetch.d.ts","sourceRoot":"","sources":["../src/rest-fetch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAU,CAAC,EAAE,CAAC,EAChC,KAAK,MAAM,EACX,UAAU;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rest-fetch.d.ts","sourceRoot":"","sources":["../src/rest-fetch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAU,CAAC,EAAE,CAAC,EAChC,KAAK,MAAM,EACX,UAAU;IACN,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrD,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;;;;;;EAqEJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "firebase-admin-edge",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Firebase Authentication, Firestore, and Admin features for edge runtimes and serverless apps, built with TypeScript and Firebase REST APIs.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"firebase",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"url": "git+https://github.com/jdgamble555/firebase-admin-edge.git"
|
|
31
31
|
},
|
|
32
32
|
"files": [
|
|
33
|
-
"dist"
|
|
33
|
+
"dist",
|
|
34
|
+
"THIRD_PARTY_NOTICES.md"
|
|
34
35
|
],
|
|
35
36
|
"type": "module",
|
|
36
37
|
"main": "dist/index.js",
|