@skmtc/core 0.0.271 → 0.0.273

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.
Files changed (35) hide show
  1. package/esm/context/RenderContext.d.ts.map +1 -1
  2. package/esm/context/RenderContext.js +8 -7
  3. package/esm/helpers/toResolvedArtifactPath.d.ts +8 -0
  4. package/esm/helpers/toResolvedArtifactPath.d.ts.map +1 -0
  5. package/esm/helpers/toResolvedArtifactPath.js +5 -0
  6. package/esm/mod.d.ts +2 -1
  7. package/esm/mod.d.ts.map +1 -1
  8. package/esm/mod.js +2 -1
  9. package/esm/typescript/FunctionParameter.d.ts +2 -1
  10. package/esm/typescript/FunctionParameter.d.ts.map +1 -1
  11. package/esm/typescript/FunctionParameter.js +15 -6
  12. package/esm/typescript/List.d.ts +39 -0
  13. package/esm/typescript/List.d.ts.map +1 -0
  14. package/esm/typescript/List.js +93 -0
  15. package/package.json +5 -1
  16. package/script/context/RenderContext.d.ts.map +1 -1
  17. package/script/context/RenderContext.js +7 -6
  18. package/script/helpers/toResolvedArtifactPath.d.ts +8 -0
  19. package/script/helpers/toResolvedArtifactPath.d.ts.map +1 -0
  20. package/script/helpers/toResolvedArtifactPath.js +9 -0
  21. package/script/mod.d.ts +2 -1
  22. package/script/mod.d.ts.map +1 -1
  23. package/script/mod.js +2 -1
  24. package/script/typescript/FunctionParameter.d.ts +2 -1
  25. package/script/typescript/FunctionParameter.d.ts.map +1 -1
  26. package/script/typescript/FunctionParameter.js +15 -6
  27. package/script/typescript/List.d.ts +39 -0
  28. package/script/typescript/List.d.ts.map +1 -0
  29. package/script/typescript/List.js +98 -0
  30. package/esm/typescript/DestructuredObject.d.ts +0 -15
  31. package/esm/typescript/DestructuredObject.d.ts.map +0 -1
  32. package/esm/typescript/DestructuredObject.js +0 -54
  33. package/script/typescript/DestructuredObject.d.ts +0 -15
  34. package/script/typescript/DestructuredObject.d.ts.map +0 -1
  35. package/script/typescript/DestructuredObject.js +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
@@ -1,7 +1,8 @@
1
1
  import * as Sentry from '@sentry/deno';
2
2
  import { Import } from '../dsl/Import.js';
3
3
  import invariant from 'tiny-invariant';
