@sprucelabs/schema 32.3.3 → 32.3.5

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.
@@ -2,12 +2,14 @@ import { Schema } from './schemas.static.types';
2
2
  import { SchemaTemplateItem, TemplateLanguage } from './types/template.types';
3
3
  export default class SchemaTypesRenderer {
4
4
  static Renderer(): SchemaTypesRenderer;
5
- render(schema: Schema, options: {
6
- language: TemplateLanguage;
7
- schemaTemplateItems: SchemaTemplateItem[];
8
- }): string;
5
+ render(schema: Schema, options: RenderOptions): string;
9
6
  private renderName;
10
7
  private renderField;
11
8
  private renderComment;
12
9
  private ucFirst;
13
10
  }
11
+ export interface RenderOptions {
12
+ language: TemplateLanguage;
13
+ schemaTemplateItems: SchemaTemplateItem[];
14
+ shouldPrefixNameWithNamespace?: boolean;
15
+ }
@@ -12,9 +12,9 @@ class SchemaTypesRenderer {
12
12
  }
13
13
  render(schema, options) {
14
14
  (0, assertOptions_1.default)({ schema, options }, ['schema', 'options']);
15
- const { id, fields, namespace } = schema;
15
+ const { id, fields } = schema;
16
16
  const { schemaTemplateItems } = options;
17
- const name = this.renderName(id, namespace);
17
+ const name = this.renderName(id);
18
18
  const comment = this.renderComment(schema);
19
19
  let body = '';
20
20
  for (const [key, field] of Object.entries(fields ?? {})) {
@@ -24,8 +24,8 @@ class SchemaTypesRenderer {
24
24
  return `${comment ? `${comment}\n` : ''}type ${name} struct {
25
25
  ${body}}`;
26
26
  }
27
- renderName(id, namespace) {
28
- return `${namespace ? `${namespace}` : ''}${this.ucFirst(id)}`;
27
+ renderName(id) {
28
+ return this.ucFirst(id);
29
29
  }
30
30
  renderField(field, key, schemaTemplateItems = []) {
31
31
  const FieldClass = fields_1.fieldClassMap[field.type];
@@ -2,12 +2,14 @@ import { Schema } from './schemas.static.types';
2
2
  import { SchemaTemplateItem, TemplateLanguage } from './types/template.types';
3
3
  export default class SchemaTypesRenderer {
4
4
  static Renderer(): SchemaTypesRenderer;
5
- render(schema: Schema, options: {
6
- language: TemplateLanguage;
7
- schemaTemplateItems: SchemaTemplateItem[];
8
- }): string;
5
+ render(schema: Schema, options: RenderOptions): string;
9
6
  private renderName;
10
7
  private renderField;
11
8
  private renderComment;
12
9
  private ucFirst;
13
10
  }
11
+ export interface RenderOptions {
12
+ language: TemplateLanguage;
13
+ schemaTemplateItems: SchemaTemplateItem[];
14
+ shouldPrefixNameWithNamespace?: boolean;
15
+ }
@@ -7,9 +7,9 @@ export default class SchemaTypesRenderer {
7
7
  }
8
8
  render(schema, options) {
9
9
  assertOptions({ schema, options }, ['schema', 'options']);
10
- const { id, fields, namespace } = schema;
10
+ const { id, fields } = schema;
11
11
  const { schemaTemplateItems } = options;
12
- const name = this.renderName(id, namespace);
12
+ const name = this.renderName(id);
13
13
  const comment = this.renderComment(schema);
14
14
  let body = '';
15
15
  for (const [key, field] of Object.entries(fields !== null && fields !== void 0 ? fields : {})) {
@@ -19,8 +19,8 @@ export default class SchemaTypesRenderer {
19
19
  return `${comment ? `${comment}\n` : ''}type ${name} struct {
20
20
  ${body}}`;
21
21
  }
22
- renderName(id, namespace) {
23
- return `${namespace ? `${namespace}` : ''}${this.ucFirst(id)}`;
22
+ renderName(id) {
23
+ return this.ucFirst(id);
24
24
  }
25
25
  renderField(field, key, schemaTemplateItems = []) {
26
26
  const FieldClass = fieldClassMap[field.type];
@@ -1,8 +1,18 @@
1
1
  import AbstractField from './AbstractField.js';
2
2
  class BooleanField extends AbstractField {
3
3
  static generateTemplateDetails(options) {
4
+ const { definition, language } = options;
5
+ const { isArray } = definition;
6
+ const arrayNotation = isArray ? '[]' : '';
7
+ let valueType = '';
8
+ if (language === 'go') {
9
+ valueType = `${arrayNotation}bool`;
10
+ }
11
+ else {
12
+ valueType = `boolean${arrayNotation}`;
13
+ }
4
14
  return {
5
- valueType: `boolean${options.definition.isArray ? '[]' : ''}`,
15
+ valueType,
6
16
  };
7
17
  }
8
18
  /** * Turn everything into a string */
@@ -58,7 +58,7 @@ class SchemaField extends AbstractField {
58
58
  const { namePascal, namespace, id, nameCamel, schema } = this.findSchemaInTemplateItems(idWithVersion, templateItems);
59
59
  let valueType;
60
60
  if (language === 'go') {
61
- valueType = `${namespace}${namePascal}`;
61
+ valueType = `${namePascal}`;
62
62
  }
63
63
  else if (renderAs === TemplateRenderAs.Value) {
64
64
  valueType = `${nameCamel}Schema${schema.version ? `_${schema.version}` : ''}`;
@@ -6,8 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const AbstractField_1 = __importDefault(require("./AbstractField"));
7
7
  class BooleanField extends AbstractField_1.default {
8
8
  static generateTemplateDetails(options) {
9
+ const { definition, language } = options;
10
+ const { isArray } = definition;
11
+ const arrayNotation = isArray ? '[]' : '';
12
+ let valueType = '';
13
+ if (language === 'go') {
14
+ valueType = `${arrayNotation}bool`;
15
+ }
16
+ else {
17
+ valueType = `boolean${arrayNotation}`;
18
+ }
9
19
  return {
10
- valueType: `boolean${options.definition.isArray ? '[]' : ''}`,
20
+ valueType,
11
21
  };
12
22
  }
13
23
  /** * Turn everything into a string */
@@ -63,7 +63,7 @@ class SchemaField extends AbstractField_1.default {
63
63
  const { namePascal, namespace, id, nameCamel, schema } = this.findSchemaInTemplateItems(idWithVersion, templateItems);
64
64
  let valueType;
65
65
  if (language === 'go') {
66
- valueType = `${namespace}${namePascal}`;
66
+ valueType = `${namePascal}`;
67
67
  }
68
68
  else if (renderAs === template_types_1.TemplateRenderAs.Value) {
69
69
  valueType = `${nameCamel}Schema${schema.version ? `_${schema.version}` : ''}`;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "!build/__tests__",
9
9
  "esm"
10
10
  ],
11
- "version": "32.3.3",
11
+ "version": "32.3.5",
12
12
  "main": "./build/index.js",
13
13
  "types": "./build/index.d.ts",
14
14
  "module": "./build/esm/index.js",