@feathersjs/cli 5.0.0-pre.28 → 5.0.0-pre.30

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 (155) hide show
  1. package/CHANGELOG.md +28 -28
  2. package/bin/feathers +3 -6
  3. package/lib/app/index.js +34 -11
  4. package/lib/app/index.js.map +1 -1
  5. package/lib/app/index.ts +81 -53
  6. package/lib/app/templates/app.test.tpl.js +1 -1
  7. package/lib/app/templates/app.test.tpl.js.map +1 -1
  8. package/lib/app/templates/app.test.tpl.ts +1 -2
  9. package/lib/app/templates/app.tpl.js +24 -12
  10. package/lib/app/templates/app.tpl.js.map +1 -1
  11. package/lib/app/templates/app.tpl.ts +28 -14
  12. package/lib/app/templates/channels.tpl.js +1 -1
  13. package/lib/app/templates/channels.tpl.js.map +1 -1
  14. package/lib/app/templates/channels.tpl.ts +1 -2
  15. package/lib/app/templates/client.tpl.js +3 -3
  16. package/lib/app/templates/client.tpl.js.map +1 -1
  17. package/lib/app/templates/client.tpl.ts +3 -4
  18. package/lib/app/templates/config.tpl.js +10 -1
  19. package/lib/app/templates/config.tpl.js.map +1 -1
  20. package/lib/app/templates/config.tpl.ts +10 -0
  21. package/lib/app/templates/declarations.tpl.js +3 -3
  22. package/lib/app/templates/declarations.tpl.js.map +1 -1
  23. package/lib/app/templates/declarations.tpl.ts +5 -4
  24. package/lib/app/templates/index.html.tpl.js +12 -52
  25. package/lib/app/templates/index.html.tpl.js.map +1 -1
  26. package/lib/app/templates/index.html.tpl.ts +12 -53
  27. package/lib/app/templates/index.tpl.js +1 -1
  28. package/lib/app/templates/index.tpl.js.map +1 -1
  29. package/lib/app/templates/index.tpl.ts +1 -2
  30. package/lib/app/templates/logger.tpl.js +1 -1
  31. package/lib/app/templates/logger.tpl.js.map +1 -1
  32. package/lib/app/templates/logger.tpl.ts +2 -2
  33. package/lib/app/templates/package.json.tpl.js +4 -3
  34. package/lib/app/templates/package.json.tpl.js.map +1 -1
  35. package/lib/app/templates/package.json.tpl.ts +5 -3
  36. package/lib/app/templates/readme.md.tpl.js +11 -7
  37. package/lib/app/templates/readme.md.tpl.js.map +1 -1
  38. package/lib/app/templates/readme.md.tpl.ts +15 -8
  39. package/lib/app/templates/{configuration.tpl.d.ts → schemas.tpl.d.ts} +0 -0
  40. package/lib/app/templates/schemas.tpl.js +76 -0
  41. package/lib/app/templates/schemas.tpl.js.map +1 -0
  42. package/lib/app/templates/schemas.tpl.ts +90 -0
  43. package/lib/app/templates/services.tpl.js +1 -1
  44. package/lib/app/templates/services.tpl.js.map +1 -1
  45. package/lib/app/templates/services.tpl.ts +1 -2
  46. package/lib/authentication/index.d.ts +4 -3
  47. package/lib/authentication/index.js +12 -3
  48. package/lib/authentication/index.js.map +1 -1
  49. package/lib/authentication/index.ts +23 -5
  50. package/lib/authentication/templates/authentication.tpl.js +4 -6
  51. package/lib/authentication/templates/authentication.tpl.js.map +1 -1
  52. package/lib/authentication/templates/authentication.tpl.ts +6 -9
  53. package/lib/authentication/templates/config.tpl.js +10 -6
  54. package/lib/authentication/templates/config.tpl.js.map +1 -1
  55. package/lib/authentication/templates/config.tpl.ts +40 -34
  56. package/lib/authentication/templates/declarations.tpl.js +3 -3
  57. package/lib/authentication/templates/declarations.tpl.js.map +1 -1
  58. package/lib/authentication/templates/declarations.tpl.ts +9 -4
  59. package/lib/authentication/templates/knex.tpl.js +5 -4
  60. package/lib/authentication/templates/knex.tpl.js.map +1 -1
  61. package/lib/authentication/templates/knex.tpl.ts +5 -4
  62. package/lib/authentication/templates/{user.resolver.tpl.d.ts → schema.json.tpl.d.ts} +0 -0
  63. package/lib/authentication/templates/schema.json.tpl.js +92 -0
  64. package/lib/authentication/templates/schema.json.tpl.js.map +1 -0
  65. package/lib/authentication/templates/schema.json.tpl.ts +108 -0
  66. package/lib/authentication/templates/{user.schema.tpl.d.ts → schema.typebox.tpl.d.ts} +1 -0
  67. package/lib/authentication/templates/schema.typebox.tpl.js +79 -0
  68. package/lib/authentication/templates/schema.typebox.tpl.js.map +1 -0
  69. package/lib/authentication/templates/schema.typebox.tpl.ts +94 -0
  70. package/lib/authentication/templates/test.tpl.js +2 -2
  71. package/lib/authentication/templates/test.tpl.js.map +1 -1
  72. package/lib/authentication/templates/test.tpl.ts +6 -3
  73. package/lib/cli.d.ts +6 -0
  74. package/lib/cli.js +75 -0
  75. package/lib/cli.js.map +1 -0
  76. package/lib/cli.ts +68 -0
  77. package/lib/commons.d.ts +14 -1
  78. package/lib/commons.js +24 -4
  79. package/lib/commons.js.map +1 -1
  80. package/lib/commons.ts +29 -1
  81. package/lib/connection/index.d.ts +5 -3
  82. package/lib/connection/index.js +5 -3
  83. package/lib/connection/index.js.map +1 -1
  84. package/lib/connection/index.ts +19 -5
  85. package/lib/connection/templates/knex.tpl.js +2 -12
  86. package/lib/connection/templates/knex.tpl.js.map +1 -1
  87. package/lib/connection/templates/knex.tpl.ts +6 -20
  88. package/lib/connection/templates/mongodb.tpl.js +1 -3
  89. package/lib/connection/templates/mongodb.tpl.js.map +1 -1
  90. package/lib/connection/templates/mongodb.tpl.ts +1 -12
  91. package/lib/hook/index.d.ts +1 -1
  92. package/lib/hook/index.js +3 -0
  93. package/lib/hook/index.js.map +1 -1
  94. package/lib/hook/index.ts +3 -1
  95. package/lib/hook/templates/hook.tpl.js +2 -3
  96. package/lib/hook/templates/hook.tpl.js.map +1 -1
  97. package/lib/hook/templates/hook.tpl.ts +5 -3
  98. package/lib/index.d.ts +2 -16
  99. package/lib/index.js +16 -24
  100. package/lib/index.js.map +1 -1
  101. package/lib/index.ts +2 -28
  102. package/lib/service/index.d.ts +10 -2
  103. package/lib/service/index.js +79 -41
  104. package/lib/service/index.js.map +1 -1
  105. package/lib/service/index.ts +54 -6
  106. package/lib/service/templates/client.tpl.js +26 -6
  107. package/lib/service/templates/client.tpl.js.map +1 -1
  108. package/lib/service/templates/client.tpl.ts +41 -12
  109. package/lib/service/templates/{class.tpl.d.ts → schema.json.tpl.d.ts} +0 -0
  110. package/lib/service/templates/schema.json.tpl.js +73 -0
  111. package/lib/service/templates/schema.json.tpl.js.map +1 -0
  112. package/lib/service/templates/schema.json.tpl.ts +85 -0
  113. package/lib/service/templates/{resolver.tpl.d.ts → schema.typebox.tpl.d.ts} +0 -0
  114. package/lib/service/templates/schema.typebox.tpl.js +58 -0
  115. package/lib/service/templates/schema.typebox.tpl.js.map +1 -0
  116. package/lib/service/templates/schema.typebox.tpl.ts +70 -0
  117. package/lib/service/templates/service.tpl.d.ts +1 -0
  118. package/lib/service/templates/service.tpl.js +67 -15
  119. package/lib/service/templates/service.tpl.js.map +1 -1
  120. package/lib/service/templates/service.tpl.ts +98 -19
  121. package/lib/service/templates/test.tpl.js +1 -1
  122. package/lib/service/templates/test.tpl.js.map +1 -1
  123. package/lib/service/templates/test.tpl.ts +1 -2
  124. package/lib/service/type/custom.tpl.d.ts +1 -2
  125. package/lib/service/type/custom.tpl.js +32 -25
  126. package/lib/service/type/custom.tpl.js.map +1 -1
  127. package/lib/service/type/custom.tpl.ts +44 -35
  128. package/lib/service/type/knex.tpl.d.ts +1 -3
  129. package/lib/service/type/knex.tpl.js +33 -23
  130. package/lib/service/type/knex.tpl.js.map +1 -1
  131. package/lib/service/type/knex.tpl.ts +51 -29
  132. package/lib/service/type/mongodb.tpl.d.ts +1 -2
  133. package/lib/service/type/mongodb.tpl.js +30 -20
  134. package/lib/service/type/mongodb.tpl.js.map +1 -1
  135. package/lib/service/type/mongodb.tpl.ts +47 -29
  136. package/package.json +23 -24
  137. package/lib/app/templates/configuration.tpl.js +0 -39
  138. package/lib/app/templates/configuration.tpl.js.map +0 -1
  139. package/lib/app/templates/configuration.tpl.ts +0 -44
  140. package/lib/authentication/templates/user.resolver.tpl.js +0 -98
  141. package/lib/authentication/templates/user.resolver.tpl.js.map +0 -1
  142. package/lib/authentication/templates/user.resolver.tpl.ts +0 -111
  143. package/lib/authentication/templates/user.schema.tpl.js +0 -79
  144. package/lib/authentication/templates/user.schema.tpl.js.map +0 -1
  145. package/lib/authentication/templates/user.schema.tpl.ts +0 -87
  146. package/lib/service/templates/class.tpl.js +0 -63
  147. package/lib/service/templates/class.tpl.js.map +0 -1
  148. package/lib/service/templates/class.tpl.ts +0 -79
  149. package/lib/service/templates/resolver.tpl.js +0 -73
  150. package/lib/service/templates/resolver.tpl.js.map +0 -1
  151. package/lib/service/templates/resolver.tpl.ts +0 -78
  152. package/lib/service/templates/schema.tpl.d.ts +0 -2
  153. package/lib/service/templates/schema.tpl.js +0 -75
  154. package/lib/service/templates/schema.tpl.js.map +0 -1
  155. package/lib/service/templates/schema.tpl.ts +0 -80