4
- import { join, normalize } from '../deps/jsr.io/@std/path/1.0.0/mod.js';
4
+ import { normalize } from '../deps/jsr.io/@std/path/1.0.0/mod.js';
5
+ import { toResolvedArtifactPath } from '../helpers/toResolvedArtifactPath.js';
5
6
  export class RenderContext {
6
7
  constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }) {
7
8
  Object.defineProperty(this, "files", {
@@ -92,14 +93,14 @@ export class RenderContext {
92
93
  }
93
94
  collate() {
94
95
  const fileEntries = Array.from(this.files.entries());
95
- const fileObjects = fileEntries.map(([destination, file]) => {
96
+ const fileObjects = fileEntries.map(([destinationPath, file]) => {
96
97
  // Set the current destination path to be used by
97
98
  // addGeneratorKey method to apply generator keys
98
99
  // to Correct file
99
- this.currentDestinationPath = destination;
100
+ this.currentDestinationPath = destinationPath;
100
101
  return renderFile({
101
102
  file,
102
- destination,
103
+ destinationPath,
103
104
  basePath: this.settings?.basePath,
104
105
  prettier: this.prettier
105
106
  });
@@ -155,7 +156,7 @@ export class RenderContext {
155
156
  return this.getFile(exportPath).definitions.get(name);
156
157
  }
157
158
  }
158
- const renderFile = ({ file, destination, basePath }) => {
159
+ const renderFile = ({ file, destinationPath, basePath }) => {
159
160
  const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import({ module, importNames: Array.from(importItems) }));
160
161
  const definitions = Array.from(file.definitions.values());
161
162
  const content = [imports, definitions]
@@ -164,8 +165,8 @@ const renderFile = ({ file, destination, basePath }) => {
164
165
  .join('\n\n');
165
166
  return {
166
167
  content,
167
- path: join(basePath ?? 'dist', destination.replace(/^@\//, '')),
168
- destinationPath: destination,
168
+ path: toResolvedArtifactPath({ basePath, destinationPath }),
169
+ destinationPath,
169
170
  numberOfLines: content.split('\n').length,
170
171
  numberOfCharacters: content.length,
171
172
  generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
@@ -0,0 +1,8 @@
1
+ import "../_dnt.polyfills.js";
2
+ type ToResolvedArtifactPathArgs = {
3
+ basePath: string | undefined;
4
+ destinationPath: string;
5
+ };
6
+ export declare const toResolvedArtifactPath: ({ basePath, destinationPath }: ToResolvedArtifactPathArgs) => string;
7
+ export {};
8
+ //# sourceMappingURL=toResolvedArtifactPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toResolvedArtifactPath.d.ts","sourceRoot":"","sources":["../../src/helpers/toResolvedArtifactPath.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,sBAAsB,kCAGhC,0BAA0B,WAE5B,CAAA"}
@@ -0,0 +1,5 @@
1
+ import "../_dnt.polyfills.js";
2
+ import { join } from '../deps/jsr.io/@std/path/1.0.0/mod.js';
3
+ export const toResolvedArtifactPath = ({ basePath, destinationPath }) => {
4
+ return join(basePath ?? 'dist', destinationPath.replace(/^@\//, ''));
5
+ };
package/esm/mod.d.ts CHANGED
@@ -23,6 +23,7 @@ export * from './generate/generate.js';
23
23
  export * from './helpers/logStatus.js';
24
24
  export * from './helpers/naming.js';
25
25
  export * from './helpers/refFns.js';
26
+ export * from './helpers/toResolvedArtifactPath.js';
26
27
  export * from './helpers/strings.js';
27
28
  export * from './oas/discriminator/Discriminator.js';
28
29
  export * from './oas/document/Document.js';
@@ -48,7 +49,7 @@ export * from './types/RefName.js';
48
49
  export * from './types/Settings.js';
49
50
  export * from './types/Settings.js';
50
51
  export * from './types/TypeSystem.js';
51
- export * from './typescript/DestructuredObject.js';
52
+ export * from './typescript/List.js';
52
53
  export * from './typescript/FunctionParameter.js';
53
54
  export * from './typescript/identifiers.js';
54
55
  export * from './typescript/keyValues.js';
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
package/esm/mod.js CHANGED
@@ -23,6 +23,7 @@ export * from './generate/generate.js';
23
23
  export * from './helpers/logStatus.js';
24
24
  export * from './helpers/naming.js';
25
25
  export * from './helpers/refFns.js';
26
+ export * from './helpers/toResolvedArtifactPath.js';
26
27
  export * from './helpers/strings.js';
27
28
  export * from './oas/discriminator/Discriminator.js';
28
29
  export * from './oas/document/Document.js';
@@ -48,7 +49,7 @@ export * from './types/RefName.js';
48
49
  export * from './types/Settings.js';
49
50
  export * from './types/Settings.js';
50
51
  export * from './types/TypeSystem.js';
51
- export * from './typescript/DestructuredObject.js';
52
+ export * from './typescript/List.js';
52
53
  export * from './typescript/FunctionParameter.js';
53
54
  export * from './typescript/identifiers.js';
54
55
  export * from './typescript/keyValues.js';
@@ -1,5 +1,6 @@
1
1
  import type { TypeSystemObject, TypeSystemValue, TypeSystemVoid } from '../types/TypeSystem.js';
2
2
  import type { Definition } from '../dsl/Definition.js';
3
+ import { List } from './List.js';
3
4
  type CreateArgs = {
4
5
  name?: string;
5
6
  typeDefinition: Definition<TypeSystemObject | TypeSystemVoid>;
@@ -25,7 +26,7 @@ export declare class FunctionParameter {
25
26
  properties: ParameterProperties;
26
27
  constructor(args: CreateArgs);
27
28
  hasProperty(name: string): boolean;
28
- toPropertyList(): string[];
29
+ toPropertyList(): List<string>;
29
30
  toInbound(): string;
30
31
  toString(): string;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GACpB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,CAAA;AAEpB,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;gBAEnB,IAAI,EAAE,UAAU;IAyB5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC,cAAc,IAAI,MAAM,EAAE;IAY1B,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;CAanB"}
1
+ {"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAA;AAEhD,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GACpB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,CAAA;AAEpB,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;gBAEnB,IAAI,EAAE,UAAU;IAyB5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;IAgB9B,SAAS,IAAI,MAAM;IAenB,QAAQ,IAAI,MAAM;CAgBnB"}
@@ -1,5 +1,5 @@
1
1
  import { match, P } from 'ts-pattern';
2
- import { DestructuredObject } from './DestructuredObject.js';
2
+ import { List, ObjectProperty } from './List.js';
3
3
  export class FunctionParameter {
4
4
  constructor(args) {
5
5
  Object.defineProperty(this, "properties", {
@@ -43,10 +43,12 @@ export class FunctionParameter {
43
43
  }
44
44
  toPropertyList() {
45
45
  return match(this.properties)
46
- .with({ type: 'void' }, () => [])
47
- .with({ type: 'regular' }, ({ name }) => [`${name}`])
46
+ .with({ type: 'void' }, () => List.toObject({ items: [], renderWhenEmpty: false }))
47
+ .with({ type: 'regular' }, ({ name }) => List.toObject({ items: [`${name}`] }))
48
48
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
49
- return new DestructuredObject(typeDefinition.value).properties.map(item => (typeof item === 'string' ? item : item.name));
49
+ return List.keysToObject({
50
+ record: typeDefinition.value.objectProperties?.properties
51
+ });
50
52
  })
51
53
  .exhaustive();
52
54
  }
@@ -55,7 +57,11 @@ export class FunctionParameter {
55
57
  .with({ type: 'void' }, () => '')
56
58
  .with({ type: 'regular' }, ({ name }) => `${name}`)
57
59
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
58
- return new DestructuredObject(typeDefinition.value).toString();
60
+ const list = List.keysToObject({
61
+ record: typeDefinition.value.objectProperties?.properties,
62
+ map: key => new ObjectProperty(key)
63
+ });
64
+ return `${list}`;
59
65
  })
60
66
  .exhaustive();
61
67
  }
@@ -66,7 +72,10 @@ export class FunctionParameter {
66
72
  return `${name}${required ? '' : '?'}: ${typeDefinition.identifier}`;
67
73
  })
68
74
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
69
- const destructured = new DestructuredObject(typeDefinition.value);
75
+ const destructured = List.keysToObject({
76
+ record: typeDefinition.value.objectProperties?.properties,
77
+ map: key => new ObjectProperty(key)
78
+ });
70
79
  return `${destructured}: ${typeDefinition.identifier}`;
71
80
  })
72
81
  .exhaustive();
@@ -0,0 +1,39 @@
1
+ type ListArgs<V> = {
2
+ items: V[];
3
+ bookends: 'square' | 'curly' | 'round' | 'none';
4
+ separator: string;
5
+ renderWhenEmpty?: boolean;
6
+ };
7
+ type ToArrayArgs<V> = {
8
+ items: V[];
9
+ renderWhenEmpty?: boolean;
10
+ };
11
+ type ToObjectArgs<V> = {
12
+ items: V[];
13
+ renderWhenEmpty?: boolean;
14
+ };
15
+ type KeysToObjectArgs<V> = {
16
+ record?: Record<string, unknown>;
17
+ map?: (value: string) => V;
18
+ renderWhenEmpty?: boolean;
19
+ };
20
+ export declare class List<V> {
21
+ bookends: 'square' | 'curly' | 'round' | 'none';
22
+ separator: string;
23
+ renderWhenEmpty: boolean;
24
+ items: V[];
25
+ constructor({ items, bookends, separator, renderWhenEmpty }: ListArgs<V>);
26
+ static toArray<V>(args: ToArrayArgs<V>): List<V>;
27
+ static toObject<V>(args: ToObjectArgs<V>): List<V>;
28
+ static keysToObject<V>({ record, map, renderWhenEmpty }: KeysToObjectArgs<V>): List<string | V>;
29
+ toString(): string;
30
+ }
31
+ export declare class ObjectProperty {
32
+ name: string;
33
+ isValid: boolean;
34
+ canonicalName: string;
35
+ constructor(name: string);
36
+ toString(): string;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=List.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,CAAC,CAAC,IAAI;IACjB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,WAAW,CAAC,CAAC,IAAI;IACpB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,CAAC,EAAE,CAAK;gBACH,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAsB,EACvB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAOd,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAItC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAIxC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EACrB,MAAM,EACN,GAAG,EACH,eAAe,EAChB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAWtB,QAAQ;CAcT;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;gBACT,IAAI,EAAE,MAAM;IAYxB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,93 @@
1
+ import { isIdentifierName } from '@babel/helper-validator-identifier';
2
+ import { camelCase } from 'lodash-es';
3
+ import { match } from 'ts-pattern';
4
+ export class List {
5
+ constructor({ items, bookends, separator, renderWhenEmpty = true }) {
6
+ Object.defineProperty(this, "bookends", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "separator", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "renderWhenEmpty", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(this, "items", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: []
29
+ });
30
+ this.items = items;
31
+ this.bookends = bookends;
32
+ this.separator = separator;
33
+ this.renderWhenEmpty = renderWhenEmpty;
34
+ }
35
+ static toArray(args) {
36
+ return new List({ ...args, bookends: 'square', separator: ',' });
37
+ }
38
+ static toObject(args) {
39
+ return new List({ ...args, bookends: 'curly', separator: ',' });
40
+ }
41
+ static keysToObject({ record, map, renderWhenEmpty }) {
42
+ const items = Object.keys(record ?? {}).map(key => (map ? map(key) : key));
43
+ return new List({
44
+ items,
45
+ bookends: 'curly',
46
+ separator: ',',
47
+ renderWhenEmpty
48
+ });
49
+ }
50
+ toString() {
51
+ if (this.items.length === 0 && !this.renderWhenEmpty) {
52
+ return '';
53
+ }
54
+ const items = this.items.map(item => `${item}`).join(this.separator);
55
+ return match(this.bookends)
56
+ .with('square', () => `[${items}]`)
57
+ .with('curly', () => `{${items}}`)
58
+ .with('round', () => `(${items})`)
59
+ .with('none', () => items)
60
+ .exhaustive();
61
+ }
62
+ }
63
+ export class ObjectProperty {
64
+ constructor(name) {
65
+ Object.defineProperty(this, "name", {
66
+ enumerable: true,
67
+ configurable: true,
68
+ writable: true,
69
+ value: void 0
70
+ });
71
+ Object.defineProperty(this, "isValid", {
72
+ enumerable: true,
73
+ configurable: true,
74
+ writable: true,
75
+ value: void 0
76
+ });
77
+ Object.defineProperty(this, "canonicalName", {
78
+ enumerable: true,
79
+ configurable: true,
80
+ writable: true,
81
+ value: void 0
82
+ });
83
+ this.name = name;
84
+ this.isValid = isIdentifierName(name);
85
+ this.canonicalName = this.isValid ? name : camelCase(name);
86
+ if (!isIdentifierName(this.canonicalName)) {
87
+ throw new Error(`Property name '${name}' is not a valid identifier and cannot be converted to a canonical name`);
88
+ }
89
+ }
90
+ toString() {
91
+ return this.isValid ? this.name : `${this.name}: ${this.canonicalName}`;
92
+ }
93
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.271",
3
+ "version": "0.0.273",
4
4
  "main": "./script/mod.js",
5
5
  "module": "./esm/mod.js",
6
6
  "exports": {
@@ -28,6 +28,10 @@
28
28
  "import": "./esm/types/RefName.js",
29
29
  "require": "./script/types/RefName.js"
30
30
  },
31
+ "./toResolvedArtifactPath": {
32
+ "import": "./esm/helpers/toResolvedArtifactPath.js",
33
+ "require": "./script/helpers/toResolvedArtifactPath.js"
34
+ },
31
35
  "./Settings": {
32
36
  "import": "./esm/types/Settings.js",
33
37
  "require": "./script/types/Settings.js"
@@ -1 +1 @@
1
- {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
@@ -31,6 +31,7 @@ const Sentry = __importStar(require("@sentry/deno"));
31
31
  const Import_js_1 = require("../dsl/Import.js");
32
32
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
33
33
  const mod_js_1 = require("../deps/jsr.io/@std/path/1.0.0/mod.js");
34
+ const toResolvedArtifactPath_js_1 = require("../helpers/toResolvedArtifactPath.js");
34
35
  class RenderContext {
35
36
  constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }) {
36
37
  Object.defineProperty(this, "files", {
@@ -121,14 +122,14 @@ class RenderContext {
121
122
  }
122
123
  collate() {
123
124
  const fileEntries = Array.from(this.files.entries());
124
- const fileObjects = fileEntries.map(([destination, file]) => {
125
+ const fileObjects = fileEntries.map(([destinationPath, file]) => {
125
126
  // Set the current destination path to be used by
126
127
  // addGeneratorKey method to apply generator keys
127
128
  // to Correct file
128
- this.currentDestinationPath = destination;
129
+ this.currentDestinationPath = destinationPath;
129
130
  return renderFile({
130
131
  file,
131
- destination,
132
+ destinationPath,
132
133
  basePath: this.settings?.basePath,
133
134
  prettier: this.prettier
134
135
  });
@@ -185,7 +186,7 @@ class RenderContext {
185
186
  }
186
187
  }
187
188
  exports.RenderContext = RenderContext;
188
- const renderFile = ({ file, destination, basePath }) => {
189
+ const renderFile = ({ file, destinationPath, basePath }) => {
189
190
  const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import_js_1.Import({ module, importNames: Array.from(importItems) }));
190
191
  const definitions = Array.from(file.definitions.values());
191
192
  const content = [imports, definitions]
@@ -194,8 +195,8 @@ const renderFile = ({ file, destination, basePath }) => {
194
195
  .join('\n\n');
195
196
  return {
196
197
  content,
197
- path: (0, mod_js_1.join)(basePath ?? 'dist', destination.replace(/^@\//, '')),
198
- destinationPath: destination,
198
+ path: (0, toResolvedArtifactPath_js_1.toResolvedArtifactPath)({ basePath, destinationPath }),
199
+ destinationPath,
199
200
  numberOfLines: content.split('\n').length,
200
201
  numberOfCharacters: content.length,
201
202
  generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
@@ -0,0 +1,8 @@
1
+ import "../_dnt.polyfills.js";
2
+ type ToResolvedArtifactPathArgs = {
3
+ basePath: string | undefined;
4
+ destinationPath: string;
5
+ };
6
+ export declare const toResolvedArtifactPath: ({ basePath, destinationPath }: ToResolvedArtifactPathArgs) => string;
7
+ export {};
8
+ //# sourceMappingURL=toResolvedArtifactPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toResolvedArtifactPath.d.ts","sourceRoot":"","sources":["../../src/helpers/toResolvedArtifactPath.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,sBAAsB,kCAGhC,0BAA0B,WAE5B,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toResolvedArtifactPath = void 0;
4
+ require("../_dnt.polyfills.js");
5
+ const mod_js_1 = require("../deps/jsr.io/@std/path/1.0.0/mod.js");
6
+ const toResolvedArtifactPath = ({ basePath, destinationPath }) => {
7
+ return (0, mod_js_1.join)(basePath ?? 'dist', destinationPath.replace(/^@\//, ''));
8
+ };
9
+ exports.toResolvedArtifactPath = toResolvedArtifactPath;
package/script/mod.d.ts CHANGED
@@ -23,6 +23,7 @@ export * from './generate/generate.js';
23
23
  export * from './helpers/logStatus.js';
24
24
  export * from './helpers/naming.js';
25
25
  export * from './helpers/refFns.js';
26
+ export * from './helpers/toResolvedArtifactPath.js';
26
27
  export * from './helpers/strings.js';
27
28
  export * from './oas/discriminator/Discriminator.js';
28
29
  export * from './oas/document/Document.js';
@@ -48,7 +49,7 @@ export * from './types/RefName.js';
48
49
  export * from './types/Settings.js';
49
50
  export * from './types/Settings.js';
50
51
  export * from './types/TypeSystem.js';
51
- export * from './typescript/DestructuredObject.js';
52
+ export * from './typescript/List.js';
52
53
  export * from './typescript/FunctionParameter.js';
53
54
  export * from './typescript/identifiers.js';
54
55
  export * from './typescript/keyValues.js';
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qCAAqC,CAAA;AACnD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sCAAsC,CAAA;AACpD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kCAAkC,CAAA;AAChD,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA;AACrD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
package/script/mod.js CHANGED
@@ -39,6 +39,7 @@ __exportStar(require("./generate/generate.js"), exports);
39
39
  __exportStar(require("./helpers/logStatus.js"), exports);
40
40
  __exportStar(require("./helpers/naming.js"), exports);
41
41
  __exportStar(require("./helpers/refFns.js"), exports);
42
+ __exportStar(require("./helpers/toResolvedArtifactPath.js"), exports);
42
43
  __exportStar(require("./helpers/strings.js"), exports);
43
44
  __exportStar(require("./oas/discriminator/Discriminator.js"), exports);
44
45
  __exportStar(require("./oas/document/Document.js"), exports);
@@ -64,7 +65,7 @@ __exportStar(require("./types/RefName.js"), exports);
64
65
  __exportStar(require("./types/Settings.js"), exports);
65
66
  __exportStar(require("./types/Settings.js"), exports);
66
67
  __exportStar(require("./types/TypeSystem.js"), exports);
67
- __exportStar(require("./typescript/DestructuredObject.js"), exports);
68
+ __exportStar(require("./typescript/List.js"), exports);
68
69
  __exportStar(require("./typescript/FunctionParameter.js"), exports);
69
70
  __exportStar(require("./typescript/identifiers.js"), exports);
70
71
  __exportStar(require("./typescript/keyValues.js"), exports);
@@ -1,5 +1,6 @@
1
1
  import type { TypeSystemObject, TypeSystemValue, TypeSystemVoid } from '../types/TypeSystem.js';
2
2
  import type { Definition } from '../dsl/Definition.js';
3
+ import { List } from './List.js';
3
4
  type CreateArgs = {
4
5
  name?: string;
5
6
  typeDefinition: Definition<TypeSystemObject | TypeSystemVoid>;
@@ -25,7 +26,7 @@ export declare class FunctionParameter {
25
26
  properties: ParameterProperties;
26
27
  constructor(args: CreateArgs);
27
28
  hasProperty(name: string): boolean;
28
- toPropertyList(): string[];
29
+ toPropertyList(): List<string>;
29
30
  toInbound(): string;
30
31
  toString(): string;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GACpB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,CAAA;AAEpB,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;gBAEnB,IAAI,EAAE,UAAU;IAyB5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC,cAAc,IAAI,MAAM,EAAE;IAY1B,SAAS,IAAI,MAAM;IAUnB,QAAQ,IAAI,MAAM;CAanB"}
1
+ {"version":3,"file":"FunctionParameter.d.ts","sourceRoot":"","sources":["../../src/typescript/FunctionParameter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAA;AAEhD,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GACpB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,CAAA;AAEpB,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,qBAAa,iBAAiB;IAC5B,UAAU,EAAE,mBAAmB,CAAA;gBAEnB,IAAI,EAAE,UAAU;IAyB5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;IAgB9B,SAAS,IAAI,MAAM;IAenB,QAAQ,IAAI,MAAM;CAgBnB"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FunctionParameter = void 0;
4
4
  const ts_pattern_1 = require("ts-pattern");
5
- const DestructuredObject_js_1 = require("./DestructuredObject.js");
5
+ const List_js_1 = require("./List.js");
6
6
  class FunctionParameter {
7
7
  constructor(args) {
8
8
  Object.defineProperty(this, "properties", {
@@ -46,10 +46,12 @@ class FunctionParameter {
46
46
  }
47
47
  toPropertyList() {
48
48
  return (0, ts_pattern_1.match)(this.properties)
49
- .with({ type: 'void' }, () => [])
50
- .with({ type: 'regular' }, ({ name }) => [`${name}`])
49
+ .with({ type: 'void' }, () => List_js_1.List.toObject({ items: [], renderWhenEmpty: false }))
50
+ .with({ type: 'regular' }, ({ name }) => List_js_1.List.toObject({ items: [`${name}`] }))
51
51
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
52
- return new DestructuredObject_js_1.DestructuredObject(typeDefinition.value).properties.map(item => (typeof item === 'string' ? item : item.name));
52
+ return List_js_1.List.keysToObject({
53
+ record: typeDefinition.value.objectProperties?.properties
54
+ });
53
55
  })
54
56
  .exhaustive();
55
57
  }
@@ -58,7 +60,11 @@ class FunctionParameter {
58
60
  .with({ type: 'void' }, () => '')
59
61
  .with({ type: 'regular' }, ({ name }) => `${name}`)
60
62
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
61
- return new DestructuredObject_js_1.DestructuredObject(typeDefinition.value).toString();
63
+ const list = List_js_1.List.keysToObject({
64
+ record: typeDefinition.value.objectProperties?.properties,
65
+ map: key => new List_js_1.ObjectProperty(key)
66
+ });
67
+ return `${list}`;
62
68
  })
63
69
  .exhaustive();
64
70
  }
@@ -69,7 +75,10 @@ class FunctionParameter {
69
75
  return `${name}${required ? '' : '?'}: ${typeDefinition.identifier}`;
70
76
  })
71
77
  .with({ type: 'destructured' }, ({ typeDefinition }) => {
72
- const destructured = new DestructuredObject_js_1.DestructuredObject(typeDefinition.value);
78
+ const destructured = List_js_1.List.keysToObject({
79
+ record: typeDefinition.value.objectProperties?.properties,
80
+ map: key => new List_js_1.ObjectProperty(key)
81
+ });
73
82
  return `${destructured}: ${typeDefinition.identifier}`;
74
83
  })
75
84
  .exhaustive();
@@ -0,0 +1,39 @@
1
+ type ListArgs<V> = {
2
+ items: V[];
3
+ bookends: 'square' | 'curly' | 'round' | 'none';
4
+ separator: string;
5
+ renderWhenEmpty?: boolean;
6
+ };
7
+ type ToArrayArgs<V> = {
8
+ items: V[];
9
+ renderWhenEmpty?: boolean;
10
+ };
11
+ type ToObjectArgs<V> = {
12
+ items: V[];
13
+ renderWhenEmpty?: boolean;
14
+ };
15
+ type KeysToObjectArgs<V> = {
16
+ record?: Record<string, unknown>;
17
+ map?: (value: string) => V;
18
+ renderWhenEmpty?: boolean;
19
+ };
20
+ export declare class List<V> {
21
+ bookends: 'square' | 'curly' | 'round' | 'none';
22
+ separator: string;
23
+ renderWhenEmpty: boolean;
24
+ items: V[];
25
+ constructor({ items, bookends, separator, renderWhenEmpty }: ListArgs<V>);
26
+ static toArray<V>(args: ToArrayArgs<V>): List<V>;
27
+ static toObject<V>(args: ToObjectArgs<V>): List<V>;
28
+ static keysToObject<V>({ record, map, renderWhenEmpty }: KeysToObjectArgs<V>): List<string | V>;
29
+ toString(): string;
30
+ }
31
+ export declare class ObjectProperty {
32
+ name: string;
33
+ isValid: boolean;
34
+ canonicalName: string;
35
+ constructor(name: string);
36
+ toString(): string;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=List.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,CAAC,CAAC,IAAI;IACjB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,WAAW,CAAC,CAAC,IAAI;IACpB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,CAAC,EAAE,CAAK;gBACH,EACV,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAsB,EACvB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAOd,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAItC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAIxC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EACrB,MAAM,EACN,GAAG,EACH,eAAe,EAChB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAWtB,QAAQ;CAcT;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;gBACT,IAAI,EAAE,MAAM;IAYxB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectProperty = exports.List = void 0;
4
+ const helper_validator_identifier_1 = require("@babel/helper-validator-identifier");
5
+ const lodash_es_1 = require("lodash-es");
6
+ const ts_pattern_1 = require("ts-pattern");
7
+ class List {
8
+ constructor({ items, bookends, separator, renderWhenEmpty = true }) {
9
+ Object.defineProperty(this, "bookends", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ Object.defineProperty(this, "separator", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ Object.defineProperty(this, "renderWhenEmpty", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "items", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: []
32
+ });
33
+ this.items = items;
34
+ this.bookends = bookends;
35
+ this.separator = separator;
36
+ this.renderWhenEmpty = renderWhenEmpty;
37
+ }
38
+ static toArray(args) {
39
+ return new List({ ...args, bookends: 'square', separator: ',' });
40
+ }
41
+ static toObject(args) {
42
+ return new List({ ...args, bookends: 'curly', separator: ',' });
43
+ }
44
+ static keysToObject({ record, map, renderWhenEmpty }) {
45
+ const items = Object.keys(record ?? {}).map(key => (map ? map(key) : key));
46
+ return new List({
47
+ items,
48
+ bookends: 'curly',
49
+ separator: ',',
50
+ renderWhenEmpty
51
+ });
52
+ }
53
+ toString() {
54
+ if (this.items.length === 0 && !this.renderWhenEmpty) {
55
+ return '';
56
+ }
57
+ const items = this.items.map(item => `${item}`).join(this.separator);
58
+ return (0, ts_pattern_1.match)(this.bookends)
59
+ .with('square', () => `[${items}]`)
60
+ .with('curly', () => `{${items}}`)
61
+ .with('round', () => `(${items})`)
62
+ .with('none', () => items)
63
+ .exhaustive();
64
+ }
65
+ }
66
+ exports.List = List;
67
+ class ObjectProperty {
68
+ constructor(name) {
69
+ Object.defineProperty(this, "name", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ Object.defineProperty(this, "isValid", {
76
+ enumerable: true,
77
+ configurable: true,
78
+ writable: true,
79
+ value: void 0
80
+ });
81
+ Object.defineProperty(this, "canonicalName", {
82
+ enumerable: true,
83
+ configurable: true,
84
+ writable: true,
85
+ value: void 0
86
+ });
87
+ this.name = name;
88
+ this.isValid = (0, helper_validator_identifier_1.isIdentifierName)(name);
89
+ this.canonicalName = this.isValid ? name : (0, lodash_es_1.camelCase)(name);
90
+ if (!(0, helper_validator_identifier_1.isIdentifierName)(this.canonicalName)) {
91
+ throw new Error(`Property name '${name}' is not a valid identifier and cannot be converted to a canonical name`);
92
+ }
93
+ }
94
+ toString() {
95
+ return this.isValid ? this.name : `${this.name}: ${this.canonicalName}`;
96
+ }
97
+ }
98
+ exports.ObjectProperty = ObjectProperty;
@@ -1,15 +0,0 @@
1
- import type { TypeSystemObject } from '../types/TypeSystem.js';
2
- export declare class DestructuredObject {
3
- typeSystemObject: TypeSystemObject;
4
- properties: ObjectProperty[];
5
- constructor(typeSystemObject: TypeSystemObject);
6
- toString(): string;
7
- }
8
- export declare class ObjectProperty {
9
- name: string;
10
- isValid: boolean;
11
- canonicalName: string;
12
- constructor(name: string);
13
- toString(): string;
14
- }
15
- //# sourceMappingURL=DestructuredObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DestructuredObject.d.ts","sourceRoot":"","sources":["../../src/typescript/DestructuredObject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,qBAAa,kBAAkB;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,UAAU,EAAE,cAAc,EAAE,CAAA;gBAChB,gBAAgB,EAAE,gBAAgB;IAQ9C,QAAQ,IAAI,MAAM;CAGnB;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;gBACT,IAAI,EAAE,MAAM;IAYxB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,54 +0,0 @@
1
- import { isIdentifierName } from '@babel/helper-validator-identifier';
2
- import { camelCase } from 'lodash-es';
3
- export class DestructuredObject {
4
- constructor(typeSystemObject) {
5
- Object.defineProperty(this, "typeSystemObject", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: void 0
10
- });
11
- Object.defineProperty(this, "properties", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: void 0
16
- });
17
- this.typeSystemObject = typeSystemObject;
18
- this.properties = Object.keys(typeSystemObject.objectProperties?.properties ?? {}).map(name => new ObjectProperty(name));
19
- }
20
- toString() {
21
- return `{${this.properties.map(property => `${property}`).join(',\n')}}`;
22
- }
23
- }
24
- export class ObjectProperty {
25
- constructor(name) {
26
- Object.defineProperty(this, "name", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: void 0
31
- });
32
- Object.defineProperty(this, "isValid", {
33
- enumerable: true,
34
- configurable: true,
35
- writable: true,
36
- value: void 0
37
- });
38
- Object.defineProperty(this, "canonicalName", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: void 0
43
- });
44
- this.name = name;
45
- this.isValid = isIdentifierName(name);
46
- this.canonicalName = this.isValid ? name : camelCase(name);
47
- if (!isIdentifierName(this.canonicalName)) {
48
- throw new Error(`Property name '${name}' is not a valid identifier and cannot be converted to a canonical name`);
49
- }
50
- }
51
- toString() {
52
- return this.isValid ? this.name : `${this.name}: ${this.canonicalName}`;
53
- }
54
- }
@@ -1,15 +0,0 @@
1
- import type { TypeSystemObject } from '../types/TypeSystem.js';
2
- export declare class DestructuredObject {
3
- typeSystemObject: TypeSystemObject;
4
- properties: ObjectProperty[];
5
- constructor(typeSystemObject: TypeSystemObject);
6
- toString(): string;
7
- }
8
- export declare class ObjectProperty {
9
- name: string;
10
- isValid: boolean;
11
- canonicalName: string;
12
- constructor(name: string);
13
- toString(): string;
14
- }
15
- //# sourceMappingURL=DestructuredObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DestructuredObject.d.ts","sourceRoot":"","sources":["../../src/typescript/DestructuredObject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,qBAAa,kBAAkB;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,UAAU,EAAE,cAAc,EAAE,CAAA;gBAChB,gBAAgB,EAAE,gBAAgB;IAQ9C,QAAQ,IAAI,MAAM;CAGnB;AAED,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;gBACT,IAAI,EAAE,MAAM;IAYxB,QAAQ,IAAI,MAAM;CAGnB"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectProperty = exports.DestructuredObject = void 0;
4
- const helper_validator_identifier_1 = require("@babel/helper-validator-identifier");
5
- const lodash_es_1 = require("lodash-es");
6
- class DestructuredObject {
7
- constructor(typeSystemObject) {
8
- Object.defineProperty(this, "typeSystemObject", {
9
- enumerable: true,
10
- configurable: true,
11
- writable: true,
12
- value: void 0
13
- });
14
- Object.defineProperty(this, "properties", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: void 0
19
- });
20
- this.typeSystemObject = typeSystemObject;
21
- this.properties = Object.keys(typeSystemObject.objectProperties?.properties ?? {}).map(name => new ObjectProperty(name));
22
- }
23
- toString() {
24
- return `{${this.properties.map(property => `${property}`).join(',\n')}}`;
25
- }
26
- }
27
- exports.DestructuredObject = DestructuredObject;
28
- class ObjectProperty {
29
- constructor(name) {
30
- Object.defineProperty(this, "name", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: void 0
35
- });
36
- Object.defineProperty(this, "isValid", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: void 0
41
- });
42
- Object.defineProperty(this, "canonicalName", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: void 0
47
- });
48
- this.name = name;
49
- this.isValid = (0, helper_validator_identifier_1.isIdentifierName)(name);
50
- this.canonicalName = this.isValid ? name : (0, lodash_es_1.camelCase)(name);
51
- if (!(0, helper_validator_identifier_1.isIdentifierName)(this.canonicalName)) {
52
- throw new Error(`Property name '${name}' is not a valid identifier and cannot be converted to a canonical name`);
53
- }
54
- }
55
- toString() {
56
- return this.isValid ? this.name : `${this.name}: ${this.canonicalName}`;
57
- }
58
- }
59
- exports.ObjectProperty = ObjectProperty;