velocious 1.0.241 → 1.0.243
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 +25 -13
- package/build/src/configuration-types.d.ts +16 -13
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +11 -6
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +21 -5
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +8 -6
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +16 -7
- package/build/src/frontend-model-controller.d.ts +9 -6
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +69 -180
- package/build/src/frontend-model-resource/base-resource.d.ts +120 -0
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -0
- package/build/src/frontend-model-resource/base-resource.js +160 -0
- package/build/src/frontend-models/base.d.ts +2 -14
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +17 -48
- package/build/src/frontend-models/resource-definition.d.ts +35 -0
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -0
- package/build/src/frontend-models/resource-definition.js +118 -0
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +13 -2
- package/build/src/http-server/client/params-to-object.d.ts +2 -1
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +26 -5
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +35 -6
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +19 -4
- package/build/src/http-server/worker-handler/index.js +2 -2
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.js +11 -90
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for backend frontend-model resources.
|
|
3
|
+
*/
|
|
4
|
+
export default class FrontendModelBaseResource {
|
|
5
|
+
/** @type {Record<string, any> | string[] | undefined} */
|
|
6
|
+
static attributes: Record<string, any> | string[] | undefined;
|
|
7
|
+
/** @type {Record<string, string> | undefined} */
|
|
8
|
+
static abilities: Record<string, string> | undefined;
|
|
9
|
+
/** @type {Record<string, any> | undefined} */
|
|
10
|
+
static attachments: Record<string, any> | undefined;
|
|
11
|
+
/** @type {Record<string, string> | undefined} */
|
|
12
|
+
static commands: Record<string, string> | undefined;
|
|
13
|
+
/** @type {string | undefined} */
|
|
14
|
+
static path: string | undefined;
|
|
15
|
+
/** @type {Record<string, any> | undefined} */
|
|
16
|
+
static relationships: Record<string, any> | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Static resource config.
|
|
19
|
+
*/
|
|
20
|
+
static resourceConfig(): import("../configuration-types.js").FrontendModelResourceConfiguration;
|
|
21
|
+
/**
|
|
22
|
+
* @param {object} args - Resource args.
|
|
23
|
+
* @param {import("../controller.js").default} args.controller - Frontend-model controller.
|
|
24
|
+
* @param {typeof import("../database/record/index.js").default} args.modelClass - Model class.
|
|
25
|
+
* @param {string} args.modelName - Model class name.
|
|
26
|
+
* @param {Record<string, any>} args.params - Request params.
|
|
27
|
+
* @param {import("../configuration-types.js").FrontendModelResourceConfiguration} args.resourceConfiguration - Normalized resource config.
|
|
28
|
+
*/
|
|
29
|
+
constructor({ controller, modelClass, modelName, params, resourceConfiguration }: {
|
|
30
|
+
controller: import("../controller.js").default;
|
|
31
|
+
modelClass: typeof import("../database/record/index.js").default;
|
|
32
|
+
modelName: string;
|
|
33
|
+
params: Record<string, any>;
|
|
34
|
+
resourceConfiguration: import("../configuration-types.js").FrontendModelResourceConfiguration;
|
|
35
|
+
});
|
|
36
|
+
controller: import("../controller.js").default;
|
|
37
|
+
modelClassValue: typeof import("../database/record/index.js").default;
|
|
38
|
+
modelNameValue: string;
|
|
39
|
+
paramsValue: Record<string, any>;
|
|
40
|
+
resourceConfigurationValue: import("../configuration-types.js").FrontendModelResourceConfiguration;
|
|
41
|
+
/**
|
|
42
|
+
* @returns {import("../controller.js").default & {
|
|
43
|
+
* frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>,
|
|
44
|
+
* frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>,
|
|
45
|
+
* frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
|
|
46
|
+
* serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>
|
|
47
|
+
* }} - Controller instance with frontend-model helpers.
|
|
48
|
+
*/
|
|
49
|
+
typedControllerInstance(): import("../controller.js").default & {
|
|
50
|
+
frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>;
|
|
51
|
+
frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>;
|
|
52
|
+
frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null;
|
|
53
|
+
serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>;
|
|
54
|
+
};
|
|
55
|
+
/** @returns {import("../controller.js").default} - Controller instance. */
|
|
56
|
+
controllerInstance(): import("../controller.js").default;
|
|
57
|
+
/** @returns {typeof import("../database/record/index.js").default} - Model class. */
|
|
58
|
+
modelClass(): typeof import("../database/record/index.js").default;
|
|
59
|
+
/** @returns {string} - Model name. */
|
|
60
|
+
modelName(): string;
|
|
61
|
+
/** @returns {Record<string, any>} - Params. */
|
|
62
|
+
params(): Record<string, any>;
|
|
63
|
+
/** @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Normalized resource config. */
|
|
64
|
+
resourceConfiguration(): import("../configuration-types.js").FrontendModelResourceConfiguration;
|
|
65
|
+
/** @returns {string} - Primary key. */
|
|
66
|
+
primaryKey(): string;
|
|
67
|
+
/**
|
|
68
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Ability action.
|
|
69
|
+
* @returns {import("../database/query/model-class-query.js").default<any>} - Authorized query.
|
|
70
|
+
*/
|
|
71
|
+
authorizedQuery(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): import("../database/query/model-class-query.js").default<any>;
|
|
72
|
+
/**
|
|
73
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
74
|
+
* @returns {boolean | Promise<boolean>} - Whether pluck is supported.
|
|
75
|
+
*/
|
|
76
|
+
supportsPluck(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): boolean | Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
79
|
+
* @returns {boolean | void | Promise<boolean | void>} - Continue processing unless false.
|
|
80
|
+
*/
|
|
81
|
+
beforeAction(action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"): boolean | void | Promise<boolean | void>;
|
|
82
|
+
/**
|
|
83
|
+
* @returns {Promise<import("../database/record/index.js").default[]>} - Records for index action.
|
|
84
|
+
*/
|
|
85
|
+
records(): Promise<import("../database/record/index.js").default[]>;
|
|
86
|
+
/**
|
|
87
|
+
* @param {"find" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
88
|
+
* @param {string | number} id - Record id.
|
|
89
|
+
* @returns {Promise<import("../database/record/index.js").default | null>} - Located model.
|
|
90
|
+
*/
|
|
91
|
+
find(action: "find" | "update" | "destroy" | "attach" | "download" | "url", id: string | number): Promise<import("../database/record/index.js").default | null>;
|
|
92
|
+
/**
|
|
93
|
+
* @param {Record<string, any>} attributes - Create attributes.
|
|
94
|
+
* @returns {Promise<import("../database/record/index.js").default>} - Created model.
|
|
95
|
+
*/
|
|
96
|
+
create(attributes: Record<string, any>): Promise<import("../database/record/index.js").default>;
|
|
97
|
+
/**
|
|
98
|
+
* @param {import("../database/record/index.js").default} model - Created model.
|
|
99
|
+
* @returns {Promise<void>} - Cleanup after failed authorization.
|
|
100
|
+
*/
|
|
101
|
+
handleUnauthorizedCreatedModel(model: import("../database/record/index.js").default): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* @param {import("../database/record/index.js").default} model - Existing model.
|
|
104
|
+
* @param {Record<string, any>} attributes - Update attributes.
|
|
105
|
+
* @returns {Promise<import("../database/record/index.js").default>} - Updated model.
|
|
106
|
+
*/
|
|
107
|
+
update(model: import("../database/record/index.js").default, attributes: Record<string, any>): Promise<import("../database/record/index.js").default>;
|
|
108
|
+
/**
|
|
109
|
+
* @param {import("../database/record/index.js").default} model - Existing model.
|
|
110
|
+
* @returns {Promise<void>} - No return value.
|
|
111
|
+
*/
|
|
112
|
+
destroy(model: import("../database/record/index.js").default): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* @param {import("../database/record/index.js").default} model - Model to serialize.
|
|
115
|
+
* @param {"index" | "find" | "create" | "update"} [action] - Action.
|
|
116
|
+
* @returns {Promise<Record<string, any>>} - Serialized model payload.
|
|
117
|
+
*/
|
|
118
|
+
serialize(model: import("../database/record/index.js").default, action?: "index" | "find" | "create" | "update"): Promise<Record<string, any>>;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=base-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-resource.d.ts","sourceRoot":"","sources":["../../../src/frontend-model-resource/base-resource.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/**
|
|
3
|
+
* Base class for backend frontend-model resources.
|
|
4
|
+
*/
|
|
5
|
+
export default class FrontendModelBaseResource {
|
|
6
|
+
/** @type {Record<string, any> | string[] | undefined} */
|
|
7
|
+
static attributes = undefined;
|
|
8
|
+
/** @type {Record<string, string> | undefined} */
|
|
9
|
+
static abilities = undefined;
|
|
10
|
+
/** @type {Record<string, any> | undefined} */
|
|
11
|
+
static attachments = undefined;
|
|
12
|
+
/** @type {Record<string, string> | undefined} */
|
|
13
|
+
static commands = undefined;
|
|
14
|
+
/** @type {string | undefined} */
|
|
15
|
+
static path = undefined;
|
|
16
|
+
/** @type {Record<string, any> | undefined} */
|
|
17
|
+
static relationships = undefined;
|
|
18
|
+
/**
|
|
19
|
+
* @param {object} args - Resource args.
|
|
20
|
+
* @param {import("../controller.js").default} args.controller - Frontend-model controller.
|
|
21
|
+
* @param {typeof import("../database/record/index.js").default} args.modelClass - Model class.
|
|
22
|
+
* @param {string} args.modelName - Model class name.
|
|
23
|
+
* @param {Record<string, any>} args.params - Request params.
|
|
24
|
+
* @param {import("../configuration-types.js").FrontendModelResourceConfiguration} args.resourceConfiguration - Normalized resource config.
|
|
25
|
+
*/
|
|
26
|
+
constructor({ controller, modelClass, modelName, params, resourceConfiguration }) {
|
|
27
|
+
this.controller = controller;
|
|
28
|
+
this.modelClassValue = modelClass;
|
|
29
|
+
this.modelNameValue = modelName;
|
|
30
|
+
this.paramsValue = params;
|
|
31
|
+
this.resourceConfigurationValue = resourceConfiguration;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @returns {import("../controller.js").default & {
|
|
35
|
+
* frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<any>,
|
|
36
|
+
* frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<any>,
|
|
37
|
+
* frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
|
|
38
|
+
* serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, any>>
|
|
39
|
+
* }} - Controller instance with frontend-model helpers.
|
|
40
|
+
*/
|
|
41
|
+
typedControllerInstance() {
|
|
42
|
+
return /** @type {any} */ (this.controller);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Static resource config.
|
|
46
|
+
*/
|
|
47
|
+
static resourceConfig() {
|
|
48
|
+
/** @type {import("../configuration-types.js").FrontendModelResourceConfiguration} */
|
|
49
|
+
const config = {
|
|
50
|
+
abilities: this.abilities || {},
|
|
51
|
+
attributes: this.attributes || []
|
|
52
|
+
};
|
|
53
|
+
if (this.attachments)
|
|
54
|
+
config.attachments = this.attachments;
|
|
55
|
+
if (this.commands)
|
|
56
|
+
config.commands = this.commands;
|
|
57
|
+
if (this.path)
|
|
58
|
+
config.path = this.path;
|
|
59
|
+
if (this.relationships)
|
|
60
|
+
config.relationships = this.relationships;
|
|
61
|
+
return config;
|
|
62
|
+
}
|
|
63
|
+
/** @returns {import("../controller.js").default} - Controller instance. */
|
|
64
|
+
controllerInstance() { return this.controller; }
|
|
65
|
+
/** @returns {typeof import("../database/record/index.js").default} - Model class. */
|
|
66
|
+
modelClass() { return this.modelClassValue; }
|
|
67
|
+
/** @returns {string} - Model name. */
|
|
68
|
+
modelName() { return this.modelNameValue; }
|
|
69
|
+
/** @returns {Record<string, any>} - Params. */
|
|
70
|
+
params() { return this.paramsValue; }
|
|
71
|
+
/** @returns {import("../configuration-types.js").FrontendModelResourceConfiguration} - Normalized resource config. */
|
|
72
|
+
resourceConfiguration() { return this.resourceConfigurationValue; }
|
|
73
|
+
/** @returns {string} - Primary key. */
|
|
74
|
+
primaryKey() { return this.modelClass().primaryKey(); }
|
|
75
|
+
/**
|
|
76
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Ability action.
|
|
77
|
+
* @returns {import("../database/query/model-class-query.js").default<any>} - Authorized query.
|
|
78
|
+
*/
|
|
79
|
+
authorizedQuery(action) {
|
|
80
|
+
return this.typedControllerInstance().frontendModelAuthorizedQuery(action);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
84
|
+
* @returns {boolean | Promise<boolean>} - Whether pluck is supported.
|
|
85
|
+
*/
|
|
86
|
+
supportsPluck(action) {
|
|
87
|
+
void action;
|
|
88
|
+
return Object.getPrototypeOf(this).records === FrontendModelBaseResource.prototype.records;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
92
|
+
* @returns {boolean | void | Promise<boolean | void>} - Continue processing unless false.
|
|
93
|
+
*/
|
|
94
|
+
beforeAction(action) {
|
|
95
|
+
void action;
|
|
96
|
+
// No-op by default.
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @returns {Promise<import("../database/record/index.js").default[]>} - Records for index action.
|
|
100
|
+
*/
|
|
101
|
+
async records() {
|
|
102
|
+
return await this.typedControllerInstance().frontendModelIndexQuery().toArray();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @param {"find" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
|
|
106
|
+
* @param {string | number} id - Record id.
|
|
107
|
+
* @returns {Promise<import("../database/record/index.js").default | null>} - Located model.
|
|
108
|
+
*/
|
|
109
|
+
async find(action, id) {
|
|
110
|
+
let query = this.authorizedQuery(action);
|
|
111
|
+
const preload = action === "find" ? this.typedControllerInstance().frontendModelPreload() : null;
|
|
112
|
+
if (preload) {
|
|
113
|
+
query = query.preload(preload);
|
|
114
|
+
}
|
|
115
|
+
return await query.findBy({ [this.primaryKey()]: id });
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @param {Record<string, any>} attributes - Create attributes.
|
|
119
|
+
* @returns {Promise<import("../database/record/index.js").default>} - Created model.
|
|
120
|
+
*/
|
|
121
|
+
async create(attributes) {
|
|
122
|
+
const model = new (this.modelClass())(attributes);
|
|
123
|
+
await model.save();
|
|
124
|
+
return model;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @param {import("../database/record/index.js").default} model - Created model.
|
|
128
|
+
* @returns {Promise<void>} - Cleanup after failed authorization.
|
|
129
|
+
*/
|
|
130
|
+
async handleUnauthorizedCreatedModel(model) {
|
|
131
|
+
await model.destroy();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* @param {import("../database/record/index.js").default} model - Existing model.
|
|
135
|
+
* @param {Record<string, any>} attributes - Update attributes.
|
|
136
|
+
* @returns {Promise<import("../database/record/index.js").default>} - Updated model.
|
|
137
|
+
*/
|
|
138
|
+
async update(model, attributes) {
|
|
139
|
+
model.assign(attributes);
|
|
140
|
+
await model.save();
|
|
141
|
+
return model;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @param {import("../database/record/index.js").default} model - Existing model.
|
|
145
|
+
* @returns {Promise<void>} - No return value.
|
|
146
|
+
*/
|
|
147
|
+
async destroy(model) {
|
|
148
|
+
await model.destroy();
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* @param {import("../database/record/index.js").default} model - Model to serialize.
|
|
152
|
+
* @param {"index" | "find" | "create" | "update"} [action] - Action.
|
|
153
|
+
* @returns {Promise<Record<string, any>>} - Serialized model payload.
|
|
154
|
+
*/
|
|
155
|
+
async serialize(model, action) {
|
|
156
|
+
void action;
|
|
157
|
+
return await this.typedControllerInstance().serializeFrontendModel(model);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcm9udGVuZC1tb2RlbC1yZXNvdXJjZS9iYXNlLXJlc291cmNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWjs7R0FFRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8seUJBQXlCO0lBQzVDLHlEQUF5RDtJQUN6RCxNQUFNLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtJQUM3QixpREFBaUQ7SUFDakQsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBQzlCLGlEQUFpRDtJQUNqRCxNQUFNLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQTtJQUMzQixpQ0FBaUM7SUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFBO0lBRWhDOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFDO1FBQzVFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFBO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFBO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQTtJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHVCQUF1QjtRQUNyQixPQUFPLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjO1FBQ25C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LEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRWxCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLO1FBQ3hDLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVTtRQUM1QixLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3hCLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRWxCLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSztRQUNqQixNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU07UUFDM0IsS0FBSyxNQUFNLENBQUE7UUFFWCxPQUFPLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGJhY2tlbmQgZnJvbnRlbmQtbW9kZWwgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcm9udGVuZE1vZGVsQmFzZVJlc291cmNlIHtcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgc3RyaW5nW10gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBhdHRyaWJ1dGVzID0gdW5kZWZpbmVkXG4gIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIGFiaWxpdGllcyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBhdHRhY2htZW50cyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWR9ICovXG4gIHN0YXRpYyBjb21tYW5kcyA9IHVuZGVmaW5lZFxuICAvKiogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH0gKi9cbiAgc3RhdGljIHBhdGggPSB1bmRlZmluZWRcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkfSAqL1xuICBzdGF0aWMgcmVsYXRpb25zaGlwcyA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIFJlc291cmNlIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vY29udHJvbGxlci5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbnRyb2xsZXIgLSBGcm9udGVuZC1tb2RlbCBjb250cm9sbGVyLlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLm1vZGVsTmFtZSAtIE1vZGVsIGNsYXNzIG5hbWUuXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXJncy5wYXJhbXMgLSBSZXF1ZXN0IHBhcmFtcy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb259IGFyZ3MucmVzb3VyY2VDb25maWd1cmF0aW9uIC0gTm9ybWFsaXplZCByZXNvdXJjZSBjb25maWcuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29udHJvbGxlciwgbW9kZWxDbGFzcywgbW9kZWxOYW1lLCBwYXJhbXMsIHJlc291cmNlQ29uZmlndXJhdGlvbn0pIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyXG4gICAgdGhpcy5tb2RlbENsYXNzVmFsdWUgPSBtb2RlbENsYXNzXG4gICAgdGhpcy5tb2RlbE5hbWVWYWx1ZSA9IG1vZGVsTmFtZVxuICAgIHRoaXMucGFyYW1zVmFsdWUgPSBwYXJhbXNcbiAgICB0aGlzLnJlc291cmNlQ29uZmlndXJhdGlvblZhbHVlID0gcmVzb3VyY2VDb25maWd1cmF0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdCAmIHtcbiAgICogICBmcm9udGVuZE1vZGVsQXV0aG9yaXplZFF1ZXJ5OiAoYWN0aW9uOiBcImluZGV4XCIgfCBcImZpbmRcIiB8IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIgfCBcImF0dGFjaFwiIHwgXCJkb3dubG9hZFwiIHwgXCJ1cmxcIikgPT4gaW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+LFxuICAgKiAgIGZyb250ZW5kTW9kZWxJbmRleFF1ZXJ5OiAoKSA9PiBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PGFueT4sXG4gICAqICAgZnJvbnRlbmRNb2RlbFByZWxvYWQ6ICgpID0+IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmQgfCBudWxsLFxuICAgKiAgIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWw6IChtb2RlbDogaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj5cbiAgICogfX0gLSBDb250cm9sbGVyIGluc3RhbmNlIHdpdGggZnJvbnRlbmQtbW9kZWwgaGVscGVycy5cbiAgICovXG4gIHR5cGVkQ29udHJvbGxlckluc3RhbmNlKCkge1xuICAgIHJldHVybiAvKiogQHR5cGUge2FueX0gKi8gKHRoaXMuY29udHJvbGxlcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Gcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9ufSAtIFN0YXRpYyByZXNvdXJjZSBjb25maWcuXG4gICAqL1xuICBzdGF0aWMgcmVzb3VyY2VDb25maWcoKSB7XG4gICAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkZyb250ZW5kTW9kZWxSZXNvdXJjZUNvbmZpZ3VyYXRpb259ICovXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgYWJpbGl0aWVzOiB0aGlzLmFiaWxpdGllcyB8fCB7fSxcbiAgICAgIGF0dHJpYnV0ZXM6IHRoaXMuYXR0cmlidXRlcyB8fCBbXVxuICAgIH1cblxuICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzKSBjb25maWcuYXR0YWNobWVudHMgPSB0aGlzLmF0dGFjaG1lbnRzXG4gICAgaWYgKHRoaXMuY29tbWFuZHMpIGNvbmZpZy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHNcbiAgICBpZiAodGhpcy5wYXRoKSBjb25maWcucGF0aCA9IHRoaXMucGF0aFxuICAgIGlmICh0aGlzLnJlbGF0aW9uc2hpcHMpIGNvbmZpZy5yZWxhdGlvbnNoaXBzID0gdGhpcy5yZWxhdGlvbnNoaXBzXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcIi4uL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdH0gLSBDb250cm9sbGVyIGluc3RhbmNlLiAqL1xuICBjb250cm9sbGVySW5zdGFuY2UoKSB7IHJldHVybiB0aGlzLmNvbnRyb2xsZXIgfVxuXG4gIC8qKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSAtIE1vZGVsIGNsYXNzLiAqL1xuICBtb2RlbENsYXNzKCkgeyByZXR1cm4gdGhpcy5tb2RlbENsYXNzVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAtIE1vZGVsIG5hbWUuICovXG4gIG1vZGVsTmFtZSgpIHsgcmV0dXJuIHRoaXMubW9kZWxOYW1lVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgYW55Pn0gLSBQYXJhbXMuICovXG4gIHBhcmFtcygpIHsgcmV0dXJuIHRoaXMucGFyYW1zVmFsdWUgfVxuXG4gIC8qKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5Gcm9udGVuZE1vZGVsUmVzb3VyY2VDb25maWd1cmF0aW9ufSAtIE5vcm1hbGl6ZWQgcmVzb3VyY2UgY29uZmlnLiAqL1xuICByZXNvdXJjZUNvbmZpZ3VyYXRpb24oKSB7IHJldHVybiB0aGlzLnJlc291cmNlQ29uZmlndXJhdGlvblZhbHVlIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBQcmltYXJ5IGtleS4gKi9cbiAgcHJpbWFyeUtleSgpIHsgcmV0dXJuIHRoaXMubW9kZWxDbGFzcygpLnByaW1hcnlLZXkoKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCJ9IGFjdGlvbiAtIEFiaWxpdHkgYWN0aW9uLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDxhbnk+fSAtIEF1dGhvcml6ZWQgcXVlcnkuXG4gICAqL1xuICBhdXRob3JpemVkUXVlcnkoYWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZWRDb250cm9sbGVySW5zdGFuY2UoKS5mcm9udGVuZE1vZGVsQXV0aG9yaXplZFF1ZXJ5KGFjdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1wiaW5kZXhcIiB8IFwiZmluZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiB8IFwiYXR0YWNoXCIgfCBcImRvd25sb2FkXCIgfCBcInVybFwifSBhY3Rpb24gLSBBY3Rpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHBsdWNrIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIHN1cHBvcnRzUGx1Y2soYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykucmVjb3JkcyA9PT0gRnJvbnRlbmRNb2RlbEJhc2VSZXNvdXJjZS5wcm90b3R5cGUucmVjb3Jkc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiIHwgXCJhdHRhY2hcIiB8IFwiZG93bmxvYWRcIiB8IFwidXJsXCJ9IGFjdGlvbiAtIEFjdGlvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW4gfCB2b2lkIHwgUHJvbWlzZTxib29sZWFuIHwgdm9pZD59IC0gQ29udGludWUgcHJvY2Vzc2luZyB1bmxlc3MgZmFsc2UuXG4gICAqL1xuICBiZWZvcmVBY3Rpb24oYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIC8vIE5vLW9wIGJ5IGRlZmF1bHQuXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHRbXT59IC0gUmVjb3JkcyBmb3IgaW5kZXggYWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgcmVjb3JkcygpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50eXBlZENvbnRyb2xsZXJJbnN0YW5jZSgpLmZyb250ZW5kTW9kZWxJbmRleFF1ZXJ5KCkudG9BcnJheSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtcImZpbmRcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiB8IFwiYXR0YWNoXCIgfCBcImRvd25sb2FkXCIgfCBcInVybFwifSBhY3Rpb24gLSBBY3Rpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBpZCAtIFJlY29yZCBpZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQgfCBudWxsPn0gLSBMb2NhdGVkIG1vZGVsLlxuICAgKi9cbiAgYXN5bmMgZmluZChhY3Rpb24sIGlkKSB7XG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5hdXRob3JpemVkUXVlcnkoYWN0aW9uKVxuICAgIGNvbnN0IHByZWxvYWQgPSBhY3Rpb24gPT09IFwiZmluZFwiID8gdGhpcy50eXBlZENvbnRyb2xsZXJJbnN0YW5jZSgpLmZyb250ZW5kTW9kZWxQcmVsb2FkKCkgOiBudWxsXG5cbiAgICBpZiAocHJlbG9hZCkge1xuICAgICAgcXVlcnkgPSBxdWVyeS5wcmVsb2FkKHByZWxvYWQpXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHF1ZXJ5LmZpbmRCeSh7W3RoaXMucHJpbWFyeUtleSgpXTogaWR9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gYXR0cmlidXRlcyAtIENyZWF0ZSBhdHRyaWJ1dGVzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdD59IC0gQ3JlYXRlZCBtb2RlbC5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZShhdHRyaWJ1dGVzKSB7XG4gICAgY29uc3QgbW9kZWwgPSBuZXcgKHRoaXMubW9kZWxDbGFzcygpKShhdHRyaWJ1dGVzKVxuICAgIGF3YWl0IG1vZGVsLnNhdmUoKVxuXG4gICAgcmV0dXJuIG1vZGVsXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBDcmVhdGVkIG1vZGVsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBDbGVhbnVwIGFmdGVyIGZhaWxlZCBhdXRob3JpemF0aW9uLlxuICAgKi9cbiAgYXN5bmMgaGFuZGxlVW5hdXRob3JpemVkQ3JlYXRlZE1vZGVsKG1vZGVsKSB7XG4gICAgYXdhaXQgbW9kZWwuZGVzdHJveSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBFeGlzdGluZyBtb2RlbC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBhdHRyaWJ1dGVzIC0gVXBkYXRlIGF0dHJpYnV0ZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0Pn0gLSBVcGRhdGVkIG1vZGVsLlxuICAgKi9cbiAgYXN5bmMgdXBkYXRlKG1vZGVsLCBhdHRyaWJ1dGVzKSB7XG4gICAgbW9kZWwuYXNzaWduKGF0dHJpYnV0ZXMpXG4gICAgYXdhaXQgbW9kZWwuc2F2ZSgpXG5cbiAgICByZXR1cm4gbW9kZWxcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbCAtIEV4aXN0aW5nIG1vZGVsLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBhc3luYyBkZXN0cm95KG1vZGVsKSB7XG4gICAgYXdhaXQgbW9kZWwuZGVzdHJveSgpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9yZWNvcmQvaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWwgLSBNb2RlbCB0byBzZXJpYWxpemUuXG4gICAqIEBwYXJhbSB7XCJpbmRleFwiIHwgXCJmaW5kXCIgfCBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIn0gW2FjdGlvbl0gLSBBY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSAtIFNlcmlhbGl6ZWQgbW9kZWwgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIHNlcmlhbGl6ZShtb2RlbCwgYWN0aW9uKSB7XG4gICAgdm9pZCBhY3Rpb25cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnR5cGVkQ29udHJvbGxlckluc3RhbmNlKCkuc2VyaWFsaXplRnJvbnRlbmRNb2RlbChtb2RlbClcbiAgfVxufVxuIl19
|
|
@@ -612,21 +612,9 @@ export type FrontendModelResourceConfig = {
|
|
|
612
612
|
};
|
|
613
613
|
export type FrontendModelTransportConfig = {
|
|
614
614
|
/**
|
|
615
|
-
* - Optional
|
|
615
|
+
* - Optional frontend-model URL. For shared-endpoint models this should be the full shared endpoint (for example `"/frontend-models"` or `"https://example.com/frontend-models"`). For legacy direct-resource models this can be the backend origin/prefix.
|
|
616
616
|
*/
|
|
617
|
-
|
|
618
|
-
/**
|
|
619
|
-
* - Optional resolver used per request for dynamic base URL.
|
|
620
|
-
*/
|
|
621
|
-
baseUrlResolver?: (() => string | undefined | null);
|
|
622
|
-
/**
|
|
623
|
-
* - Optional path prefix inserted between base URL and resource path.
|
|
624
|
-
*/
|
|
625
|
-
pathPrefix?: string;
|
|
626
|
-
/**
|
|
627
|
-
* - Optional resolver used per request for dynamic path prefix.
|
|
628
|
-
*/
|
|
629
|
-
pathPrefixResolver?: (() => string | undefined | null);
|
|
617
|
+
url?: string | (() => string | undefined | null);
|
|
630
618
|
/**
|
|
631
619
|
* - Optional credentials mode forwarded to fetch.
|
|
632
620
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/base.js"],"names":[],"mappings":"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"}
|