@@ -0,0 +1,85 @@
1
+ import { generator, toFile, when } from '@feathershq/pinion'
2
+ import { renderSource } from '../../commons'
3
+ import { ServiceGeneratorContext } from '../index'
4
+
5
+ const template = ({
6
+ camelName,
7
+ upperName,
8
+ relative,
9
+ type
10
+ }: ServiceGeneratorContext) => /* ts */ `import { jsonSchema, resolve } from '@feathersjs/schema'
11
+ import type { FromSchema } from '@feathersjs/schema'
12
+
13
+ import type { HookContext } from '${relative}/declarations'
14
+ import { dataValidator, queryValidator } from '${relative}/schemas/validators'
15
+
16
+ // Schema for the basic data model (e.g. creating new entries)
17
+ export const ${camelName}DataSchema = {
18
+ $id: '${upperName}Data',
19
+ type: 'object',
20
+ additionalProperties: false,
21
+ required: [ 'text' ],
22
+ properties: {
23
+ text: {
24
+ type: 'string'
25
+ }
26
+ }
27
+ } as const
28
+ export type ${upperName}Data = FromSchema<typeof ${camelName}DataSchema>
29
+ export const ${camelName}DataValidator = jsonSchema.getDataValidator(${camelName}DataSchema, dataValidator)
30
+ export const ${camelName}DataResolver = resolve<${upperName}Data, HookContext>({
31
+ properties: {}
32
+ })
33
+
34
+ // Schema for the data that is being returned
35
+ export const ${camelName}Schema = {
36
+ $id: '${upperName}',
37
+ type: 'object',
38
+ additionalProperties: false,
39
+ required: [ ...${camelName}DataSchema.required, '${type === 'mongodb' ? '_id' : 'id'}' ],
40
+ properties: {
41
+ ...${camelName}DataSchema.properties,
42
+ ${type === 'mongodb' ? '_id' : 'id'}: {
43
+ type: '${type === 'mongodb' ? 'string' : 'number'}'
44
+ }
45
+ }
46
+ } as const
47
+ export type ${upperName} = FromSchema<typeof ${camelName}Schema>
48
+ export const ${camelName}Resolver = resolve<${upperName}, HookContext>({
49
+ properties: {}
50
+ })
51
+ export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
52
+ properties: {}
53
+ })
54
+
55
+ // Schema for allowed query properties
56
+ export const ${camelName}QuerySchema = {
57
+ $id: '${upperName}Query',
58
+ type: 'object',
59
+ additionalProperties: false,
60
+ properties: {
61
+ ...jsonSchema.querySyntax(${camelName}Schema.properties)
62
+ }
63
+ } as const
64
+ export type ${upperName}Query = FromSchema<typeof ${camelName}QuerySchema>
65
+ export const ${camelName}QueryValidator = jsonSchema.getValidator(${camelName}QuerySchema, queryValidator)
66
+ export const ${camelName}QueryResolver = resolve<${upperName}Query, HookContext>({
67
+ properties: {}
68
+ })
69
+ `
70
+
71
+ export const generate = (ctx: ServiceGeneratorContext) =>
72
+ generator(ctx).then(
73
+ when<ServiceGeneratorContext>(
74
+ ({ schema }) => schema === 'json',
75
+ renderSource(
76
+ template,
77
+ toFile(({ lib, folder, fileName }: ServiceGeneratorContext) => [
78
+ lib,
79
+ 'services',
80
+ ...folder,
81
+ `${fileName}.schema`
82
+ ])
83
+ )
84
+ )
85
+ )
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generate = void 0;
4
+ const pinion_1 = require("@feathershq/pinion");
5
+ const commons_1 = require("../../commons");
6
+ const template = ({ camelName, upperName, relative, type }) => /* ts */ `import { jsonSchema, resolve } from '@feathersjs/schema'
7
+ import { Type, querySyntax } from '@feathersjs/typebox'
8
+ import type { Static } from '@feathersjs/typebox'
9
+
10
+ import type { HookContext } from '${relative}/declarations'
11
+ import { dataValidator, queryValidator } from '${relative}/schemas/validators'
12
+
13
+ // Schema for the basic data model (e.g. creating new entries)
14
+ export const ${camelName}DataSchema = Type.Object({
15
+ text: Type.String()
16
+ }, { $id: '${upperName}Data', additionalProperties: false })
17
+ export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
18
+ export const ${camelName}DataValidator = jsonSchema.getDataValidator(${camelName}DataSchema, dataValidator)
19
+ export const ${camelName}DataResolver = resolve<${upperName}Data, HookContext>({
20
+ properties: {}
21
+ })
22
+
23
+ // Schema for the data that is being returned
24
+ export const ${camelName}Schema = Type.Intersect([
25
+ ${camelName}DataSchema,
26
+ Type.Object({
27
+ ${type === 'mongodb' ? '_id: Type.String()' : 'id: Type.Number()'}
28
+ })
29
+ ], { $id: '${upperName}', additionalProperties: false })
30
+ export type ${upperName} = Static<typeof ${camelName}Schema>
31
+ export const ${camelName}Resolver = resolve<${upperName}, HookContext>({
32
+ properties: {}
33
+ })
34
+
35
+ export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
36
+ properties: {}
37
+ })
38
+
39
+ // Schema for allowed query properties
40
+ export const ${camelName}QuerySchema = Type.Intersect([
41
+ querySyntax(${camelName}Schema),
42
+ // Add additional query properties here
43
+ Type.Object({})
44
+ ])
45
+ export type ${upperName}Query = Static<typeof ${camelName}QuerySchema>
46
+ export const ${camelName}QueryValidator = jsonSchema.getValidator(${camelName}QuerySchema, queryValidator)
47
+ export const ${camelName}QueryResolver = resolve<${upperName}Query, HookContext>({
48
+ properties: {}
49
+ })
50
+ `;
51
+ const generate = (ctx) => (0, pinion_1.generator)(ctx).then((0, pinion_1.when)(({ schema }) => schema === 'typebox', (0, commons_1.renderSource)(template, (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
52
+ lib,
53
+ 'services',
54
+ ...folder,
55
+ `${fileName}.schema`
56
+ ]))));
57
+ exports.generate = generate;
58
+ //# sourceMappingURL=schema.typebox.tpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.typebox.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/schema.typebox.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2CAA4C;AAG5C,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACoB,EAAE,EAAE,CAAC,QAAQ,CAAC;;;;oCAIJ,QAAQ;iDACK,QAAQ;;;eAG1C,SAAS;;aAEX,SAAS;cACR,SAAS,wBAAwB,SAAS;eACzC,SAAS,+CAA+C,SAAS;eACjE,SAAS,0BAA0B,SAAS;;;;;eAK5C,SAAS;IACpB,SAAS;;MAEP,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB;;aAExD,SAAS;cACR,SAAS,oBAAoB,SAAS;eACrC,SAAS,sBAAsB,SAAS;;;;eAIxC,SAAS,8BAA8B,SAAS;;;;;eAKhD,SAAS;gBACR,SAAS;;;;cAIX,SAAS,yBAAyB,SAAS;eAC1C,SAAS,4CAA4C,SAAS;eAC9D,SAAS,2BAA2B,SAAS;;;CAG3D,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,aAAI,EACF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,EACpC,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,SAAS;CACrB,CAAC,CACH,CACF,CACF,CAAA;AAdU,QAAA,QAAQ,YAclB"}
@@ -0,0 +1,70 @@
1
+ import { generator, toFile, when } from '@feathershq/pinion'
2
+ import { renderSource } from '../../commons'
3
+ import { ServiceGeneratorContext } from '../index'
4
+
5
+ const template = ({
6
+ camelName,
7
+ upperName,
8
+ relative,
9
+ type
10
+ }: ServiceGeneratorContext) => /* ts */ `import { jsonSchema, resolve } from '@feathersjs/schema'
11
+ import { Type, querySyntax } from '@feathersjs/typebox'
12
+ import type { Static } from '@feathersjs/typebox'
13
+
14
+ import type { HookContext } from '${relative}/declarations'
15
+ import { dataValidator, queryValidator } from '${relative}/schemas/validators'
16
+
17
+ // Schema for the basic data model (e.g. creating new entries)
18
+ export const ${camelName}DataSchema = Type.Object({
19
+ text: Type.String()
20
+ }, { $id: '${upperName}Data', additionalProperties: false })
21
+ export type ${upperName}Data = Static<typeof ${camelName}DataSchema>
22
+ export const ${camelName}DataValidator = jsonSchema.getDataValidator(${camelName}DataSchema, dataValidator)
23
+ export const ${camelName}DataResolver = resolve<${upperName}Data, HookContext>({
24
+ properties: {}
25
+ })
26
+
27
+ // Schema for the data that is being returned
28
+ export const ${camelName}Schema = Type.Intersect([
29
+ ${camelName}DataSchema,
30
+ Type.Object({
31
+ ${type === 'mongodb' ? '_id: Type.String()' : 'id: Type.Number()'}
32
+ })
33
+ ], { $id: '${upperName}', additionalProperties: false })
34
+ export type ${upperName} = Static<typeof ${camelName}Schema>
35
+ export const ${camelName}Resolver = resolve<${upperName}, HookContext>({
36
+ properties: {}
37
+ })
38
+
39
+ export const ${camelName}ExternalResolver = resolve<${upperName}, HookContext>({
40
+ properties: {}
41
+ })
42
+
43
+ // Schema for allowed query properties
44
+ export const ${camelName}QuerySchema = Type.Intersect([
45
+ querySyntax(${camelName}Schema),
46
+ // Add additional query properties here
47
+ Type.Object({})
48
+ ])
49
+ export type ${upperName}Query = Static<typeof ${camelName}QuerySchema>
50
+ export const ${camelName}QueryValidator = jsonSchema.getValidator(${camelName}QuerySchema, queryValidator)
51
+ export const ${camelName}QueryResolver = resolve<${upperName}Query, HookContext>({
52
+ properties: {}
53
+ })
54
+ `
55
+
56
+ export const generate = (ctx: ServiceGeneratorContext) =>
57
+ generator(ctx).then(
58
+ when<ServiceGeneratorContext>(
59
+ ({ schema }) => schema === 'typebox',
60
+ renderSource(
61
+ template,
62
+ toFile(({ lib, folder, fileName }: ServiceGeneratorContext) => [
63
+ lib,
64
+ 'services',
65
+ ...folder,
66
+ `${fileName}.schema`
67
+ ])
68
+ )
69
+ )
70
+ )
@@ -1,2 +1,3 @@
1
1
  import { ServiceGeneratorContext } from '../index';
