@voxgig/apidef 2.0.2 → 2.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/transform/clean.ts"],"names":[],"mappings":";;;AAKA,2CAAqC;AAIrC,MAAM,cAAc,GAAG,KAAK,WAC1B,GAAQ;IAER,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAExB,IAAA,aAAI,EAAC,QAAQ,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QAChC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;AAIC,wCAAc"}
@@ -42,7 +42,8 @@ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
42
42
  const field = (entityModel.field[property.key$] = entityModel.field[property.key$] || {});
43
43
  field.name = property.key$;
44
44
  (0, transform_1.fixName)(field, field.name);
45
- field.type = property.type;
45
+ // field.type = property.type
46
+ resolveFieldType(entityModel, field, property);
46
47
  (0, transform_1.fixName)(field, field.type, 'type');
47
48
  field.short = property.description;
48
49
  fieldCount++;
@@ -60,4 +61,26 @@ function fieldbuild(entityModel, pathdef, op, path, entity, model) {
60
61
  }
61
62
  return fieldCount;
62
63
  }
64
+ // Resovles a heuristic "primary" type which subsumes the more detailed type.
65
+ // The primary type is only: string, number, boolean, null, object, array
66
+ function resolveFieldType(entity, field, property) {
67
+ const ptt = typeof property.type;
68
+ if ('string' === ptt) {
69
+ field.type = property.type;
70
+ }
71
+ else if (Array.isArray(property.type)) {
72
+ field.type =
73
+ (property.type.filter((t) => 'null' != t).sort()[0]) ||
74
+ property.type[0] ||
75
+ 'string';
76
+ field.typelist = property.type;
77
+ }
78
+ else if ('undefined' === ptt && null != property.enum) {
79
+ field.type = 'string';
80
+ field.enum = property.enum;
81
+ }
82
+ else {
83
+ throw new Error(`APIDEF: Unsupported property type: ${property.type} (${entity.name}.${field.name})`);
84
+ }
85
+ }
63
86
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.operationTransform = void 0;
4
4
  const jostraca_1 = require("jostraca");
5
5
  const transform_1 = require("../transform");
