@jewel998/config 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/ConfigClient.d.ts +3 -1
- package/dist/client/ConfigClient.d.ts.map +1 -1
- package/dist/client/ConfigClient.js +53 -19
- package/dist/client/ConfigClient.js.map +1 -1
- package/dist/context/autoContext.d.ts +28 -0
- package/dist/context/autoContext.d.ts.map +1 -0
- package/dist/context/autoContext.js +135 -0
- package/dist/context/autoContext.js.map +1 -0
- package/dist/createConfig.d.ts.map +1 -1
- package/dist/createConfig.js +31 -7
- package/dist/createConfig.js.map +1 -1
- package/dist/index.d.ts +6 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -9
- package/dist/index.js.map +1 -1
- package/dist/initConfig.d.ts +66 -0
- package/dist/initConfig.d.ts.map +1 -0
- package/dist/initConfig.js +128 -0
- package/dist/initConfig.js.map +1 -0
- package/dist/loading/pessimistic.d.ts.map +1 -1
- package/dist/loading/pessimistic.js +12 -5
- package/dist/loading/pessimistic.js.map +1 -1
- package/dist/plugins/models.d.ts +1 -0
- package/dist/plugins/models.d.ts.map +1 -1
- package/dist/plugins/prerequisites/prerequisitePlugin.d.ts.map +1 -1
- package/dist/plugins/prerequisites/prerequisitePlugin.js +22 -2
- package/dist/plugins/prerequisites/prerequisitePlugin.js.map +1 -1
- package/dist/transport/HttpTransport.d.ts +4 -0
- package/dist/transport/HttpTransport.d.ts.map +1 -1
- package/dist/transport/HttpTransport.js +15 -4
- package/dist/transport/HttpTransport.js.map +1 -1
- package/dist/types.d.ts +24 -37
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/webhook-formats.d.ts +92 -0
- package/dist/webhook-formats.d.ts.map +1 -0
- package/dist/webhook-formats.js +141 -0
- package/dist/webhook-formats.js.map +1 -0
- package/package.json +1 -1
- package/dist/cache/storage.d.ts +0 -15
- package/dist/cache/storage.d.ts.map +0 -1
- package/dist/cache/storage.js +0 -43
- package/dist/cache/storage.js.map +0 -1
- package/dist/cache/types.d.ts +0 -3
- package/dist/cache/types.js +0 -2
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -15
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -80
- package/dist/client.js.map +0 -1
- package/dist/core/resolver.d.ts +0 -8
- package/dist/core/resolver.d.ts.map +0 -1
- package/dist/core/resolver.js +0 -22
- package/dist/core/resolver.js.map +0 -1
- package/dist/errors/index.d.ts +0 -17
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -29
- package/dist/errors/index.js.map +0 -1
- package/dist/example.d.ts +0 -2
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -23
- package/dist/example.js.map +0 -1
- package/dist/loading/deferred.d.ts +0 -3
- package/dist/loading/deferred.js +0 -5
- package/dist/loading/deferred.js.map +0 -1
- package/dist/loading/optimistic.d.ts +0 -3
- package/dist/loading/pessimistic.d.ts +0 -3
- package/dist/management/index.d.ts +0 -3
- package/dist/management/index.d.ts.map +0 -1
- package/dist/management/index.js +0 -2
- package/dist/management/index.js.map +0 -1
- package/dist/management/manager.d.ts +0 -34
- package/dist/management/manager.d.ts.map +0 -1
- package/dist/management/manager.js +0 -21
- package/dist/management/manager.js.map +0 -1
- package/dist/management/memory-backend.d.ts +0 -6
- package/dist/management/memory-backend.d.ts.map +0 -1
- package/dist/management/memory-backend.js +0 -78
- package/dist/management/memory-backend.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -5
- package/dist/plugins/lifecycle/index.d.ts +0 -4
- package/dist/plugins/overrides/index.d.ts +0 -2
- package/dist/plugins/prerequisites/index.d.ts +0 -3
- package/dist/plugins/rollout/index.d.ts +0 -3
- package/dist/plugins/rollout/murmurhash3.d.ts +0 -6
- package/dist/plugins/rollout/murmurhash3.d.ts.map +0 -1
- package/dist/plugins/rollout/murmurhash3.js +0 -56
- package/dist/plugins/rollout/murmurhash3.js.map +0 -1
- package/dist/plugins/schedule/index.d.ts +0 -2
- package/dist/plugins/targeting/index.d.ts +0 -4
- package/dist/plugins/targeting/predicates.d.ts +0 -23
- package/dist/plugins/targeting/predicates.js +0 -110
- package/dist/plugins/targeting/predicates.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -35
- package/dist/plugins/types.js +0 -13
- package/dist/plugins/types.js.map +0 -1
- package/dist/registry.d.ts +0 -9
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -22
- package/dist/registry.js.map +0 -1
- package/dist/remote/firebase-adapter.d.ts +0 -6
- package/dist/remote/firebase-adapter.d.ts.map +0 -1
- package/dist/remote/firebase-adapter.js +0 -12
- package/dist/remote/firebase-adapter.js.map +0 -1
- package/dist/remote/provider.d.ts +0 -6
- package/dist/remote/provider.d.ts.map +0 -1
- package/dist/remote/provider.js +0 -5
- package/dist/remote/provider.js.map +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// ═══════════════════════════════════════════════════════════════
|
|
2
|
+
// Webhook Format Constants — shared between portal, docs, and functions
|
|
3
|
+
// ═══════════════════════════════════════════════════════════════
|
|
4
|
+
/**
|
|
5
|
+
* Supported webhook format identifiers.
|
|
6
|
+
*/
|
|
7
|
+
export const WEBHOOK_FORMATS = [
|
|
8
|
+
"standard",
|
|
9
|
+
"slack",
|
|
10
|
+
"discord",
|
|
11
|
+
"google-chat",
|
|
12
|
+
"ms-teams",
|
|
13
|
+
"custom",
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Human-readable descriptions for each webhook format.
|
|
17
|
+
*/
|
|
18
|
+
export const WEBHOOK_FORMAT_INFO = {
|
|
19
|
+
standard: {
|
|
20
|
+
label: "Standard JSON",
|
|
21
|
+
description: "Plain JSON payload with all event details",
|
|
22
|
+
},
|
|
23
|
+
slack: {
|
|
24
|
+
label: "Slack",
|
|
25
|
+
description: "Block Kit formatted message for Slack channels",
|
|
26
|
+
},
|
|
27
|
+
discord: {
|
|
28
|
+
label: "Discord",
|
|
29
|
+
description: "Rich embed message for Discord channels",
|
|
30
|
+
},
|
|
31
|
+
"google-chat": {
|
|
32
|
+
label: "Google Chat",
|
|
33
|
+
description: "Cards v2 formatted message for Google Chat",
|
|
34
|
+
},
|
|
35
|
+
"ms-teams": {
|
|
36
|
+
label: "Microsoft Teams",
|
|
37
|
+
description: "Adaptive Card for Microsoft Teams channels",
|
|
38
|
+
},
|
|
39
|
+
custom: {
|
|
40
|
+
label: "Custom Template",
|
|
41
|
+
description: "User-defined template with {{variable}} interpolation",
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Available template variables for the custom format.
|
|
46
|
+
* Used by: portal UI (variable reference), docs page, and the function's template engine.
|
|
47
|
+
*/
|
|
48
|
+
export const TEMPLATE_VARIABLES = [
|
|
49
|
+
{
|
|
50
|
+
variable: "{{action}}",
|
|
51
|
+
description: "The action that occurred",
|
|
52
|
+
example: "create, update, delete, state_change",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
variable: "{{resource.category}}",
|
|
56
|
+
description: "Resource category",
|
|
57
|
+
example: "config, segment, api_key, team",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
variable: "{{resource.path}}",
|
|
61
|
+
description: "Full resource path",
|
|
62
|
+
example: "environments/prod/configs/feature.dark_mode",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
variable: "{{resource.name}}",
|
|
66
|
+
description: "Human-readable resource name",
|
|
67
|
+
example: "feature.dark_mode",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
variable: "{{environment}}",
|
|
71
|
+
description: "Environment name (empty if none)",
|
|
72
|
+
example: "production",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
variable: "{{actor.id}}",
|
|
76
|
+
description: "User ID of the person who made the change",
|
|
77
|
+
example: "user_abc123",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
variable: "{{timestamp}}",
|
|
81
|
+
description: "ISO 8601 timestamp of the event",
|
|
82
|
+
example: "2025-01-15T09:30:00.000Z",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
variable: "{{project.id}}",
|
|
86
|
+
description: "Project identifier",
|
|
87
|
+
example: "proj_xyz",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
variable: "{{webhook.id}}",
|
|
91
|
+
description: "Webhook identifier",
|
|
92
|
+
example: "whk_123",
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
variable: "{{changes.old}}",
|
|
96
|
+
description: "Previous value as JSON string (empty if create)",
|
|
97
|
+
example: '{"enabled": true}',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
variable: "{{changes.new}}",
|
|
101
|
+
description: "New value as JSON string (empty if delete)",
|
|
102
|
+
example: '{"enabled": false}',
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
/**
|
|
106
|
+
* Event types that can trigger webhooks.
|
|
107
|
+
*/
|
|
108
|
+
export const WEBHOOK_EVENT_TYPES = [
|
|
109
|
+
"create",
|
|
110
|
+
"update",
|
|
111
|
+
"delete",
|
|
112
|
+
"state_change",
|
|
113
|
+
];
|
|
114
|
+
/**
|
|
115
|
+
* Resource categories for webhook filtering.
|
|
116
|
+
*/
|
|
117
|
+
export const WEBHOOK_RESOURCE_CATEGORIES = [
|
|
118
|
+
"config",
|
|
119
|
+
"segment",
|
|
120
|
+
"api_key",
|
|
121
|
+
"project",
|
|
122
|
+
"team",
|
|
123
|
+
"environment",
|
|
124
|
+
];
|
|
125
|
+
/**
|
|
126
|
+
* Sample payload used for preview/testing (shared between portal and docs).
|
|
127
|
+
*/
|
|
128
|
+
export const SAMPLE_WEBHOOK_EVENT = {
|
|
129
|
+
action: "update",
|
|
130
|
+
resourceCategory: "config",
|
|
131
|
+
resourcePath: "environments/production/configs/feature.dark_mode",
|
|
132
|
+
resourceName: "feature.dark_mode",
|
|
133
|
+
environment: "production",
|
|
134
|
+
actorId: "user_abc123",
|
|
135
|
+
timestamp: "2025-01-15T09:30:00.000Z",
|
|
136
|
+
oldValue: { value: false },
|
|
137
|
+
newValue: { value: true },
|
|
138
|
+
projectId: "proj_xyz",
|
|
139
|
+
webhookId: "whk_sample",
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=webhook-formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-formats.js","sourceRoot":"","sources":["../src/webhook-formats.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/cache/storage.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface CacheStorage {
|
|
2
|
-
get<T>(key: string): Promise<T | undefined> | T | undefined;
|
|
3
|
-
set<T>(key: string, value: T): Promise<void> | void;
|
|
4
|
-
delete(key: string): Promise<void> | void;
|
|
5
|
-
}
|
|
6
|
-
export interface CacheDriver {
|
|
7
|
-
name: string;
|
|
8
|
-
getItem<T>(key: string): Promise<T | undefined>;
|
|
9
|
-
setItem<T>(key: string, value: T): Promise<void>;
|
|
10
|
-
removeItem(key: string): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export declare const memoryStorage: () => CacheStorage;
|
|
13
|
-
export declare const createDriverStorage: (driver: CacheDriver, storageKey?: string) => CacheStorage;
|
|
14
|
-
export declare const browserStorage: (storageKey?: string) => CacheStorage;
|
|
15
|
-
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/cache/storage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAChD,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,aAAa,QAAO,YAYhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,WAAW,EACnB,mBAA+B,KAC9B,YAQD,CAAC;AAEH,eAAO,MAAM,cAAc,GACzB,mBAA+B,KAC9B,YAuBF,CAAC"}
|
package/dist/cache/storage.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/// <reference lib="dom" />
|
|
2
|
-
export const memoryStorage = () => {
|
|
3
|
-
const store = new Map();
|
|
4
|
-
return {
|
|
5
|
-
get: (key) => store.get(key),
|
|
6
|
-
set: (key, value) => {
|
|
7
|
-
store.set(key, value);
|
|
8
|
-
},
|
|
9
|
-
delete: (key) => {
|
|
10
|
-
store.delete(key);
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export const createDriverStorage = (driver, storageKey = "@jewel998/config") => ({
|
|
15
|
-
get: async (key) => driver.getItem(`${storageKey}:${key}`),
|
|
16
|
-
set: async (key, value) => {
|
|
17
|
-
await driver.setItem(`${storageKey}:${key}`, value);
|
|
18
|
-
},
|
|
19
|
-
delete: async (key) => {
|
|
20
|
-
await driver.removeItem(`${storageKey}:${key}`);
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
export const browserStorage = (storageKey = "@jewel998/config") => {
|
|
24
|
-
const isBrowser = typeof window !== "undefined" && typeof window.localStorage !== "undefined";
|
|
25
|
-
if (!isBrowser) {
|
|
26
|
-
return memoryStorage();
|
|
27
|
-
}
|
|
28
|
-
const driver = {
|
|
29
|
-
name: "localStorage",
|
|
30
|
-
getItem: async (key) => {
|
|
31
|
-
const serialized = window.localStorage.getItem(key);
|
|
32
|
-
return serialized ? JSON.parse(serialized) : undefined;
|
|
33
|
-
},
|
|
34
|
-
setItem: async (key, value) => {
|
|
35
|
-
window.localStorage.setItem(key, JSON.stringify(value));
|
|
36
|
-
},
|
|
37
|
-
removeItem: async (key) => {
|
|
38
|
-
window.localStorage.removeItem(key);
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
return createDriverStorage(driver, storageKey);
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/cache/storage.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAe3B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAiB,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzC,OAAO;QACL,GAAG,EAAE,CAAI,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB;QACxD,GAAG,EAAE,CAAI,GAAW,EAAE,KAAQ,EAAE,EAAE;YAChC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;YACtB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAmB,EACnB,UAAU,GAAG,kBAAkB,EACjB,EAAE,CAAC,CAAC;IAClB,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAI,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC;IACxE,GAAG,EAAE,KAAK,EAAK,GAAW,EAAE,KAAQ,EAAE,EAAE;QACtC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAU,GAAG,kBAAkB,EACjB,EAAE;IAChB,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,CAAC;IAE9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAgB;QAC1B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,KAAK,EAAK,GAAW,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,KAAK,EAAK,GAAW,EAAE,KAAQ,EAAE,EAAE;YAC1C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAChC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;IAEF,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC,CAAC"}
|
package/dist/cache/types.d.ts
DELETED
package/dist/cache/types.js
DELETED
package/dist/cache/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/client.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { CacheStorage } from "./cache/storage";
|
|
2
|
-
import type { RemoteConfigProvider } from "./remote/provider";
|
|
3
|
-
import type { ConfigDefinition, ConfigResolveContext } from "./types";
|
|
4
|
-
export interface ConfigClient {
|
|
5
|
-
getValue<T>(key: string, context?: ConfigResolveContext): Promise<T | undefined>;
|
|
6
|
-
getFlag(key: string, context?: ConfigResolveContext): Promise<boolean>;
|
|
7
|
-
refresh(): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export interface ConfigClientOptions {
|
|
10
|
-
definitions: ConfigDefinition[];
|
|
11
|
-
storage?: CacheStorage;
|
|
12
|
-
remoteProvider?: RemoteConfigProvider;
|
|
13
|
-
}
|
|
14
|
-
export declare const createConfigClient: (options: ConfigClientOptions) => ConfigClient;
|
|
15
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAiED,eAAO,MAAM,kBAAkB,GAC7B,SAAS,mBAAmB,KAC3B,YA4CF,CAAC"}
|
package/dist/client.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { resolveConfigValue } from "./core/resolver";
|
|
2
|
-
const buildScopedKey = (key, context) => {
|
|
3
|
-
if (!context) {
|
|
4
|
-
return key;
|
|
5
|
-
}
|
|
6
|
-
const parts = [key];
|
|
7
|
-
if (context.tenantId) {
|
|
8
|
-
parts.push(`tenant:${context.tenantId}`);
|
|
9
|
-
}
|
|
10
|
-
if (context.projectId) {
|
|
11
|
-
parts.push(`project:${context.projectId}`);
|
|
12
|
-
}
|
|
13
|
-
if (context.environment) {
|
|
14
|
-
parts.push(`environment:${context.environment}`);
|
|
15
|
-
}
|
|
16
|
-
return parts.join(":");
|
|
17
|
-
};
|
|
18
|
-
const resolveCachedValue = async (storage, key, context) => {
|
|
19
|
-
const candidates = [key];
|
|
20
|
-
if (context?.projectId) {
|
|
21
|
-
candidates.push(`${key}:${context.projectId}`);
|
|
22
|
-
candidates.push(`${key}:project:${context.projectId}`);
|
|
23
|
-
}
|
|
24
|
-
if (context?.tenantId) {
|
|
25
|
-
candidates.push(`${key}:${context.tenantId}`);
|
|
26
|
-
candidates.push(`${key}:tenant:${context.tenantId}`);
|
|
27
|
-
}
|
|
28
|
-
if (context?.environment) {
|
|
29
|
-
candidates.push(`${key}:${context.environment}`);
|
|
30
|
-
candidates.push(`${key}:environment:${context.environment}`);
|
|
31
|
-
}
|
|
32
|
-
if (context?.tenantId && context?.projectId) {
|
|
33
|
-
candidates.push(`${key}:${context.tenantId}:${context.projectId}`);
|
|
34
|
-
}
|
|
35
|
-
candidates.push(buildScopedKey(key, context));
|
|
36
|
-
for (const candidate of candidates) {
|
|
37
|
-
const value = await storage.get(candidate);
|
|
38
|
-
if (value !== undefined) {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
-
};
|
|
44
|
-
export const createConfigClient = (options) => {
|
|
45
|
-
const { storage, remoteProvider, definitions } = options;
|
|
46
|
-
const getValue = async (key, context) => {
|
|
47
|
-
if (!storage) {
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
const cachedValue = await resolveCachedValue(storage, key, context);
|
|
51
|
-
const remoteValue = remoteProvider
|
|
52
|
-
? await remoteProvider.getValue(key)
|
|
53
|
-
: undefined;
|
|
54
|
-
return resolveConfigValue(key, {
|
|
55
|
-
definitions,
|
|
56
|
-
cache: cachedValue !== undefined ? { [key]: cachedValue } : {},
|
|
57
|
-
remote: remoteValue !== undefined ? { [key]: remoteValue } : {},
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
return {
|
|
61
|
-
getValue,
|
|
62
|
-
getFlag: async (key, context) => {
|
|
63
|
-
const value = await getValue(key, context);
|
|
64
|
-
return Boolean(value);
|
|
65
|
-
},
|
|
66
|
-
refresh: async () => {
|
|
67
|
-
if (!storage || !remoteProvider) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const values = definitions.map(async (definition) => {
|
|
71
|
-
const remoteValue = await remoteProvider.getValue(definition.key);
|
|
72
|
-
if (remoteValue !== undefined) {
|
|
73
|
-
await storage.set(definition.key, remoteValue);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
await Promise.all(values);
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/resolver.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ConfigDefinition, ConfigResolveContext } from "../types";
|
|
2
|
-
export interface ConfigResolverOptions {
|
|
3
|
-
definitions: ConfigDefinition[];
|
|
4
|
-
cache?: Record<string, unknown>;
|
|
5
|
-
remote?: Record<string, unknown>;
|
|
6
|
-
}
|
|
7
|
-
export declare const resolveConfigValue: <T>(key: string, options: ConfigResolverOptions, _context?: ConfigResolveContext) => T | undefined;
|
|
8
|
-
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAClC,KAAK,MAAM,EACX,SAAS,qBAAqB,EAC9B,WAAW,oBAAoB,KAC9B,CAAC,GAAG,SA8BN,CAAC"}
|
package/dist/core/resolver.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export const resolveConfigValue = (key, options, _context) => {
|
|
2
|
-
const definition = options.definitions.find((entry) => entry.key === key);
|
|
3
|
-
if (!definition) {
|
|
4
|
-
return undefined;
|
|
5
|
-
}
|
|
6
|
-
const cachedValue = options.cache?.[key];
|
|
7
|
-
const remoteValue = options.remote?.[key];
|
|
8
|
-
if (definition.sourceMode === "offline") {
|
|
9
|
-
return cachedValue ?? definition.defaultValue ?? definition.fallbackValue;
|
|
10
|
-
}
|
|
11
|
-
if (definition.sourceMode === "remote") {
|
|
12
|
-
return (remoteValue ??
|
|
13
|
-
cachedValue ??
|
|
14
|
-
definition.defaultValue ??
|
|
15
|
-
definition.fallbackValue);
|
|
16
|
-
}
|
|
17
|
-
return (cachedValue ??
|
|
18
|
-
remoteValue ??
|
|
19
|
-
definition.defaultValue ??
|
|
20
|
-
definition.fallbackValue);
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,GAAW,EACX,OAA8B,EAC9B,QAA+B,EAChB,EAAE;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CACvC,CAAC;IAElC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAkB,CAAC;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAkB,CAAC;IAE3D,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,WAAW,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC;IAC5E,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,CACL,WAAW;YACX,WAAW;YACX,UAAU,CAAC,YAAY;YACvB,UAAU,CAAC,aAAa,CACzB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,WAAW;QACX,WAAW;QACX,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,aAAa,CACzB,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/errors/index.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type ConfigErrorCode = "MISSING_CLIENT_ID" | "AUTHENTICATION_FAILED" | "INITIALIZATION_FAILED" | "TIMEOUT" | "RATE_LIMITED" | "REVOKED" | "NETWORK_ERROR";
|
|
2
|
-
export declare class ConfigError extends Error {
|
|
3
|
-
readonly code: ConfigErrorCode;
|
|
4
|
-
name: string;
|
|
5
|
-
constructor(message: string, code: ConfigErrorCode);
|
|
6
|
-
}
|
|
7
|
-
export declare class InitializationError extends ConfigError {
|
|
8
|
-
readonly cause?: Error | undefined;
|
|
9
|
-
constructor(message: string, cause?: Error | undefined);
|
|
10
|
-
}
|
|
11
|
-
export declare class TimeoutError extends ConfigError {
|
|
12
|
-
constructor(timeoutMs: number);
|
|
13
|
-
}
|
|
14
|
-
export declare class AuthenticationError extends ConfigError {
|
|
15
|
-
constructor(message: string);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,SAAS,GACT,cAAc,GACd,SAAS,GACT,eAAe,CAAC;AAEpB,qBAAa,WAAY,SAAQ,KAAK;aAKlB,IAAI,EAAE,eAAe;IAJ9B,IAAI,SAAiB;gBAG5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAIxC;AAED,qBAAa,mBAAoB,SAAQ,WAAW;aAGhC,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,SAAS,EAAE,MAAM;CAI9B;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/errors/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export class ConfigError extends Error {
|
|
2
|
-
code;
|
|
3
|
-
name = "ConfigError";
|
|
4
|
-
constructor(message, code) {
|
|
5
|
-
super(message);
|
|
6
|
-
this.code = code;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export class InitializationError extends ConfigError {
|
|
10
|
-
cause;
|
|
11
|
-
constructor(message, cause) {
|
|
12
|
-
super(message, "INITIALIZATION_FAILED");
|
|
13
|
-
this.cause = cause;
|
|
14
|
-
this.name = "InitializationError";
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export class TimeoutError extends ConfigError {
|
|
18
|
-
constructor(timeoutMs) {
|
|
19
|
-
super(`Config initialization timed out after ${timeoutMs}ms`, "TIMEOUT");
|
|
20
|
-
this.name = "TimeoutError";
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export class AuthenticationError extends ConfigError {
|
|
24
|
-
constructor(message) {
|
|
25
|
-
super(message, "AUTHENTICATION_FAILED");
|
|
26
|
-
this.name = "AuthenticationError";
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/dist/errors/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAKlB;IAJT,IAAI,GAAG,aAAa,CAAC;IAE9B,YACE,OAAe,EACC,IAAqB;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAiB;IAGvC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAGhC;IAFlB,YACE,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAFxB,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,YAAY,SAAiB;QAC3B,KAAK,CAAC,yCAAyC,SAAS,IAAI,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
|
package/dist/example.d.ts
DELETED
package/dist/example.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,uCAmB5B,CAAC"}
|
package/dist/example.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { browserStorage } from "./cache/storage";
|
|
2
|
-
import { createConfigClient } from "./client";
|
|
3
|
-
import { createFirebaseRemoteConfigProvider } from "./remote/firebase-adapter";
|
|
4
|
-
export const createExampleClient = () => createConfigClient({
|
|
5
|
-
definitions: [
|
|
6
|
-
{
|
|
7
|
-
key: "feature.beta",
|
|
8
|
-
defaultValue: false,
|
|
9
|
-
sourceMode: "remote",
|
|
10
|
-
scope: "project",
|
|
11
|
-
},
|
|
12
|
-
],
|
|
13
|
-
storage: browserStorage(),
|
|
14
|
-
remoteProvider: createFirebaseRemoteConfigProvider({
|
|
15
|
-
fetcher: async (key) => {
|
|
16
|
-
if (key === "feature.beta") {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
return undefined;
|
|
20
|
-
},
|
|
21
|
-
}),
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=example.js.map
|
package/dist/example.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,kBAAkB,CAAC;IACjB,WAAW,EAAE;QACX;YACE,GAAG,EAAE,cAAc;YACnB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,OAAO,EAAE,cAAc,EAAE;IACzB,cAAc,EAAE,kCAAkC,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YAC7B,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
|
package/dist/loading/deferred.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/loading/deferred.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,GAAkB,EAAE;IACjD,mCAAmC;IACnC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/management/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/management/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/management/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { ConfigVersionRecord, EnvironmentRecord, ProjectRecord } from "../types";
|
|
2
|
-
export interface ConfigManagerBackend {
|
|
3
|
-
createProject(name: string, ownerId: string): Promise<ProjectRecord>;
|
|
4
|
-
deleteProject(projectId: string): Promise<void>;
|
|
5
|
-
listProjects(ownerId: string): Promise<ProjectRecord[]>;
|
|
6
|
-
createEnvironment(projectId: string, name: string): Promise<EnvironmentRecord>;
|
|
7
|
-
deleteEnvironment(projectId: string, environmentId: string): Promise<void>;
|
|
8
|
-
listEnvironments(projectId: string): Promise<EnvironmentRecord[]>;
|
|
9
|
-
createVersion(projectId: string, version: string, payload: Record<string, unknown>, environmentId?: string): Promise<ConfigVersionRecord>;
|
|
10
|
-
publishVersion(projectId: string, versionId: string): Promise<ConfigVersionRecord>;
|
|
11
|
-
listVersions(projectId: string): Promise<ConfigVersionRecord[]>;
|
|
12
|
-
}
|
|
13
|
-
export interface ConfigManagerOptions {
|
|
14
|
-
backend: ConfigManagerBackend;
|
|
15
|
-
}
|
|
16
|
-
export interface ConfigManager {
|
|
17
|
-
projects: {
|
|
18
|
-
create(name: string, ownerId: string): Promise<ProjectRecord>;
|
|
19
|
-
delete(projectId: string): Promise<void>;
|
|
20
|
-
list(ownerId: string): Promise<ProjectRecord[]>;
|
|
21
|
-
};
|
|
22
|
-
environments: {
|
|
23
|
-
create(projectId: string, name: string): Promise<EnvironmentRecord>;
|
|
24
|
-
delete(projectId: string, environmentId: string): Promise<void>;
|
|
25
|
-
list(projectId: string): Promise<EnvironmentRecord[]>;
|
|
26
|
-
};
|
|
27
|
-
versions: {
|
|
28
|
-
create(projectId: string, version: string, payload: Record<string, unknown>, environmentId?: string): Promise<ConfigVersionRecord>;
|
|
29
|
-
publish(projectId: string, versionId: string): Promise<ConfigVersionRecord>;
|
|
30
|
-
list(projectId: string): Promise<ConfigVersionRecord[]>;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export declare const createConfigManager: (options: ConfigManagerOptions) => ConfigManager;
|
|
34
|
-
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/management/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAExD,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAElE,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QACR,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;KACvD,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;KACzD,CAAC;CACH;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,oBAAoB,KAC5B,aAuBF,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export const createConfigManager = (options) => {
|
|
2
|
-
const { backend } = options;
|
|
3
|
-
return {
|
|
4
|
-
projects: {
|
|
5
|
-
create: (name, ownerId) => backend.createProject(name, ownerId),
|
|
6
|
-
delete: (projectId) => backend.deleteProject(projectId),
|
|
7
|
-
list: (ownerId) => backend.listProjects(ownerId),
|
|
8
|
-
},
|
|
9
|
-
environments: {
|
|
10
|
-
create: (projectId, name) => backend.createEnvironment(projectId, name),
|
|
11
|
-
delete: (projectId, environmentId) => backend.deleteEnvironment(projectId, environmentId),
|
|
12
|
-
list: (projectId) => backend.listEnvironments(projectId),
|
|
13
|
-
},
|
|
14
|
-
versions: {
|
|
15
|
-
create: (projectId, version, payload, environmentId) => backend.createVersion(projectId, version, payload, environmentId),
|
|
16
|
-
publish: (projectId, versionId) => backend.publishVersion(projectId, versionId),
|
|
17
|
-
list: (projectId) => backend.listVersions(projectId),
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/management/manager.ts"],"names":[],"mappings":"AA0DA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAA6B,EACd,EAAE;IACjB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,OAAO;QACL,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/D,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;YACvD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;SACjD;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;YACvE,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,CACnC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC;YACrD,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;SACzD;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CACrD,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;YACnE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAChC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;YAC9C,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;SACrD;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-backend.d.ts","sourceRoot":"","sources":["../../src/management/memory-backend.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAO,oBAwFtC,CAAC"}
|