@google-cloud/storage-control 0.6.0 → 0.7.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 +59 -74
- package/build/protos/google/storage/v2/storage.proto +3161 -0
- package/build/protos/protos.d.ts +10641 -0
- package/build/protos/protos.js +28904 -0
- package/build/protos/protos.json +4286 -4
- package/build/src/index.d.ts +2 -3
- package/build/src/index.js +3 -3
- package/build/src/index.js.map +1 -1
- package/build/src/storage_control_client.d.ts +2035 -0
- package/build/src/storage_control_client.js +1387 -0
- package/build/src/storage_control_client.js.map +1 -0
- package/build/src/util/ast_utils.d.ts +22 -0
- package/build/src/util/ast_utils.js +352 -0
- package/build/src/util/ast_utils.js.map +1 -0
- package/build/src/util/index_fix_utils.d.ts +15 -0
- package/build/src/util/index_fix_utils.js +86 -0
- package/build/src/util/index_fix_utils.js.map +1 -0
- package/build/src/util/proto_utils.d.ts +13 -0
- package/build/src/util/proto_utils.js +53 -0
- package/build/src/util/proto_utils.js.map +1 -0
- package/build/src/util/storage_control_utils.d.ts +1 -0
- package/build/src/util/storage_control_utils.js +31 -0
- package/build/src/util/storage_control_utils.js.map +1 -0
- package/build/src/util/uber_client_builder.d.ts +12 -0
- package/build/src/util/uber_client_builder.js +187 -0
- package/build/src/util/uber_client_builder.js.map +1 -0
- package/build/src/v2/index.d.ts +1 -0
- package/build/src/v2/index.js +3 -1
- package/build/src/v2/index.js.map +1 -1
- package/build/src/v2/storage_client.d.ts +614 -0
- package/build/src/v2/storage_client.js +911 -0
- package/build/src/v2/storage_client.js.map +1 -0
- package/build/src/v2/storage_client_config.json +65 -0
- package/build/src/v2/storage_control_client.d.ts +138 -138
- package/build/src/v2/storage_control_client.js +485 -231
- package/build/src/v2/storage_control_client.js.map +1 -1
- package/build/src/v2/storage_proto_list.json +3 -0
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage_control_client.js","sourceRoot":"","sources":["../../src/storage_control_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function loops through the files and calls the AST function on them.
|
|
3
|
+
*
|
|
4
|
+
* @param {string[]} files - A list of file paths to process.
|
|
5
|
+
* @param {string[]} clients - A list of client names to process.
|
|
6
|
+
* @returns {string} The generated source code for all the methods.
|
|
7
|
+
*/
|
|
8
|
+
export declare function astHelper(files: string[], clients: string[]): string;
|
|
9
|
+
/**
|
|
10
|
+
* This function converts client types to the names we'll use for variables.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} client - The name of the client.
|
|
13
|
+
* @returns {string} The name of the client in camel case.
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseClientName(client: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* This function returns all the public property declarations in a file.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} file - The path to the file to process.
|
|
20
|
+
* @returns {Map<string, string>} A map of public property names to their full text.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPropertyDeclarations(file: string): Map<string, string>;
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025 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
|
+
// https://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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.astHelper = astHelper;
|
|
17
|
+
exports.parseClientName = parseClientName;
|
|
18
|
+
exports.getPropertyDeclarations = getPropertyDeclarations;
|
|
19
|
+
const ts = require("typescript");
|
|
20
|
+
const EXCLUDED_FUNCTION_TERMS = [];
|
|
21
|
+
const AST_TYPES_TO_INCLUDE = ['MethodDeclaration', 'GetAccessor'];
|
|
22
|
+
let foundNodes = [];
|
|
23
|
+
const methodDocstrings = new Map();
|
|
24
|
+
let sourceFile;
|
|
25
|
+
/**
|
|
26
|
+
* This is a helper function to get the escaped text from a AST node.
|
|
27
|
+
* The `name` property of a MethodDeclaration or Parameter can be one of several types.
|
|
28
|
+
* In our use case, we know it's an Identifier, so we can safely cast it to get the
|
|
29
|
+
* human-readable name.
|
|
30
|
+
*
|
|
31
|
+
* @param {ts.PropertyName | ts.BindingName} name - The node to get the name from.
|
|
32
|
+
* @returns {string} The escaped text of the node's name.
|
|
33
|
+
*/
|
|
34
|
+
function getEscapedText(name) {
|
|
35
|
+
name = name;
|
|
36
|
+
const nameEscapedText = name.escapedText;
|
|
37
|
+
return nameEscapedText;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* This is a helper function to generate the overloaded method signatures for a given method.
|
|
41
|
+
*
|
|
42
|
+
* @param {ts.MethodDeclaration | ts.GetAccessorDeclaration} node - The AST node for the method.
|
|
43
|
+
* @returns {string} The overloaded method signatures.
|
|
44
|
+
*/
|
|
45
|
+
function getOverloadedMethod(node) {
|
|
46
|
+
if (ts.isGetAccessorDeclaration(node) || !node.body) {
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
const functionName = getEscapedText(node.name);
|
|
50
|
+
const parameters = node.parameters;
|
|
51
|
+
// We are looking for standard GAPIC methods which have this signature pattern
|
|
52
|
+
if (parameters.length < 2 || parameters.length > 3) {
|
|
53
|
+
return '';
|
|
54
|
+
}
|
|
55
|
+
const requestParam = parameters[0];
|
|
56
|
+
const optionsOrCallbackParam = parameters[1];
|
|
57
|
+
// Not a standard GAPIC method if the params don't have types
|
|
58
|
+
if (!requestParam.type || !optionsOrCallbackParam.type || !node.type) {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
const requestParamName = getEscapedText(requestParam.name);
|
|
62
|
+
const requestType = requestParam.type.getText(sourceFile);
|
|
63
|
+
// Extract Promise and Callback types from return type
|
|
64
|
+
let promiseReturnType = '';
|
|
65
|
+
if (ts.isUnionTypeNode(node.type)) {
|
|
66
|
+
const promiseTypeNode = node.type.types.find(t => t.kind === ts.SyntaxKind.TypeReference &&
|
|
67
|
+
t.getText(sourceFile).startsWith('Promise'));
|
|
68
|
+
if (promiseTypeNode) {
|
|
69
|
+
promiseReturnType = promiseTypeNode.getText(sourceFile);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else if (node.type.getText(sourceFile).startsWith('Promise')) {
|
|
73
|
+
promiseReturnType = node.type.getText(sourceFile);
|
|
74
|
+
}
|
|
75
|
+
// If there's no promise return type, it's not a method we need to overload.
|
|
76
|
+
if (!promiseReturnType) {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
// Extract Callback type from the `optionsOrCallback` parameter
|
|
80
|
+
let callbackType = '';
|
|
81
|
+
if (ts.isUnionTypeNode(optionsOrCallbackParam.type)) {
|
|
82
|
+
const callbackTypeNode = optionsOrCallbackParam.type.types.find(t => t.kind === ts.SyntaxKind.TypeReference &&
|
|
83
|
+
(t.getText(sourceFile).startsWith('Callback') ||
|
|
84
|
+
t.getText(sourceFile).startsWith('PaginationCallback')));
|
|
85
|
+
if (callbackTypeNode) {
|
|
86
|
+
callbackType = callbackTypeNode.getText(sourceFile);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// If there's no callback type, it's not a method we need to overload.
|
|
90
|
+
if (!callbackType) {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
93
|
+
// Make request param non-optional for callback signatures
|
|
94
|
+
const requiredRequestType = requestType.replace('?', '');
|
|
95
|
+
const promiseSignature = `\n${functionName}(${requestParamName}?: ${requestType}, options?: CallOptions): ${promiseReturnType};`;
|
|
96
|
+
const callbackWithOptionsSignature = `\n${functionName}(${requestParamName}: ${requiredRequestType}, options: CallOptions, callback: ${callbackType}): void;`;
|
|
97
|
+
const callbackWithoutOptionsSignature = `\n${functionName}(${requestParamName}: ${requiredRequestType}, callback: ${callbackType}): void;`;
|
|
98
|
+
return (promiseSignature +
|
|
99
|
+
callbackWithOptionsSignature +
|
|
100
|
+
callbackWithoutOptionsSignature);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* This is a helper function to get the kind of a AST node.
|
|
104
|
+
*
|
|
105
|
+
* @param {ts.Node} node - The node to get the kind from.
|
|
106
|
+
* @returns {string} The kind of the node.
|
|
107
|
+
*/
|
|
108
|
+
function getKind(node) {
|
|
109
|
+
if (!node) {
|
|
110
|
+
return '';
|
|
111
|
+
}
|
|
112
|
+
return ts.SyntaxKind[node.kind];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* This function recursively traverses the AST of a file and extracts all the
|
|
116
|
+
* method declarations that we want to include in our generated client.
|
|
117
|
+
*
|
|
118
|
+
* @param {ts.Node} node - The current node in the AST.
|
|
119
|
+
* @param {string} client - The name of the client being processed.
|
|
120
|
+
*/
|
|
121
|
+
function extract(node, client) {
|
|
122
|
+
const kind = getKind(node);
|
|
123
|
+
if (AST_TYPES_TO_INCLUDE.includes(kind)) {
|
|
124
|
+
if (ts.isMethodDeclaration(node) || ts.isGetAccessorDeclaration(node)) {
|
|
125
|
+
const nameEscapedText = getEscapedText(node.name);
|
|
126
|
+
if (methodDocstrings.get(nameEscapedText) === undefined) {
|
|
127
|
+
const commentRanges = ts.getLeadingCommentRanges(sourceFile.getFullText(), node.getFullStart());
|
|
128
|
+
let docString = '';
|
|
129
|
+
if (commentRanges) {
|
|
130
|
+
commentRanges.map(r => {
|
|
131
|
+
docString = docString.concat(sourceFile.getFullText().slice(r.pos, r.end));
|
|
132
|
+
if (r.hasTrailingNewLine) {
|
|
133
|
+
docString = docString.concat('\n');
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
methodDocstrings.set(nameEscapedText, docString);
|
|
138
|
+
}
|
|
139
|
+
if (node.body) {
|
|
140
|
+
foundNodes.push([node.name, node]);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
ts.forEachChild(node, childNode => {
|
|
145
|
+
extract(childNode, client);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* This function contains the logic to traverse each file and pull in the nodes
|
|
150
|
+
* from the AST that contain elements we want to use. It then generates the
|
|
151
|
+
* source code for the methods of our uber client.
|
|
152
|
+
*
|
|
153
|
+
* @param {string} file - The path to the file to process.
|
|
154
|
+
* @param {string} client - The name of the client being processed.
|
|
155
|
+
* @returns {string} The generated source code for the methods.
|
|
156
|
+
*/
|
|
157
|
+
function ast(file, client) {
|
|
158
|
+
const program = ts.createProgram([file], { allowJs: true });
|
|
159
|
+
sourceFile = program.getSourceFile(file);
|
|
160
|
+
if (!sourceFile) {
|
|
161
|
+
throw new Error(`Could not find source file: ${file}`);
|
|
162
|
+
}
|
|
163
|
+
// Run the extract function with the script's arguments
|
|
164
|
+
extract(sourceFile, client);
|
|
165
|
+
program.getTypeChecker();
|
|
166
|
+
return foundNodes.map(f => {
|
|
167
|
+
let output = '';
|
|
168
|
+
const [name, node] = f;
|
|
169
|
+
const escapedName = getEscapedText(name);
|
|
170
|
+
// create function name
|
|
171
|
+
const functionName = `${escapedName}`;
|
|
172
|
+
let isExcludedFunction = false;
|
|
173
|
+
for (const term of EXCLUDED_FUNCTION_TERMS) {
|
|
174
|
+
if (functionName.search(term) >= 0) {
|
|
175
|
+
isExcludedFunction = true;
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const isStatic = node.modifiers?.some(m => m.kind === ts.SyntaxKind.StaticKeyword);
|
|
180
|
+
if (!isExcludedFunction) {
|
|
181
|
+
const docString = methodDocstrings.get(functionName);
|
|
182
|
+
output = output.concat(`\n\n${docString}`);
|
|
183
|
+
output = output.concat(getOverloadedMethod(node));
|
|
184
|
+
if (isStatic) {
|
|
185
|
+
output = output.concat('\tstatic ');
|
|
186
|
+
}
|
|
187
|
+
if (ts.isGetAccessorDeclaration(node)) {
|
|
188
|
+
output = output.concat('get ');
|
|
189
|
+
}
|
|
190
|
+
output = output.concat(`\t${functionName}(`);
|
|
191
|
+
// add parameters - pull in their name, whether they're optional or not, and their type
|
|
192
|
+
let parametersList = '';
|
|
193
|
+
let argumentsList = '';
|
|
194
|
+
if (ts.isMethodDeclaration(node)) {
|
|
195
|
+
for (let i = 0; i < node.parameters.length; i++) {
|
|
196
|
+
const name = getEscapedText(node.parameters[i].name);
|
|
197
|
+
const questionToken = node.parameters[i].questionToken ? '?' : '';
|
|
198
|
+
const typeString = node.parameters[i].type?.getFullText();
|
|
199
|
+
let parameter = `${name}${questionToken}: ${typeString}`;
|
|
200
|
+
parametersList = parametersList.concat(name);
|
|
201
|
+
if (name === 'optionsOrCallback') {
|
|
202
|
+
argumentsList = argumentsList.concat('options');
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
argumentsList = argumentsList.concat(name);
|
|
206
|
+
}
|
|
207
|
+
if (i !== node.parameters.length - 1) {
|
|
208
|
+
parameter += ',';
|
|
209
|
+
parametersList += ',';
|
|
210
|
+
argumentsList += ',';
|
|
211
|
+
}
|
|
212
|
+
output = output.concat(`\n\t\t${parameter}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
output = output.concat(')');
|
|
216
|
+
if (node.type) {
|
|
217
|
+
output = output.concat(`:${node.type.getFullText()}`);
|
|
218
|
+
}
|
|
219
|
+
const clientName = parseClientName(client);
|
|
220
|
+
// call underlying client function
|
|
221
|
+
if (node.body) {
|
|
222
|
+
let body = '';
|
|
223
|
+
if (ts.isGetAccessorDeclaration(node)) {
|
|
224
|
+
if (isStatic) {
|
|
225
|
+
body = `
|
|
226
|
+
return ${client}.${functionName};`;
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
body = `
|
|
230
|
+
return this.${clientName}.${functionName};`;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else if (functionName === 'close') {
|
|
234
|
+
body = `
|
|
235
|
+
return Promise.all([
|
|
236
|
+
this.storageControlInternal.close(),
|
|
237
|
+
this.storageClient.close(),
|
|
238
|
+
]).then(() => {});
|
|
239
|
+
`;
|
|
240
|
+
}
|
|
241
|
+
else if (functionName === 'getProjectId') {
|
|
242
|
+
body = `
|
|
243
|
+
if (callback) {
|
|
244
|
+
this.${clientName}.getProjectId(callback);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
return this.${clientName}.getProjectId();
|
|
248
|
+
`;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
const hasRequestArg = node.parameters.some(p => getEscapedText(p.name) === 'request');
|
|
252
|
+
// If there's no 'request' parameter, it's a simple helper method.
|
|
253
|
+
if (!hasRequestArg ||
|
|
254
|
+
functionName.endsWith('Stream') ||
|
|
255
|
+
functionName.endsWith('Async')) {
|
|
256
|
+
body = `
|
|
257
|
+
return this.${clientName}.${functionName}(${argumentsList});`;
|
|
258
|
+
}
|
|
259
|
+
// Otherwise, it's a GAPIC method (streaming or standard).
|
|
260
|
+
else {
|
|
261
|
+
body = `
|
|
262
|
+
request = request || {};
|
|
263
|
+
let options: any;
|
|
264
|
+
if (typeof optionsOrCallback === 'function' && callback === undefined) {
|
|
265
|
+
callback = optionsOrCallback;
|
|
266
|
+
options = {};
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
options = optionsOrCallback as any;
|
|
270
|
+
}
|
|
271
|
+
if (callback === undefined){
|
|
272
|
+
return this.${clientName}.${functionName}(request, options);
|
|
273
|
+
}
|
|
274
|
+
return this.${clientName}.${functionName}(${argumentsList});
|
|
275
|
+
`;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
output = output.concat(`{\n${body}\n}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const functionKey = isStatic ? `static_${functionName}` : functionName;
|
|
282
|
+
return [functionKey, output];
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* This function loops through the files and calls the AST function on them.
|
|
287
|
+
*
|
|
288
|
+
* @param {string[]} files - A list of file paths to process.
|
|
289
|
+
* @param {string[]} clients - A list of client names to process.
|
|
290
|
+
* @returns {string} The generated source code for all the methods.
|
|
291
|
+
*/
|
|
292
|
+
function astHelper(files, clients) {
|
|
293
|
+
const functions = new Map();
|
|
294
|
+
for (const f in files) {
|
|
295
|
+
foundNodes = [];
|
|
296
|
+
const client = clients[f];
|
|
297
|
+
const newFunctions = ast(files[f], client);
|
|
298
|
+
for (const [name, source] of newFunctions) {
|
|
299
|
+
if (functions.has(name)) {
|
|
300
|
+
if (client === 'storageControlInternalClient') {
|
|
301
|
+
functions.set(name, source);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
functions.set(name, source);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
let output = '';
|
|
310
|
+
functions.forEach(source => {
|
|
311
|
+
output += source;
|
|
312
|
+
});
|
|
313
|
+
return output;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* This function converts client types to the names we'll use for variables.
|
|
317
|
+
*
|
|
318
|
+
* @param {string} client - The name of the client.
|
|
319
|
+
* @returns {string} The name of the client in camel case.
|
|
320
|
+
*/
|
|
321
|
+
function parseClientName(client) {
|
|
322
|
+
return client.charAt(0).toLowerCase() + client.slice(1);
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* This function returns all the public property declarations in a file.
|
|
326
|
+
*
|
|
327
|
+
* @param {string} file - The path to the file to process.
|
|
328
|
+
* @returns {Map<string, string>} A map of public property names to their full text.
|
|
329
|
+
*/
|
|
330
|
+
function getPropertyDeclarations(file) {
|
|
331
|
+
const program = ts.createProgram([file], { allowJs: true });
|
|
332
|
+
const sourceFile = program.getSourceFile(file);
|
|
333
|
+
if (!sourceFile) {
|
|
334
|
+
throw new Error(`Could not find source file: ${file}`);
|
|
335
|
+
}
|
|
336
|
+
const properties = new Map();
|
|
337
|
+
function visit(node) {
|
|
338
|
+
if (ts.isPropertyDeclaration(node)) {
|
|
339
|
+
const isPrivate = node.modifiers?.some(m => m.kind === ts.SyntaxKind.PrivateKeyword);
|
|
340
|
+
if (!isPrivate) {
|
|
341
|
+
const propertyName = getEscapedText(node.name);
|
|
342
|
+
if (!propertyName.startsWith('_') && !propertyName.startsWith('#')) {
|
|
343
|
+
properties.set(propertyName, node.getFullText(sourceFile));
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
ts.forEachChild(node, visit);
|
|
348
|
+
}
|
|
349
|
+
visit(sourceFile);
|
|
350
|
+
return properties;
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=ast_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast_utils.js","sourceRoot":"","sources":["../../../src/util/ast_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixes the content of an index file by overwriting it with a predefined correct content.
|
|
3
|
+
* This function is specifically designed to correct `synthtool`-generated index files
|
|
4
|
+
* to ensure the proper export of `v2`, `StorageControlClient`, and `protos`.
|
|
5
|
+
*
|
|
6
|
+
* @param filePath The path to the index file to fix, relative to the project root.
|
|
7
|
+
*/
|
|
8
|
+
export declare function fixIndexFile(filePath: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* Fixes the v2 index file by ensuring the `StorageClient` is exported.
|
|
11
|
+
* If the export statement is missing, it appends it to the file.
|
|
12
|
+
*
|
|
13
|
+
* @param filePath The path to the v2 index file to fix, relative to the current directory.
|
|
14
|
+
*/
|
|
15
|
+
export declare function fixV2Index(filePath: string): void;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025 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
|
+
// https://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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.fixIndexFile = fixIndexFile;
|
|
17
|
+
exports.fixV2Index = fixV2Index;
|
|
18
|
+
const fs = require("fs");
|
|
19
|
+
const path = require("path");
|
|
20
|
+
/**
|
|
21
|
+
* Fixes the content of an index file by overwriting it with a predefined correct content.
|
|
22
|
+
* This function is specifically designed to correct `synthtool`-generated index files
|
|
23
|
+
* to ensure the proper export of `v2`, `StorageControlClient`, and `protos`.
|
|
24
|
+
*
|
|
25
|
+
* @param filePath The path to the index file to fix, relative to the project root.
|
|
26
|
+
*/
|
|
27
|
+
function fixIndexFile(filePath) {
|
|
28
|
+
const fullPath = path.join(__dirname, '..', '..', filePath);
|
|
29
|
+
const correctContent = `// Copyright 2025 Google LLC
|
|
30
|
+
//
|
|
31
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
32
|
+
// you may not use this file except in compliance with the License.
|
|
33
|
+
// You may obtain a copy of the License at
|
|
34
|
+
//
|
|
35
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
|
36
|
+
//
|
|
37
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
38
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
39
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
40
|
+
// See the License for the specific language governing permissions and
|
|
41
|
+
// limitations under the License.
|
|
42
|
+
//
|
|
43
|
+
// ** This file is automatically generated by synthtool. **
|
|
44
|
+
// ** https://github.com/googleapis/synthtool **
|
|
45
|
+
// ** All changes to this file may be overwritten. **
|
|
46
|
+
|
|
47
|
+
import * as v2 from './v2';
|
|
48
|
+
import {StorageControlClient} from './storage_control_client';
|
|
49
|
+
|
|
50
|
+
export {v2, StorageControlClient};
|
|
51
|
+
export default {v2, StorageControlClient};
|
|
52
|
+
import * as protos from '../protos/protos';
|
|
53
|
+
export {protos};
|
|
54
|
+
`;
|
|
55
|
+
try {
|
|
56
|
+
fs.writeFileSync(fullPath, correctContent, 'utf8');
|
|
57
|
+
console.log(`Successfully fixed: ${fullPath}`);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error(`Error writing to file ${fullPath}:`, err);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Fixes the v2 index file by ensuring the `StorageClient` is exported.
|
|
65
|
+
* If the export statement is missing, it appends it to the file.
|
|
66
|
+
*
|
|
67
|
+
* @param filePath The path to the v2 index file to fix, relative to the current directory.
|
|
68
|
+
*/
|
|
69
|
+
function fixV2Index(filePath) {
|
|
70
|
+
// TODO: this function can be removed when the nodejs_gapic_combined_pkg correctly exports from both libraries.
|
|
71
|
+
const fullPath = path.join(__dirname, '..', filePath);
|
|
72
|
+
if (fs.existsSync(fullPath)) {
|
|
73
|
+
try {
|
|
74
|
+
const data = fs.readFileSync(fullPath, 'utf8');
|
|
75
|
+
if (!data.includes("export {StorageClient} from './storage_client';")) {
|
|
76
|
+
const result = data + "\nexport {StorageClient} from './storage_client';";
|
|
77
|
+
fs.writeFileSync(fullPath, result, 'utf8');
|
|
78
|
+
console.log(`Successfully fixed: ${fullPath}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.error(`Error processing file ${fullPath}:`, err);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=index_fix_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index_fix_utils.js","sourceRoot":"","sources":["../../../src/util/index_fix_utils.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAYjC,oCAmCC;AAQD,gCAgBC;AArED,yBAAyB;AACzB,6BAA6B;AAE7B;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxB,CAAC;IAEA,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,QAAgB;IACzC,+GAA+G;IAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAAE,CAAC;gBACtE,MAAM,MAAM,GACV,IAAI,GAAG,mDAAmD,CAAC;gBAC7D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const filesToUpdate: string[];
|
|
2
|
+
export interface Replacement {
|
|
3
|
+
pattern: RegExp;
|
|
4
|
+
replacement: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const replacements: Replacement[];
|
|
7
|
+
/**
|
|
8
|
+
* Cleans up references to Object in storage protos by replacing the reference with the replacement.
|
|
9
|
+
* This is functionally equivalent to sed -i -E 's,\bObject\b,StorageObject,g' ${filePaths}
|
|
10
|
+
* @param {string[]} filePaths - An array of file paths to update.
|
|
11
|
+
* @param {Replacement[]} replacements - An array of replacement objects.
|
|
12
|
+
*/
|
|
13
|
+
export declare function cleanObjectReferences(filePaths: string[], replacements: Replacement[]): void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2025 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
|
+
// https://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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.replacements = exports.filesToUpdate = void 0;
|
|
17
|
+
exports.cleanObjectReferences = cleanObjectReferences;
|
|
18
|
+
const fs = require("fs");
|
|
19
|
+
const path = require("path");
|
|
20
|
+
exports.filesToUpdate = [
|
|
21
|
+
'protos/google/storage/v2/storage.proto',
|
|
22
|
+
];
|
|
23
|
+
exports.replacements = [
|
|
24
|
+
{
|
|
25
|
+
pattern: /\bObject\b/g,
|
|
26
|
+
replacement: 'StorageObject',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* Cleans up references to Object in storage protos by replacing the reference with the replacement.
|
|
31
|
+
* This is functionally equivalent to sed -i -E 's,\bObject\b,StorageObject,g' ${filePaths}
|
|
32
|
+
* @param {string[]} filePaths - An array of file paths to update.
|
|
33
|
+
* @param {Replacement[]} replacements - An array of replacement objects.
|
|
34
|
+
*/
|
|
35
|
+
function cleanObjectReferences(filePaths, replacements) {
|
|
36
|
+
filePaths.forEach(filePath => {
|
|
37
|
+
const fullPath = path.join(__dirname, '..', '..', filePath);
|
|
38
|
+
if (fs.existsSync(fullPath)) {
|
|
39
|
+
replacements.forEach(({ pattern, replacement }) => {
|
|
40
|
+
try {
|
|
41
|
+
const data = fs.readFileSync(fullPath, 'utf8');
|
|
42
|
+
const result = data.replace(pattern, replacement);
|
|
43
|
+
fs.writeFileSync(fullPath, result, 'utf8');
|
|
44
|
+
console.log(`Successfully updated: ${fullPath}`);
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
console.error(`Error processing file ${fullPath}:`, err);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=proto_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proto_utils.js","sourceRoot":"","sources":["../../../src/util/proto_utils.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AA2BjC,sDAmBC;AA5CD,yBAAyB;AACzB,6BAA6B;AAEhB,QAAA,aAAa,GAAa;IACrC,wCAAwC;CACzC,CAAC;AAOW,QAAA,YAAY,GAAkB;IACzC;QACE,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,eAAe;KAC7B;CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,SAAmB,EACnB,YAA2B;IAE3B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,EAAE,EAAE;gBAC9C,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|