@distilled.cloud/core 1.0.0-rc.7 → 1.0.0-rc.9

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 (57) hide show
  1. package/LICENSE +201 -0
  2. package/lib/codegen/cli.d.ts +8 -6
  3. package/lib/codegen/cli.d.ts.map +1 -1
  4. package/lib/codegen/cli.js +6 -62
  5. package/lib/codegen/cli.js.map +1 -1
  6. package/lib/codegen/graphql.d.ts +6 -0
  7. package/lib/codegen/graphql.d.ts.map +1 -1
  8. package/lib/codegen/graphql.js +14 -4
  9. package/lib/codegen/graphql.js.map +1 -1
  10. package/lib/codegen/openapi-cli.d.ts +17 -3
  11. package/lib/codegen/openapi-cli.d.ts.map +1 -1
  12. package/lib/codegen/openapi-cli.js +50 -48
  13. package/lib/codegen/openapi-cli.js.map +1 -1
  14. package/lib/codegen/openapi.d.ts +27 -1
  15. package/lib/codegen/openapi.d.ts.map +1 -1
  16. package/lib/codegen/openapi.js +81 -3
  17. package/lib/codegen/openapi.js.map +1 -1
  18. package/lib/codegen/patches.d.ts +65 -0
  19. package/lib/codegen/patches.d.ts.map +1 -0
  20. package/lib/codegen/patches.js +236 -0
  21. package/lib/codegen/patches.js.map +1 -0
  22. package/lib/codegen/patches.test.d.ts +2 -0
  23. package/lib/codegen/patches.test.d.ts.map +1 -0
  24. package/lib/codegen/patches.test.js +105 -0
  25. package/lib/codegen/patches.test.js.map +1 -0
  26. package/lib/codegen/proto.d.ts +121 -0
  27. package/lib/codegen/proto.d.ts.map +1 -0
  28. package/lib/codegen/proto.js +962 -0
  29. package/lib/codegen/proto.js.map +1 -0
  30. package/lib/codegen/rewrite-operation-ids.d.ts +131 -0
  31. package/lib/codegen/rewrite-operation-ids.d.ts.map +1 -0
  32. package/lib/codegen/rewrite-operation-ids.js +1079 -0
  33. package/lib/codegen/rewrite-operation-ids.js.map +1 -0
  34. package/lib/codegen/rewrite-operation-ids.test.d.ts +2 -0
  35. package/lib/codegen/rewrite-operation-ids.test.d.ts.map +1 -0
  36. package/lib/codegen/rewrite-operation-ids.test.js +533 -0
  37. package/lib/codegen/rewrite-operation-ids.test.js.map +1 -0
  38. package/lib/codegen/spec-path.d.ts +16 -0
  39. package/lib/codegen/spec-path.d.ts.map +1 -0
  40. package/lib/codegen/spec-path.js +101 -0
  41. package/lib/codegen/spec-path.js.map +1 -0
  42. package/lib/json-patch.d.ts +18 -11
  43. package/lib/json-patch.d.ts.map +1 -1
  44. package/lib/json-patch.js +63 -25
  45. package/lib/json-patch.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/codegen/cli.ts +14 -91
  48. package/src/codegen/graphql.ts +25 -3
  49. package/src/codegen/openapi-cli.ts +75 -59
  50. package/src/codegen/openapi.ts +118 -4
  51. package/src/codegen/patches.test.ts +130 -0
  52. package/src/codegen/patches.ts +291 -0
  53. package/src/codegen/proto.ts +1128 -0
  54. package/src/codegen/rewrite-operation-ids.test.ts +563 -0
  55. package/src/codegen/rewrite-operation-ids.ts +1206 -0
  56. package/src/codegen/spec-path.ts +115 -0
  57. package/src/json-patch.ts +82 -25
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto.js","sourceRoot":"","sources":["../../src/codegen/proto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Operation naming (dev-time only).
3
+ *
4
+ * Distilled SDK operations are verbNoun (`listApps`, `getApp`,
5
+ * `createMachine`). Upstream ids come in a handful of shapes and
6
+ * {@link toVerbNoun} only reorders the ones it can recognise with confidence:
7
+ *
8
+ * - go-swagger `Resource_action` / `Resource_Sub_action` (`Apps_list`)
9
+ * - REST `NounsAction` with a trailing CRUD verb (`ConfigsList`,
10
+ * `ContainerCreate`, `ServiceMembers_getMetrics`)
11
+ * - GraphQL `nounAction` (`projectCreate`)
12
+ * - `show` → `get`, `index` → `list`, `retrieve` → `get`
13
+ *
14
+ * Anything else is left as-is (lowerFirst only). Reordering a verb out of
15
+ * the middle of an id (`WatchCoreV1PodList` → `listWatch…`) produced worse
16
+ * names than the input, so it is not attempted; per-package
17
+ * {@link OperationIdRewrite} maps cover the tail.
18
+ *
19
+ * RFC-6902 patches that target `/paths/~1foo/get/operationId` break the
20
+ * moment upstream prefixes paths. Naming is a convert policy, not a patch.
21
+ */
22
+ export interface OperationIdContext {
23
+ readonly path: string;
24
+ readonly method: string;
25
+ }
26
+ /**
27
+ * Return the new operation name, or `undefined` to leave the current value.
28
+ * A `Record` is looked up by `"METHOD path"` first, then the spec's
29
+ * `operationId` — same id on PUT vs PATCH needs the path key.
30
+ */
31
+ export type OperationIdRewrite = Readonly<Record<string, string>> | ((operationId: string, ctx: OperationIdContext) => string | undefined);
32
+ export declare const operationNameKey: (ctx: OperationIdContext) => string;
33
+ /** Resolve {@link OperationIdRewrite} against method+path, then operationId. */
34
+ export declare const resolveOperationName: (rewrite: OperationIdRewrite, operationId: string, ctx: OperationIdContext) => string | undefined;
35
+ /**
36
+ * Conservative singular. Only strips a trailing `s` when the word is a
37
+ * regular plural we are confident about; anything ambiguous is returned
38
+ * unchanged, because `getAlia` is worse than `getAliases`.
39
+ */
40
+ export declare const singularize: (raw: string) => string;
41
+ /**
42
+ * Distilled SDK names are verbNoun (`listApps`, `getApp`, `createMachine`).
43
+ *
44
+ * - Already verb-first (`listSprites`, `GetObject`, `showContact`,
45
+ * `WatchPodList`) stays, with `show`/`index`/`retrieve` aliased.
46
+ * - Trailing action (`ConfigsList`, `PlansGet`, `ContainerCreate`,
47
+ * `VirtualMachinesStart`, `ReleaseGet`) moves the verb first and
48
+ * singularises the resource for non-list verbs.
49
+ * - go-swagger / autorest `Apps_list`, `App_Certificates_show`,
50
+ * `Machines_list_events`, `ServiceMembers_getMetrics`: the verb heads the
51
+ * first `_` segment after the resource.
52
+ * - Anything else (`AppGetOrCreate`, `VirtualMachines_createOrUpdate`,
53
+ * `DnsRecordsBatch`, `accountById`) is returned unchanged apart from
54
+ * lowerFirst. Use {@link OperationIdRewrite} for those.
55
+ */
56
+ export declare const toVerbNoun: (operationId: string) => string;
57
+ /**
58
+ * Whether an OpenAPI `operationId` carries no information beyond the
59
+ * method and path: absent, or a mechanical restatement of the route such
60
+ * as `get-api-card`, `post_v1_users_id`, `getApiV1AnnotationLayer`. A
61
+ * hand-chosen id that merely starts with the method (`delete-artifact` for
62
+ * `/repos/{owner}/{repo}/actions/artifacts/{id}`) is NOT mechanical — it
63
+ * names a subset of the route on purpose — so the id must cover every
64
+ * literal path segment, and every id token must come from the route.
65
+ */
66
+ /**
67
+ * A stricter subclass of mechanical ids: nothing in the id was chosen by
68
+ * a person. Either there is no id, or the id is the route spelled out —
69
+ * `postV1AppsByAppIdPromote`, `get_v1_users_id`, `get-api-card`,
70
+ * `getCustomerById`. Such names are derived from the route alone.
71
+ *
72
+ * A `By…` clause counts as verbatim only when it names a whole parameter
73
+ * (`ByAppId` for `{appId}`) or is a bare `ById`. `get_webhook_by_token`
74
+ * for `/webhooks/{webhook_id}/{webhook_token}` is a chosen
75
+ * disambiguation, so its nouns are kept; likewise `deleteScheduledJob`.
76
+ */
77
+ export declare const isVerbatimRouteId: (operationId: string | undefined, ctx: OperationIdContext) => boolean;
78
+ export declare const isMechanicalOperationId: (operationId: string | undefined, ctx: OperationIdContext) => boolean;
79
+ /**
80
+ * Derive `verbNoun` from `METHOD /path` for operations whose operationId
81
+ * is missing or mechanical:
82
+ *
83
+ * GET /users → listUsers (when the 200 body is a
84
+ * collection; else getUsers)
85
+ * GET /users/{id} → getUser
86
+ * POST /users → createUser
87
+ * POST /users/{id} → updateUser (Stripe-style POST-to-update)
88
+ * PUT /users/{id} → putUser (replace semantics kept)
89
+ * PATCH /users/{id} → updateUser
90
+ * DELETE /users/{id} → deleteUser
91
+ * POST /users/{id}/reset → resetUser (trailing action segment)
92
+ * GET /orgs/{o}/repos → listOrgRepos (parents, singular, keep order)
93
+ *
94
+ * `/api`, `/v1`-style roots are dropped. Path parameters contribute nothing
95
+ * to the name; only literal segments do.
96
+ */
97
+ export interface PathNamingHints {
98
+ /**
99
+ * Whether the success response is a collection (array body, or an
100
+ * object whose only/primary member is an array). Decides `list` vs
101
+ * `get` for a GET on a route with no trailing parameter.
102
+ */
103
+ readonly returnsCollection?: boolean;
104
+ /**
105
+ * A mechanical operationId (`get-feeds`, `delete_v1_users_id`) whose
106
+ * noun tokens, after the method, should be used verbatim instead of
107
+ * being re-derived (and re-singularised) from the route.
108
+ */
109
+ readonly nouns?: string;
110
+ /**
111
+ * `nouns` is the route spelled out (`postV1AppsByAppIdPromote`), so
112
+ * parameter tokens embedded without a `By` (`get_v1_users_id`) and
113
+ * every `By…` clause are dropped, and the resource is singularised
114
+ * when a parameter follows it.
115
+ */
116
+ readonly verbatim?: boolean;
117
+ }
118
+ export declare const pathToVerbNoun: (ctx: OperationIdContext, hints?: PathNamingHints) => string;
119
+ /**
120
+ * Rename operations (and every shape whose name starts with the operation
121
+ * name — `FooRequest`, `FooResponse`, `FooRequestBody`, `FooResponseItemsList`)
122
+ * in a Smithy model to verbNoun PascalCase. Mutates `model.shapes`.
123
+ * Colliding names keep the original id and are reported.
124
+ */
125
+ export declare const verbNounSmithyModel: (model: {
126
+ shapes?: Record<string, any>;
127
+ }) => {
128
+ renamed: number;
129
+ collisions: string[];
130
+ };
131
+ //# sourceMappingURL=rewrite-operation-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewrite-operation-ids.d.ts","sourceRoot":"","sources":["../../src/codegen/rewrite-operation-ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;AAme3E,eAAO,MAAM,gBAAgB,QAAS,kBAAkB,KAAG,MAChB,CAAC;AAE5C,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,YACtB,kBAAkB,eACd,MAAM,OACd,kBAAkB,KACtB,MAAM,GAAG,SAGX,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MA6BzC,CAAC;AAgEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,gBAAiB,MAAM,KAAG,MA8FhD,CAAC;AAwCF;;;;;;;;GAQG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,gBACf,MAAM,GAAG,SAAS,OAC1B,kBAAkB,KACtB,OAqCF,CAAC;AAQF,eAAO,MAAM,uBAAuB,gBACrB,MAAM,GAAG,SAAS,OAC1B,kBAAkB,KACtB,OAkCF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,QACpB,kBAAkB,UAChB,eAAe,KACrB,MAiMF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,UAAW;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,KAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAqE1C,CAAC"}