2
+ export declare const template: ({ camelName, authentication, isEntityService, path, className, relative, schema, fileName }: ServiceGeneratorContext) => string;
2
3
  export declare const generate: (ctx: ServiceGeneratorContext) => Promise<ServiceGeneratorContext>;
@@ -1,26 +1,79 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generate = void 0;
3
+ exports.generate = exports.template = void 0;
4
4
  const pinion_1 = require("@feathershq/pinion");
5
5
  const commons_1 = require("../../commons");
6
- const template = ({ relative, path, className, camelName, fileName }) => `import type { Application } from '${relative}/declarations'
6
+ const template = ({ camelName, authentication, isEntityService, path, className, relative, schema, fileName }) => /* ts */ `
7
+ ${authentication || isEntityService ? `import { authenticate } from '@feathersjs/authentication'` : ''}
8
+ ${schema
9
+ ? `
10
+ import { hooks as schemaHooks } from '@feathersjs/schema'
11
+
12
+ import {
13
+ ${camelName}DataValidator,
14
+ ${camelName}QueryValidator,
15
+ ${camelName}Resolver,
16
+ ${camelName}DataResolver,
17
+ ${camelName}QueryResolver,
18
+ ${camelName}ExternalResolver
19
+ } from './${fileName}.schema'
20
+ `
21
+ : ''}
7
22
 