6
+ const utility_1 = require("../utility");
6
7
  const operationTransform = async function (ctx) {
7
8
  const { apimodel, model, def } = ctx;
8
9
  const guide = model.main.api.guide;
@@ -63,8 +64,9 @@ const operationTransform = async function (ctx) {
63
64
  const resolveResponseTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
64
65
  let why = 'default';
65
66
  let transform = '`body`';
66
- if (null == content || null == schema || null == propkeys) {
67
- return transform;
67
+ const properties = schema?.properties;
68
+ if (null == content || null == schema || null == propkeys || null == properties) {
69
+ return [transform, why];
68
70
  }
69
71
  const opname = op.key$;
70
72
  if ('list' === opname) {
@@ -76,9 +78,10 @@ const operationTransform = async function (ctx) {
76
78
  else {
77
79
  // Use sub property that is an array
78
80
  for (let pk of propkeys) {
79
- if ('array' === schema.properties[pk]?.type) {
81
+ if ('array' === properties[pk]?.type) {
80
82
  why = 'list-single-array:' + pk;
81
83
  transform = '`body.' + pk + '`';
84
+ // TODO: if each item has prop === name of entity, use that, get with $EACH
82
85
  break;
83
86
  }
84
87
  }
@@ -87,14 +90,14 @@ const operationTransform = async function (ctx) {
87
90
  }
88
91
  else {
89
92
  if ('object' === schema.type) {
90
- if (null == schema.properties.id) {
93
+ if (null == properties.id) {
91
94
  if (1 === propkeys.length) {
92
95
  why = 'map-single-prop:' + propkeys[0];
93
96
  transform = '`body.' + propkeys[0] + '`';
94
97
  }
95
98
  else {
96
99
  for (let pk of propkeys) {
97
- if (schema.properties[pk].properties?.id) {
100
+ if (properties[pk]?.properties?.id) {
98
101
  why = 'map-sub-prop:' + pk;
99
102
  transform = '`body.' + pk + '`';
100
103
  break;
@@ -107,24 +110,25 @@ const operationTransform = async function (ctx) {
107
110
  return [transform, why];
108
111
  };
109
112
  const resolveRequestTransform = (entityModel, op, kind, direction, method, mdef, content, schema, propkeys) => {
110
- let transform = '`data`';
113
+ let transform = '`reqdata`';
111
114
  let why = 'default';
112
- if (null == content || null == schema || null == propkeys) {
113
- return transform;
115
+ const properties = schema?.properties;
116
+ if (null == content || null == schema || null == propkeys || null == properties) {
117
+ return [transform, why];
114
118
  }
115
119
  const opname = op.key$;
116
120
  if ('list' === opname) {
117
121
  if ('array' !== schema.type) {
118
122
  if (1 === propkeys.length) {
119
123
  why = 'list-single-prop:' + propkeys[0];
120
- transform = { [propkeys[0]]: '`data`' };
124
+ transform = { [propkeys[0]]: '`reqdata`' };
121
125
  }
122
126
  else {
123
127
  // Use sub property that is an array
124
128
  for (let pk of propkeys) {
125
- if ('array' === schema.properties[pk]?.type) {
129
+ if ('array' === properties[pk]?.type) {
126
130
  why = 'list-single-array:' + pk;
127
- transform = { [pk]: '`data`' };
131
+ transform = { [pk]: '`reqdata`' };
128
132
  break;
129
133
  }
130
134
  }
@@ -133,16 +137,16 @@ const operationTransform = async function (ctx) {
133
137
  }
134
138
  else {
135
139
  if ('object' === schema.type) {
136
- if (null == schema.properties.id) {
140
+ if (null == properties.id) {
137
141
  if (1 === propkeys.length) {
138
142
  why = 'map-single-prop:' + propkeys[0];
139
- transform = { [propkeys[0]]: '`data`' };
143
+ transform = { [propkeys[0]]: '`reqdata`' };
140
144
  }
141
145
  else {
142
146
  for (let pk of propkeys) {
143
- if (schema.properties[pk].properties?.id) {
147
+ if (properties[pk]?.properties?.id) {
144
148
  why = 'map-sub-prop:' + pk;
145
- transform = { [pk]: '`data`' };
149
+ transform = { [pk]: '`reqdata`' };
146
150
  break;
147
151
  }
148
152
  }
@@ -159,8 +163,9 @@ const operationTransform = async function (ctx) {
159
163
  const kind = transform_1.OPKIND[opname];
160
164
  const [resform, resform_COMMENT] = resolveTransform(entityModel, op, kind, 'resform', pathdef);
161
165
  const [reqform, reqform_COMMENT] = resolveTransform(entityModel, op, kind, 'reqform', pathdef);
162
- const opModel = entityModel.op[opname] = {
166
+ const opModel = {
163
167
  path: path.key$,
168
+ pathalt: [],
164
169
  method,
165
170
  kind,
166
171
  param: {},
@@ -174,18 +179,47 @@ const operationTransform = async function (ctx) {
174
179
  }
175
180
  };
176
181
  (0, transform_1.fixName)(opModel, op.key$);
182
+ let params = [];
177
183
  // Params are in the path
178
184
  if (0 < path.params$.length) {
179
- let params = (0, jostraca_1.getx)(pathdef[method], 'parameters?in=path') || [];
180
- if (Array.isArray(params)) {
181
- params.reduce((a, p) => (paramBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.param);
182
- }
185
+ let sharedparams = (0, jostraca_1.getx)(pathdef, 'parameters?in=path') || [];
186
+ params = sharedparams.concat((0, jostraca_1.getx)(pathdef[method], 'parameters?in=path') || []);
187
+ // if (Array.isArray(params)) {
188
+ params.reduce((a, p) => (paramBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.param);
189
+ //}
183
190
  }
184
191
  // Queries are after the ?
185
- let queries = (0, jostraca_1.getx)(pathdef[op.val$], 'parameters?in!=path') || [];
186
- if (Array.isArray(queries)) {
187
- queries.reduce((a, p) => (queryBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.query);
192
+ let sharedqueries = (0, jostraca_1.getx)(pathdef, 'parameters?in!=path') || [];
193
+ let queries = sharedqueries.concat((0, jostraca_1.getx)(pathdef[method], 'parameters?in!=path') || []);
194
+ queries.reduce((a, p) => (queryBuilder(a, p, opModel, entityModel, pathdef, op, path, entity, model), a), opModel.query);
195
+ let pathalt = [];
196
+ const pathselector = makePathSelector(path.key$); // , params)
197
+ let before = false;
198
+ if (null != entityModel.op[opname]) {
199
+ pathalt = entityModel.op[opname].pathalt;
200
+ // Ordering for pathalts: most to least paramrs, then alphanumberic
201
+ for (let i = 0; i < pathalt.length; i++) {
202
+ let current = pathalt[i];
203
+ before =
204
+ pathselector.pn$ > current.pn$ ||
205
+ (pathselector.pn$ === current.pn$ &&
206
+ pathselector.path <= current.path);
207
+ if (before) {
208
+ pathalt = [
209
+ ...pathalt.slice(0, i),
210
+ pathselector,
211
+ ...pathalt.slice(i),
212
+ ];
213
+ break;
214
+ }
215
+ }
216
+ }
217
+ if (!before) {
218
+ pathalt.push(pathselector);
188
219
  }
220
+ opModel.path = pathalt[pathalt.length - 1].path;
221
+ opModel.pathalt = pathalt;
222
+ entityModel.op[opname] = opModel;
189
223
  return opModel;
190
224
  },
191
225
  list: (entityModel, pathdef, op, path, entity, model) => {
@@ -204,6 +238,22 @@ const operationTransform = async function (ctx) {
204
238
  return opBuilder.any(entityModel, pathdef, op, path, entity, model);
205
239
  },
206
240
  };
241
+ /*
242
+ console.dir(
243
+ transform({ guide }, {
244
+ entity: {
245
+ '`$PACK`': ['guide.entity', {
246
+ '`$KEY`': 'name',
247
+ op: {
248
+ // load: ['`$IF`', ['`$SELECT`',{path:{'`$ANY`':{op:{load:'`$EXISTS`'}}}}], {
249
+ load: ['`$IF`', 'path.*.op.load', {
250
+ path: () => 'foo'
251
+ }]
252
+ }
253
+ }]
254
+ }
255
+ }), { depth: null })
256
+ */
207
257
  (0, jostraca_1.each)(guide.entity, (guideEntity) => {
208
258
  let opcount = 0;
209
259
  const entityModel = apimodel.main.api.entity[guideEntity.key$];
@@ -222,4 +272,19 @@ const operationTransform = async function (ctx) {
222
272
  return { ok: true, msg };
223
273
  };
224
274
  exports.operationTransform = operationTransform;
275
+ function makePathSelector(path) {
276
+ let out = { path };
277
+ let pn$ = 0;
278
+ for (const m of path.matchAll(/\/[^\/]+\/{([^}]+)\}/g)) {
279
+ const paramName = (0, utility_1.depluralize)((0, jostraca_1.snakify)(m[1]));
280
+ out[paramName] = true;
281
+ pn$++;
282
+ }
283
+ out.pn$ = pn$;
284
+ // for (let p of params) {
285
+ // setprop(out, p.name, getprop(out, p.name, false))
286
+ // console.log('SP', p.name, out[p.name])
287
+ // }
288
+ return out;
289
+ }
225
290
  //# sourceMappingURL=operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/transform/operation.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,6 @@ type TransformResult = {
16
16
  transform?: any;
17
17
  };
18
18
  type Transform = (ctx: TransformCtx, guide: Guide, tspec: TransformSpec, apimodel: any, def: any) => Promise<TransformResult>;
19
- type ProcessResult = {
20
- ok: boolean;
21
- msg: string;
22
- results: TransformResult[];
23
- };
24
19
  declare const OPKIND: any;
25
20
  declare const GuideShape: {
26
21
  <V>(root?: V | undefined, ctx?: import("gubu").Context): V & {
@@ -88,8 +83,6 @@ declare const GuideShape: {
88
83
  };
89
84
  };
90
85
  type Guide = ReturnType<typeof GuideShape>;
91
- declare function resolveTransforms(ctx: TransformCtx): Promise<TransformSpec>;
92
- declare function processTransforms(ctx: TransformCtx, transforms: any[], apimodel: any, def: any): Promise<ProcessResult>;
93
86
  declare function fixName(base: any, name: string, prop?: string): void;
94
87
  export type { TransformCtx, TransformSpec, Transform, TransformResult, Guide, };
95
- export { fixName, OPKIND, GuideShape, resolveTransforms, processTransforms, };
88
+ export { fixName, OPKIND, GuideShape, };
package/dist/transform.js CHANGED
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  /* Copyright (c) 2024 Voxgig, MIT License */
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
4
  exports.GuideShape = exports.OPKIND = void 0;
8
5
  exports.fixName = fixName;
9
- exports.resolveTransforms = resolveTransforms;
10
- exports.processTransforms = processTransforms;
11
- const node_path_1 = __importDefault(require("node:path"));
12
6
  const jostraca_1 = require("jostraca");
13
7
  const gubu_1 = require("gubu");
14
8
  const top_1 = require("./transform/top");
@@ -37,99 +31,132 @@ const GuideShape = (0, gubu_1.Gubu)({
37
31
  manual: {},
38
32
  });
39
33
  exports.GuideShape = GuideShape;
40
- async function resolveTransforms(ctx) {
41
- const { log, model: { main: { api: { guide } } } } = ctx;
42
- const tspec = {
43
- transform: []
44
- };
45
- // TODO: parameterize
46
- const defkind = 'openapi';
47
- const transformNames = guide.control.transform[defkind].order
48
- .split(/\s*,\s*/)
49
- .map((t) => t.trim())
50
- .filter((t) => '' != t);
51
- log.info({
52
- point: 'transform', note: 'order: ' + transformNames.join(';'),
53
- order: transformNames
54
- });
55
- try {
56
- for (const tn of transformNames) {
57
- log.debug({ what: 'transform', transform: tn, note: tn });
58
- const transform = await resolveTransform(tn, ctx);
59
- tspec.transform.push(transform);
60
- }
61
- }
62
- catch (err) {
63
- throw err;
64
- }
65
- return tspec;
34
+ /*
35
+ async function resolveTransforms(ctx: TransformCtx): Promise<TransformSpec> {
36
+ const { log, model: { main: { api: { guide } } } } = ctx
37
+
38
+ const tspec: TransformSpec = {
39
+ transform: []
40
+ }
41
+
42
+ // TODO: parameterize
43
+ const defkind = 'openapi'
44
+ const transformNames = guide.control.transform[defkind].order
45
+ .split(/\s*,\s* /)
46
+ .map((t: string) => t.trim())
47
+ .filter((t: string) => '' != t)
48
+
49
+ log.info({
50
+ point: 'transform', note: 'order: ' + transformNames.join(';'),
51
+ order: transformNames
52
+ })
53
+
54
+ try {
55
+ for (const tn of transformNames) {
56
+ log.debug({ what: 'transform', transform: tn, note: tn })
57
+ const transform = await resolveTransform(tn, ctx)
58
+ tspec.transform.push(transform)
59
+ }
66
60
  }
67
- async function resolveTransform(tn, ctx) {
68
- const { log, defpath, model: { main: { api: { guide } } } } = ctx;
69
- let transform = TRANSFORM[tn];
70
- if (transform) {
71
- return transform;
72
- }
73
- const tdef = guide.transform[tn];
74
- if (null == tdef) {
75
- const err = new Error('Unknown transform: ' + tn);
76
- log.error({ what: 'transform', transform: tn, fail: 'unknown', err });
77
- throw err;
78
- }
79
- if (!tn.startsWith('custom')) {
80
- const err = new Error('Custom transform name must start with "custom": ' + tn);
81
- log.error({ what: 'transform', transform: tn, fail: 'prefix', err });
82
- throw err;
83
- }
84
- const customtpath = node_path_1.default.join(defpath, tdef.load);
61
+ catch (err: any) {
62
+ throw err
63
+ }
64
+
65
+ return tspec
66
+ }
67
+
68
+
69
+ async function resolveTransform(tn: string, ctx: TransformCtx) {
70
+ const { log, defpath, model: { main: { api: { guide } } } } = ctx
71
+
72
+ let transform = TRANSFORM[tn]
73
+ if (transform) {
74
+ return transform
75
+ }
76
+
77
+ const tdef = guide.transform[tn]
78
+ if (null == tdef) {
79
+ const err = new Error('Unknown transform: ' + tn)
80
+ log.error({ what: 'transform', transform: tn, fail: 'unknown', err })
81
+ throw err
82
+ }
83
+
84
+ if (!tn.startsWith('custom')) {
85
+ const err =
86
+ new Error('Custom transform name must start with "custom": ' + tn)
87
+ log.error({ what: 'transform', transform: tn, fail: 'prefix', err })
88
+ throw err
89
+ }
90
+
91
+ const customtpath = Path.join(defpath, tdef.load)
92
+ try {
93
+ const transformModule = require(customtpath)
94
+ transform = transformModule[tn]
95
+ }
96
+ catch (e: any) {
97
+ const err = new Error('Custom transform not found: ' +
98
+ customtpath + ': ' + e.message)
99
+ log.error({ what: 'transform', transform: tn, fail: 'require', err })
100
+ throw err
101
+ }
102
+
103
+ return transform
104
+ }
105
+
106
+
107
+ async function processTransforms(
108
+ ctx: TransformCtx,
109
+ // spec: TransformSpec,
110
+ transforms: any[],
111
+ apimodel: any,
112
+ def: any
113
+ ): Promise<ProcessResult> {
114
+ const pres: ProcessResult = {
115
+ ok: true,
116
+ msg: '',
117
+ results: []
118
+ }
119
+
120
+ const guide: Guide = GuideShape(ctx.model.main.api.guide)
121
+
122
+
123
+ // for (let tI = 0; tI < spec.transform.length; tI++) {
124
+ // const transform = spec.transform[tI]
125
+
126
+ for (let tI = 0; tI < transforms.length; tI++) {
127
+ const transform = transforms[tI]
128
+
85
129
  try {
86
- const transformModule = require(customtpath);
87
- transform = transformModule[tn];
130
+ const tres = await transform(ctx, guide, apimodel, def)
131
+ pres.ok = pres.ok && tres.ok
132
+ pres.results.push(tres)
88
133
  }
89
- catch (e) {
90
- const err = new Error('Custom transform not found: ' +
91
- customtpath + ': ' + e.message);
92
- log.error({ what: 'transform', transform: tn, fail: 'require', err });
93
- throw err;
134
+ catch (err: any) {
135
+ // TODO: fix: this error does not get printed
136
+ console.error(err)
137
+
138
+ pres.ok = false
139
+ pres.msg += transform.name + ': ' + err.message + '\n'
140
+ pres.results.push({
141
+ ok: false,
142
+ msg: err.message,
143
+ err,
144
+ transform
145
+ })
94
146
  }
95
- return transform;
96
- }
97
- async function processTransforms(ctx,
98
- // spec: TransformSpec,
99
- transforms, apimodel, def) {
100
- const pres = {
101
- ok: true,
102
- msg: '',
103
- results: []
104
- };
105
- const guide = GuideShape(ctx.model.main.api.guide);
106
- // for (let tI = 0; tI < spec.transform.length; tI++) {
107
- // const transform = spec.transform[tI]
108
- for (let tI = 0; tI < transforms.length; tI++) {
109
- const transform = transforms[tI];
110
- try {
111
- const tres = await transform(ctx, guide, apimodel, def);
112
- pres.ok = pres.ok && tres.ok;
113
- pres.results.push(tres);
114
- }
115
- catch (err) {
116
- // TODO: fix: this error does not get printed
117
- console.error(err);
118
- pres.ok = false;
119
- pres.msg += transform.name + ': ' + err.message + '\n';
120
- pres.results.push({
121
- ok: false,
122
- msg: err.message,
123
- err,
124
- transform
125
- });
126
- }
127
- }
128
- return pres;
147
+ }
148
+
149
+ return pres
129
150
  }
151
+ */
130
152
  function fixName(base, name, prop = 'name') {
131
- base[prop.toLowerCase()] = name.toLowerCase();
132
- base[(0, jostraca_1.camelify)(prop)] = (0, jostraca_1.camelify)(name);
133
- base[prop.toUpperCase()] = name.toUpperCase();
153
+ if (null != base && 'object' === typeof base && 'string' === typeof name) {
154
+ base[prop.toLowerCase()] = name.toLowerCase();
155
+ base[(0, jostraca_1.camelify)(prop)] = (0, jostraca_1.camelify)(name);
156
+ base[prop.toUpperCase()] = name.toUpperCase();
157
+ }
158
+ else {
159
+ // record to a "wierds" log
160
+ }
134
161
  }
135
162
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";AAAA,4CAA4C;;;AAmO1C,0BAAO;AA9NT,uCAA+C;AAE/C,+BAAyC;AAEzC,yCAA8C;AAC9C,+CAAoD;AACpD,qDAA0D;AAC1D,6CAAkD;AAwClD,MAAM,SAAS,GAA8B;IAC3C,GAAG,EAAE,kBAAY;IACjB,MAAM,EAAE,wBAAe;IACvB,SAAS,EAAE,8BAAkB;IAC7B,KAAK,EAAE,sBAAc;IACrB,2BAA2B;CAC5B,CAAA;AAID,MAAM,MAAM,GAAQ;IAClB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;CACd,CAAA;AAgKC,wBAAM;AA7JR,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC;IACtB,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAA;AAyJA,gCAAU;AApJZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqHE;AAIF,SAAS,OAAO,CAAC,IAAS,EAAE,IAAY,EAAE,IAAI,GAAG,MAAM;IACrD,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7C,IAAI,CAAC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/C,CAAC;SACI,CAAC;QACJ,2BAA2B;IAC7B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"root":["../src/apidef.ts","../src/guide.ts","../src/parse.ts","../src/resolver.ts","../src/transform.ts","../src/types.ts","../src/utility.ts","../src/builder/entity.ts","../src/builder/flow.ts","../src/builder/entity/apientity.ts","../src/builder/entity/def.ts","../src/builder/flow/flowheuristic01.ts","../src/guide/heuristic01.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/operation.ts","../src/transform/top.ts"],"version":"5.8.3"}
1
+ {"root":["../src/apidef.ts","../src/guide.ts","../src/parse.ts","../src/resolver.ts","../src/transform.ts","../src/types.ts","../src/utility.ts","../src/builder/entity.ts","../src/builder/flow.ts","../src/builder/entity/apientity.ts","../src/builder/entity/def.ts","../src/builder/flow/flowheuristic01.ts","../src/guide/heuristic01.ts","../src/transform/clean.ts","../src/transform/entity.ts","../src/transform/field.ts","../src/transform/operation.ts","../src/transform/top.ts"],"version":"5.9.2"}
package/dist/utility.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import type { FsUtil, Log } from './types';
2
+ declare function getdlog(tagin?: string, filepath?: string): ((...args: any[]) => void) & {
3
+ tag: string;
4
+ file: string;
5
+ log: (fp?: string) => any[];
6
+ };
2
7
  declare function loadFile(path: string, what: string, fs: FsUtil, log: Log): string;
3
8
  declare function formatJsonSrc(jsonsrc: string): string;
4
9
  declare function depluralize(word: string): string;
5
- export { loadFile, formatJsonSrc, depluralize, };
10
+ export { getdlog, loadFile, formatJsonSrc, depluralize, };