zitejs 0.9.102 → 0.9.103

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.
@@ -16,6 +16,16 @@ export type ZiteSchema = {
16
16
  };
17
17
  export declare function toPascalCase(name: string): string;
18
18
  export declare function toCamelCase(name: string): string;
19
+ /**
20
+ * camelCase for a FRESH sdkName, reading acronym runs as words: "VIP" ->
21
+ * "vip", "APIKey" -> "apiKey" (plain toCamelCase yields "vIP" / "aPIKey").
22
+ *
23
+ * Deliberately not folded into toCamelCase: that also derives endpoint
24
+ * identifiers from existing filenames on every generate, where normalizing
25
+ * would rename a working app's `api.sendSMS`. This is only for names being
26
+ * chosen for the first time — generateSchema preserves existing sdkNames.
27
+ */
28
+ export declare function toSdkName(name: string): string;
19
29
  /**
20
30
  * Build a ZiteSchema from a Database API response.
21
31
  *
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toPascalCase = toPascalCase;
4
4
  exports.toCamelCase = toCamelCase;
5
+ exports.toSdkName = toSdkName;
5
6
  exports.generateSchema = generateSchema;
6
7
  exports.generateDbTs = generateDbTs;
7
8
  exports.generateApiTs = generateApiTs;
@@ -170,6 +171,21 @@ function toCamelCase(name) {
170
171
  const pascal = toPascalCase(name);
171
172
  return pascal.charAt(0).toLowerCase() + pascal.slice(1);
172
173
  }
174
+ /**
175
+ * camelCase for a FRESH sdkName, reading acronym runs as words: "VIP" ->
176
+ * "vip", "APIKey" -> "apiKey" (plain toCamelCase yields "vIP" / "aPIKey").
177
+ *
178
+ * Deliberately not folded into toCamelCase: that also derives endpoint
179
+ * identifiers from existing filenames on every generate, where normalizing
180
+ * would rename a working app's `api.sendSMS`. This is only for names being
181
+ * chosen for the first time — generateSchema preserves existing sdkNames.
182
+ */
183
+ function toSdkName(name) {
184
+ const deAcronymed = name
185
+ .replace(/([A-Z]+)([A-Z][a-z])/g, (_, run, next) => run.charAt(0) + run.slice(1).toLowerCase() + next)
186
+ .replace(/([A-Z])([A-Z]+)/g, (_, first, rest) => first + rest.toLowerCase());
187
+ return toCamelCase(deAcronymed);
188
+ }
173
189
  /**
174
190
  * Existing sdkNames are preserved across syncs so user code keeps compiling,
175
191
  * but schemas written before the sanitizer stripped trailing symbols can carry
@@ -338,13 +354,13 @@ function generateSchema(database, existingSchema) {
338
354
  const { id: _id, order: _order, ...definition } = field;
339
355
  fields.push({
340
356
  id: field.id,
341
- sdkName: keepValidSdkName(existing?.sdkName) ?? toCamelCase(field.name),
357
+ sdkName: keepValidSdkName(existing?.sdkName) ?? toSdkName(field.name),
342
358
  definition,
343
359
  });
344
360
  }
345
361
  tables.push({
346
362
  id: table.id,
347
- sdkName: keepValidSdkName(existingTable?.sdkName) ?? toCamelCase(table.name),
363
+ sdkName: keepValidSdkName(existingTable?.sdkName) ?? toSdkName(table.name),
348
364
  primaryFieldId: table.primaryFieldId,
349
365
  fields,
350
366
  });
package/dist/esm/cli.js CHANGED
File without changes
@@ -16,6 +16,16 @@ export type ZiteSchema = {
16
16
  };
17
17
  export declare function toPascalCase(name: string): string;
18
18
  export declare function toCamelCase(name: string): string;
19
+ /**
20
+ * camelCase for a FRESH sdkName, reading acronym runs as words: "VIP" ->
21
+ * "vip", "APIKey" -> "apiKey" (plain toCamelCase yields "vIP" / "aPIKey").
22
+ *
23
+ * Deliberately not folded into toCamelCase: that also derives endpoint
24
+ * identifiers from existing filenames on every generate, where normalizing
25
+ * would rename a working app's `api.sendSMS`. This is only for names being
26
+ * chosen for the first time — generateSchema preserves existing sdkNames.
27
+ */
28
+ export declare function toSdkName(name: string): string;
19
29
  /**
20
30
  * Build a ZiteSchema from a Database API response.
21
31
  *
@@ -160,6 +160,21 @@ export function toCamelCase(name) {
160
160
  const pascal = toPascalCase(name);
161
161
  return pascal.charAt(0).toLowerCase() + pascal.slice(1);
162
162
  }
163
+ /**
164
+ * camelCase for a FRESH sdkName, reading acronym runs as words: "VIP" ->
165
+ * "vip", "APIKey" -> "apiKey" (plain toCamelCase yields "vIP" / "aPIKey").
166
+ *
167
+ * Deliberately not folded into toCamelCase: that also derives endpoint
168
+ * identifiers from existing filenames on every generate, where normalizing
169
+ * would rename a working app's `api.sendSMS`. This is only for names being
170
+ * chosen for the first time — generateSchema preserves existing sdkNames.
171
+ */
172
+ export function toSdkName(name) {
173
+ const deAcronymed = name
174
+ .replace(/([A-Z]+)([A-Z][a-z])/g, (_, run, next) => run.charAt(0) + run.slice(1).toLowerCase() + next)
175
+ .replace(/([A-Z])([A-Z]+)/g, (_, first, rest) => first + rest.toLowerCase());
176
+ return toCamelCase(deAcronymed);
177
+ }
163
178
  /**
164
179
  * Existing sdkNames are preserved across syncs so user code keeps compiling,
165
180
  * but schemas written before the sanitizer stripped trailing symbols can carry
@@ -328,13 +343,13 @@ export function generateSchema(database, existingSchema) {
328
343
  const { id: _id, order: _order, ...definition } = field;
329
344
  fields.push({
330
345
  id: field.id,
331
- sdkName: keepValidSdkName(existing?.sdkName) ?? toCamelCase(field.name),
346
+ sdkName: keepValidSdkName(existing?.sdkName) ?? toSdkName(field.name),
332
347
  definition,
333
348
  });
334
349
  }
335
350
  tables.push({
336
351
  id: table.id,
337
- sdkName: keepValidSdkName(existingTable?.sdkName) ?? toCamelCase(table.name),
352
+ sdkName: keepValidSdkName(existingTable?.sdkName) ?? toSdkName(table.name),
338
353
  primaryFieldId: table.primaryFieldId,
339
354
  fields,
340
355
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zitejs",
3
- "version": "0.9.102",
3
+ "version": "0.9.103",
4
4
  "description": "The Zite framework — build apps on Zite Database",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCaller = void 0;
4
- var index_js_1 = require("../caller/index.js");
5
- Object.defineProperty(exports, "createCaller", { enumerable: true, get: function () { return index_js_1.createCaller; } });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTableClient = void 0;
4
- var index_js_1 = require("../runtime/index.js");
5
- Object.defineProperty(exports, "createTableClient", { enumerable: true, get: function () { return index_js_1.createTableClient; } });
@@ -1,2 +0,0 @@
1
- export { createCaller } from '../caller/index.js';
2
- export type { EndpointConfig } from '../caller/index.js';
@@ -1 +0,0 @@
1
- export { createCaller } from '../caller/index.js';
@@ -1,2 +0,0 @@
1
- export { createTableClient } from '../runtime/index.js';
2
- export type { TableClient } from '../runtime/index.js';
@@ -1 +0,0 @@
1
- export { createTableClient } from '../runtime/index.js';