8
- import { ${className}, ${camelName}Hooks } from './${fileName}.class'
23
+ import type { Application } from '${relative}/declarations'
24
+ import { ${className}, getOptions } from './${fileName}.class'
9
25
 
10
- // A configure function that registers the service and its hooks via \`app.configure\`
11
- export function ${camelName} (app: Application) {
12
- const options = { // Service options will go here
13
- }
26
+ export * from './${fileName}.class'
27
+ ${schema ? `export * from './${fileName}.schema'` : ''}
14
28
 
29
+ // A configure function that registers the service and its hooks via \`app.configure\`
30
+ export const ${camelName} = (app: Application) => {
15
31
  // Register our service on the Feathers application
16
- app.use('${path}', new ${className}(options), {
32
+ app.use('${path}', new ${className}(getOptions(app)), {
17
33
  // A list of all methods this service exposes externally
18
34
  methods: ['find', 'get', 'create', 'update', 'patch', 'remove'],
19
35
  // You can add additional custom events to be sent to clients here
20
36
  events: []
21
37
  })
22
38
  // Initialize hooks
23
- app.service('${path}').hooks(${camelName}Hooks)
39
+ app.service('${path}').hooks({
40
+ around: {
41
+ all: [${authentication
42
+ ? `
43
+ authenticate('jwt'),`
44
+ : ''}
45
+ ]${isEntityService
46
+ ? `,
47
+ find: [ authenticate('jwt') ],
48
+ get: [ authenticate('jwt') ],
49
+ create: [],
50
+ update: [ authenticate('jwt') ],
51
+ patch: [ authenticate('jwt') ],
52
+ remove: [ authenticate('jwt') ]`
53
+ : ''}
54
+ },
55
+ before: {
56
+ all: [${schema
57
+ ? `
58
+ schemaHooks.validateQuery(${camelName}QueryValidator),
59
+ schemaHooks.validateData(${camelName}DataValidator),
60
+ schemaHooks.resolveQuery(${camelName}QueryResolver),
61
+ schemaHooks.resolveData(${camelName}DataResolver)
62
+ `
63
+ : ''}]
64
+ },
65
+ after: {
66
+ all: [${schema
67
+ ? `
68
+ schemaHooks.resolveResult(${camelName}Resolver),
69
+ schemaHooks.resolveExternal(${camelName}ExternalResolver)
70
+ `
71
+ : ''}]
72
+ },
73
+ error: {
74
+ all: []
75
+ }
76
+ })
24
77
  }
25
78
 
26
79
  // Add this service to the service type index
@@ -30,17 +83,16 @@ declare module '${relative}/declarations' {
30
83
  }
31
84
  }
32
85
  `;
33
- const importTemplate = ({ camelName, folder, fileName }) => `import { ${camelName} } from './${folder.join('/')}/${fileName}.service'`;
34
- const configureTemplate = ({ camelName }) => ` app.configure(${camelName})`;
86
+ exports.template = template;
35
87
  const toServiceIndex = (0, pinion_1.toFile)(({ lib }) => [lib, 'services', `index`]);
36
88
  const generate = (ctx) => (0, pinion_1.generator)(ctx)
37
- .then((0, commons_1.renderSource)(template, (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
89
+ .then((0, commons_1.renderSource)(exports.template, (0, pinion_1.toFile)(({ lib, fileName, folder }) => [
38
90
  lib,
39
91
  'services',
40
92
  ...folder,
41
- `${fileName}.service`
93
+ `${fileName}`
42
94
  ])))
43
- .then((0, commons_1.injectSource)(importTemplate, (0, pinion_1.prepend)(), toServiceIndex))
44
- .then((0, commons_1.injectSource)(configureTemplate, (0, pinion_1.after)('export const services'), toServiceIndex));
95
+ .then((0, commons_1.injectSource)(({ camelName, folder, fileName }) => `import { ${camelName} } from './${folder.join('/')}/${fileName}'`, (0, pinion_1.prepend)(), toServiceIndex))
96
+ .then((0, commons_1.injectSource)(({ camelName }) => ` app.configure(${camelName})`, (0, pinion_1.after)('export const services'), toServiceIndex));
45
97
  exports.generate = generate;
46
98
  //# sourceMappingURL=service.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/service.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,2CAA0D;AAG1D,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAC/F,qCAAqC,QAAQ;;WAEpC,SAAS,KAAK,SAAS,mBAAmB,QAAQ;;;kBAG3C,SAAS;;;;;aAKd,IAAI,UAAU,SAAS;;;;;;;iBAOnB,IAAI,YAAY,SAAS;;;;kBAIxB,QAAQ;;OAEnB,IAAI,MAAM,SAAS;;;CAGzB,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAClF,YAAY,SAAS,cAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,WAAW,CAAA;AAE5E,MAAM,iBAAiB,GAAG,CAAC,EAAE,SAAS,EAA2B,EAAE,EAAE,CAAC,mBAAmB,SAAS,GAAG,CAAA;AAErG,MAAM,cAAc,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAA2B,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AAExF,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CACH,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,UAAU;CACtB,CAAC,CACH,CACF;KACA,IAAI,CAAC,IAAA,sBAAY,EAAC,cAAc,EAAE,IAAA,gBAAO,GAAE,EAAE,cAAc,CAAC,CAAC;KAC7D,IAAI,CAAC,IAAA,sBAAY,EAAC,iBAAiB,EAAE,IAAA,cAAK,EAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA;AAd7E,QAAA,QAAQ,YAcqE"}
1
+ {"version":3,"file":"service.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/service.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AACtE,2CAA0D;AAGnD,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,cAAc,EACd,eAAe,EACf,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,QAAQ,EACgB,EAAE,EAAE,CAAC,QAAQ,CAAC;EACtC,cAAc,IAAI,eAAe,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE;EAEpG,MAAM;IACJ,CAAC,CAAC;;;;IAIF,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC,EACN;;oCAEoC,QAAQ;WACjC,SAAS,0BAA0B,QAAQ;;mBAEnC,QAAQ;EACzB,MAAM,CAAC,CAAC,CAAC,oBAAoB,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE;;;eAGvC,SAAS;;aAEX,IAAI,UAAU,SAAS;;;;;;;iBAOnB,IAAI;;cAGb,cAAc;IACZ,CAAC,CAAC;6BACiB;IACnB,CAAC,CAAC,EACN;SAEE,eAAe;IACb,CAAC,CAAC;;;;;;sCAM0B;IAC5B,CAAC,CAAC,EACN;;;cAIE,MAAM;IACJ,CAAC,CAAC;oCACwB,SAAS;mCACV,SAAS;mCACT,SAAS;kCACV,SAAS;OACpC;IACG,CAAC,CAAC,EACN;;;cAIE,MAAM;IACJ,CAAC,CAAC;oCACwB,SAAS;sCACP,SAAS;OACxC;IACG,CAAC,CAAC,EACN;;;;;;;;;kBASY,QAAQ;;OAEnB,IAAI,MAAM,SAAS;;;CAGzB,CAAA;AAlGY,QAAA,QAAQ,YAkGpB;AAED,MAAM,cAAc,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAA2B,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;AAExF,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CACH,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAA2B,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,EAAE;CACd,CAAC,CACH,CACF;KACA,IAAI,CACH,IAAA,sBAAY,EACV,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAClC,YAAY,SAAS,cAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,EACpE,IAAA,gBAAO,GAAE,EACT,cAAc,CACf,CACF;KACA,IAAI,CACH,IAAA,sBAAY,EACV,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,mBAAmB,SAAS,GAAG,EAClD,IAAA,cAAK,EAAC,uBAAuB,CAAC,EAC9B,cAAc,CACf,CACF,CAAA;AA3BQ,QAAA,QAAQ,YA2BhB"}
@@ -1,26 +1,97 @@
1
- import { generator, prepend, toFile, after } from '@feathershq/pinion'
1
+ import { generator, toFile, after, prepend } from '@feathershq/pinion'
2
2
  import { injectSource, renderSource } from '../../commons'
3
3
  import { ServiceGeneratorContext } from '../index'
4
4
 
5
- const template = ({ relative, path, className, camelName, fileName }: ServiceGeneratorContext) =>
6
- `import type { Application } from '${relative}/declarations'
5
+ export const template = ({
6
+ camelName,
7
+ authentication,
8
+ isEntityService,
9
+ path,
10
+ className,
11
+ relative,
12
+ schema,
13
+ fileName
14
+ }: ServiceGeneratorContext) => /* ts */ `
15
+ ${authentication || isEntityService ? `import { authenticate } from '@feathersjs/authentication'` : ''}
16
+ ${
17
+ schema
18
+ ? `
19
+ import { hooks as schemaHooks } from '@feathersjs/schema'
20
+
21
+ import {
22
+ ${camelName}DataValidator,
23
+ ${camelName}QueryValidator,
24
+ ${camelName}Resolver,
25
+ ${camelName}DataResolver,
26
+ ${camelName}QueryResolver,
27
+ ${camelName}ExternalResolver
28
+ } from './${fileName}.schema'
29
+ `
30
+ : ''
31
+ }
7
32
 
8
- import { ${className}, ${camelName}Hooks } from './${fileName}.class'
33
+ import type { Application } from '${relative}/declarations'
34
+ import { ${className}, getOptions } from './${fileName}.class'
9
35
 
10
- // A configure function that registers the service and its hooks via \`app.configure\`
11
- export function ${camelName} (app: Application) {
12
- const options = { // Service options will go here
13
- }
36
+ export * from './${fileName}.class'
37
+ ${schema ? `export * from './${fileName}.schema'` : ''}
14
38
 
39
+ // A configure function that registers the service and its hooks via \`app.configure\`
40
+ export const ${camelName} = (app: Application) => {
15
41
  // Register our service on the Feathers application
16
- app.use('${path}', new ${className}(options), {
42
+ app.use('${path}', new ${className}(getOptions(app)), {
17
43
  // A list of all methods this service exposes externally
18
44
  methods: ['find', 'get', 'create', 'update', 'patch', 'remove'],
19
45
  // You can add additional custom events to be sent to clients here
20
46
  events: []
21
47
  })
22
48
  // Initialize hooks
23
- app.service('${path}').hooks(${camelName}Hooks)
49
+ app.service('${path}').hooks({
50
+ around: {
51
+ all: [${
52
+ authentication
53
+ ? `
54
+ authenticate('jwt'),`
55
+ : ''
56
+ }
57
+ ]${
58
+ isEntityService
59
+ ? `,
60
+ find: [ authenticate('jwt') ],
61
+ get: [ authenticate('jwt') ],
62
+ create: [],
63
+ update: [ authenticate('jwt') ],
64
+ patch: [ authenticate('jwt') ],
65
+ remove: [ authenticate('jwt') ]`
66
+ : ''
67
+ }
68
+ },
69
+ before: {
70
+ all: [${
71
+ schema
72
+ ? `
73
+ schemaHooks.validateQuery(${camelName}QueryValidator),
74
+ schemaHooks.validateData(${camelName}DataValidator),
75
+ schemaHooks.resolveQuery(${camelName}QueryResolver),
76
+ schemaHooks.resolveData(${camelName}DataResolver)
77
+ `
78
+ : ''
79
+ }]
80
+ },
81
+ after: {
82
+ all: [${
83
+ schema
84
+ ? `
85
+ schemaHooks.resolveResult(${camelName}Resolver),
86
+ schemaHooks.resolveExternal(${camelName}ExternalResolver)
87
+ `
88
+ : ''
89
+ }]
90
+ },
91
+ error: {
92
+ all: []
93
+ }
94
+ })
24
95
  }
25
96
 
26
97
  // Add this service to the service type index
@@ -31,11 +102,6 @@ declare module '${relative}/declarations' {
31
102
  }
32
103
  `
33
104
 
34
- const importTemplate = ({ camelName, folder, fileName }: ServiceGeneratorContext) =>
35
- `import { ${camelName} } from './${folder.join('/')}/${fileName}.service'`
36
-
37
- const configureTemplate = ({ camelName }: ServiceGeneratorContext) => ` app.configure(${camelName})`
38
-
39
105
  const toServiceIndex = toFile(({ lib }: ServiceGeneratorContext) => [lib, 'services', `index`])
40
106
 
41
107
  export const generate = (ctx: ServiceGeneratorContext) =>
@@ -43,13 +109,26 @@ export const generate = (ctx: ServiceGeneratorContext) =>
43
109
  .then(
44
110
  renderSource(
45
111
  template,
46
- toFile<ServiceGeneratorContext>(({ lib, folder, fileName }) => [
112
+ toFile(({ lib, fileName, folder }: ServiceGeneratorContext) => [
47
113
  lib,
48
114
  'services',
49
115
  ...folder,
50
- `${fileName}.service`
116
+ `${fileName}`
51
117
  ])
52
118
  )
53
119
  )
54
- .then(injectSource(importTemplate, prepend(), toServiceIndex))
55
- .then(injectSource(configureTemplate, after('export const services'), toServiceIndex))
120
+ .then(
121
+ injectSource<ServiceGeneratorContext>(
122
+ ({ camelName, folder, fileName }) =>
123
+ `import { ${camelName} } from './${folder.join('/')}/${fileName}'`,
124
+ prepend(),
125
+ toServiceIndex
126
+ )
127
+ )
128
+ .then(
129
+ injectSource<ServiceGeneratorContext>(
130
+ ({ camelName }) => ` app.configure(${camelName})`,
131
+ after('export const services'),
132
+ toServiceIndex
133
+ )
134
+ )
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generate = void 0;
4
4
  const pinion_1 = require("@feathershq/pinion");
5
5
  const commons_1 = require("../../commons");
6
- const template = ({ relative, lib, path }) => `import assert from 'assert'
6
+ const template = ({ relative, lib, path }) => /* ts */ `import assert from 'assert'
7
7
  import { app } from '../${relative}/${lib}/app'
8
8
 
9
9
  describe('${path} service', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"test.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/test.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAA2B,EAAE,EAAE,CACpE;0BACwB,QAAQ,IAAI,GAAG;;YAE7B,IAAI;;mCAEmB,IAAI;;;;;CAKtC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC9D,IAAI;IACJ,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,OAAO;CACnB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}
1
+ {"version":3,"file":"test.tpl.js","sourceRoot":"","sources":["../../../src/service/templates/test.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAG5C,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAA2B,EAAE,EAAE,CAAC,QAAQ,CAAC;0BACtD,QAAQ,IAAI,GAAG;;YAE7B,IAAI;;mCAEmB,IAAI;;;;;CAKtC,CAAA;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,QAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC9D,IAAI;IACJ,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,OAAO;CACnB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}
@@ -2,8 +2,7 @@ import { generator, toFile } from '@feathershq/pinion'
2
2
  import { renderSource } from '../../commons'
3
3
  import { ServiceGeneratorContext } from '../index'
4
4
 
5
- const template = ({ relative, lib, path }: ServiceGeneratorContext) =>
6
- `import assert from 'assert'
5
+ const template = ({ relative, lib, path }: ServiceGeneratorContext) => /* ts */ `import assert from 'assert'
7
6
  import { app } from '../${relative}/${lib}/app'
8
7
 
9
8
  describe('${path} service', () => {
@@ -1,4 +1,3 @@
1
1
  import { ServiceGeneratorContext } from '../index';
2
- export declare const template: ({ className, upperName, relative }: ServiceGeneratorContext) => string;
3
- export declare const importTemplate = "import type { Id, NullableId, Params } from '@feathersjs/feathers'";
2
+ export declare const template: ({ className, upperName, schema, fileName, relative }: ServiceGeneratorContext) => string;
4
3
  export declare const generate: (ctx: ServiceGeneratorContext) => Promise<ServiceGeneratorContext>;
@@ -1,10 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generate = exports.importTemplate = exports.template = void 0;
3
+ exports.generate = exports.template = void 0;
4
4
  const pinion_1 = require("@feathershq/pinion");
5
5
  const commons_1 = require("../../commons");
6
- const template = ({ className, upperName, relative }) => `import type { Application } from '${relative}/declarations'
7
-
6
+ const template = ({ className, upperName, schema, fileName, relative }) => `
7
+ import type { Id, NullableId, Params } from '@feathersjs/feathers'
8
+
9
+ import type { Application } from '${relative}/declarations'
10
+ ${schema
11
+ ? `import type {
12
+ ${upperName},
13
+ ${upperName}Data,
14
+ ${upperName}Query
15
+ } from './${fileName}.schema'
16
+ `
17
+ : `
18
+ export type ${upperName} = any
19
+ export type ${upperName}Data = any
20
+ export type ${upperName}Query = any
21
+ `}
22
+
8
23
  export interface ${className}Options {
9
24
  app: Application
10
25
  }
@@ -18,20 +33,20 @@ export class ${className} {
18
33
  constructor (public options: ${className}Options) {
19
34
  }
20
35
 
21
- async find (_params?: ${upperName}Params): Promise<${upperName}Result[]> {
36
+ async find (_params?: ${upperName}Params): Promise<${upperName}[]> {
22
37
  return []
23
38
  }
24
39
 
25
- async get (id: Id, _params?: ${upperName}Params): Promise<${upperName}Result> {
40
+ async get (id: Id, _params?: ${upperName}Params): Promise<${upperName}> {
26
41
  return {
27
42
  id: 0,
28
43
  text: \`A new message with ID: \${id}!\`
29
44
  }
30
45
  }
31
46
 
32
- async create (data: ${upperName}Data, params?: ${upperName}Params): Promise<${upperName}Result>
33
- async create (data: ${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}Result[]>
34
- async create (data: ${upperName}Data|${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}Result|${upperName}Result[]> {
47
+ async create (data: ${upperName}Data, params?: ${upperName}Params): Promise<${upperName}>
48
+ async create (data: ${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}[]>
49
+ async create (data: ${upperName}Data|${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}|${upperName}[]> {
35
50
  if (Array.isArray(data)) {
36
51
  return Promise.all(data.map(current => this.create(current, params)));
37
52
  }
@@ -42,46 +57,38 @@ export class ${className} {
42
57
  }
43
58
  }
44
59
 
45
- async update (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}Result> {
60
+ async update (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}> {
46
61
  return {
47
62
  id: 0,
48
63
  ...data
49
64
  }
50
65
  }
51
66
 
52
- async patch (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}Result> {
67
+ async patch (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}> {
53
68
  return {
54
69
  id: 0,
55
70
  ...data
56
71
  }
57
72
  }
58
73
 
59
- async remove (id: NullableId, _params?: ${upperName}Params): Promise<${upperName}Result> {
74
+ async remove (id: NullableId, _params?: ${upperName}Params): Promise<${upperName}> {
60
75
  return {
61
76
  id: 0,
62
77
  text: 'removed'
63
78
  }
64
79
  }
65
80
  }
81
+
82
+ export const getOptions = (app: Application) => {
83
+ return { app }
84
+ }
66
85
  `;
67
86
  exports.template = template;
68
- exports.importTemplate = "import type { Id, NullableId, Params } from '@feathersjs/feathers'";
69
- const optionTemplate = ({}) => ` app`;
70
- const toServiceFile = (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
71
- lib,
72
- 'services',
73
- ...folder,
74
- `${fileName}.service`
75
- ]);
76
- const toClassFile = (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
87
+ const generate = (ctx) => (0, pinion_1.generator)(ctx).then((0, commons_1.renderSource)(exports.template, (0, pinion_1.toFile)(({ lib, folder, fileName }) => [
77
88
  lib,
78
89
  'services',
79
90
  ...folder,
80
91
  `${fileName}.class`
81
- ]);
82
- const generate = (ctx) => (0, pinion_1.generator)(ctx)
83
- .then((0, commons_1.injectSource)(exports.template, (0, pinion_1.append)(), toClassFile))
84
- .then((0, commons_1.injectSource)(exports.importTemplate, (0, pinion_1.prepend)(), toClassFile))
85
- .then((0, commons_1.injectSource)(optionTemplate, (0, pinion_1.after)('const options ='), toServiceFile, false));
92
+ ])));
86
93
  exports.generate = generate;
87
94
  //# sourceMappingURL=custom.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.tpl.js","sourceRoot":"","sources":["../../../src/service/type/custom.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAA8E;AAC9E,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAA2B,EAAE,EAAE,CACtF,qCAAqC,QAAQ;;mBAE5B,SAAS;;;;mBAIT,SAAS,yBAAyB,SAAS;;;;;eAK/C,SAAS;iCACS,SAAS;;;0BAGhB,SAAS,oBAAoB,SAAS;;;;iCAI/B,SAAS,oBAAoB,SAAS;;;;;;;wBAO/C,SAAS,kBAAkB,SAAS,oBAAoB,SAAS;wBACjE,SAAS,oBAAoB,SAAS,oBAAoB,SAAS;wBACnE,SAAS,QAAQ,SAAS,oBAAoB,SAAS,oBAAoB,SAAS,UAAU,SAAS;;;;;;;;;;;wCAWvF,SAAS,mBAAmB,SAAS,oBAAoB,SAAS;;;;;;;uCAOnE,SAAS,mBAAmB,SAAS,oBAAoB,SAAS;;;;;;;4CAO7D,SAAS,oBAAoB,SAAS;;;;;;;CAOjF,CAAA;AA7DY,QAAA,QAAQ,YA6DpB;AAEY,QAAA,cAAc,GAAG,oEAAoE,CAAA;AAElG,MAAM,cAAc,GAAG,CAAC,EAA2B,EAAE,EAAE,CAAC,SAAS,CAAA;AAEjE,MAAM,aAAa,GAAG,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACnF,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,UAAU;CACtB,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjF,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,QAAQ;CACpB,CAAC,CAAA;AAEK,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC;KACX,IAAI,CAAC,IAAA,sBAAY,EAAC,gBAAQ,EAAE,IAAA,eAAM,GAAE,EAAE,WAAW,CAAC,CAAC;KACnD,IAAI,CAAC,IAAA,sBAAY,EAAC,sBAAc,EAAE,IAAA,gBAAO,GAAE,EAAE,WAAW,CAAC,CAAC;KAC1D,IAAI,CAAC,IAAA,sBAAY,EAAC,cAAc,EAAE,IAAA,cAAK,EAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAA;AAJ1E,QAAA,QAAQ,YAIkE"}
1
+ {"version":3,"file":"custom.tpl.js","sourceRoot":"","sources":["../../../src/service/type/custom.tpl.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AACtD,2CAA4C;AAGrC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC;;;oCAGvE,QAAQ;EAE1C,MAAM;IACJ,CAAC,CAAC;IACF,SAAS;IACT,SAAS;IACT,SAAS;YACD,QAAQ;CACnB;IACG,CAAC,CAAC;cACQ,SAAS;cACT,SAAS;cACT,SAAS;CAEvB;;mBAEmB,SAAS;;;;mBAIT,SAAS,yBAAyB,SAAS;;;;;eAK/C,SAAS;iCACS,SAAS;;;0BAGhB,SAAS,oBAAoB,SAAS;;;;iCAI/B,SAAS,oBAAoB,SAAS;;;;;;;wBAO/C,SAAS,kBAAkB,SAAS,oBAAoB,SAAS;wBACjE,SAAS,oBAAoB,SAAS,oBAAoB,SAAS;wBACnE,SAAS,QAAQ,SAAS,oBAAoB,SAAS,oBAAoB,SAAS,IAAI,SAAS;;;;;;;;;;;wCAWjF,SAAS,mBAAmB,SAAS,oBAAoB,SAAS;;;;;;;uCAOnE,SAAS,mBAAmB,SAAS,oBAAoB,SAAS;;;;;;;4CAO7D,SAAS,oBAAoB,SAAS;;;;;;;;;;;CAWjF,CAAA;AAjFY,QAAA,QAAQ,YAiFpB;AAEM,MAAM,QAAQ,GAAG,CAAC,GAA4B,EAAE,EAAE,CACvD,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,IAAI,CACjB,IAAA,sBAAY,EACV,gBAAQ,EACR,IAAA,eAAM,EAA0B,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,GAAG;IACH,UAAU;IACV,GAAG,MAAM;IACT,GAAG,QAAQ,QAAQ;CACpB,CAAC,CACH,CACF,CAAA;AAXU,QAAA,QAAQ,YAWlB"}