local ls = require("luasnip") local snippet_from_nodes = ls.sn local c = ls.choice_node local t = ls.text_node local d = ls.dynamic_node local f = ls.function_node local i = ls.insert_node local fmt = require("luasnip.extras.fmt").fmt local rep = require("luasnip.extras").rep local M = { str = fmt( [[{}: type: string {}]] , { i(1, ""), i(2, ""), } ), bool = fmt( [[{}: type: boolean {}]] , { i(1, ""), i(2, ""), } ), float = fmt( [[{}: type: number format: float {}]] , { i(1, ""), i(2, ""), } ), int = fmt( [[{}: type: integer {}]] , { i(1, ""), i(2, ""), } ), id = fmt( [[{}: type: integer format: int64 {}]] , { i(1, ""), i(2, ""), } ), class = fmt( [[{}: $ref: '#/components/schemas/{}' {}]] , { i(1, ""), i(2, ""), i(3, ""), } ), date = fmt( [[{}: type: string format: date-time {}]] , { i(1, ""), i(2, ""), } ), arr = fmt( [[{}: type: array items: {} {}]] , { i(1, ""), i(2, ""), i(3, ""), } ), ref = fmt([[$ref: '#/components/schemas/{}']], { i(1, "") }), obj = fmt( [[type: object properties: {}]] , i(1, "") ), aint = fmt( [[{}: type: array items: type: int format: int64 {}]] , { i(1, ""), i(2, ""), } ), astr = fmt( [[{}: type: array items: type: string {}]] , { i(1, ""), i(2, ""), } ), mut = fmt( [[{}: type: "{}" resolve: '@=mutation("App\\GraphQL\\Mutation\\{}::{}", {}, info)' args: {} ]] , { i(1, ""), i(2, ""), i(3, ""), rep(1), i(5, ""), i(6, ""), } ), input = fmt( [[{}: type: input-object config: fields: {} ]] , { i(1, ""), i(2, ""), } ), f = fmt([[{}: {{ type: "{}" }}]], { i(1, ""), i(2, "") }), api = fmt( [[openapi: 3.0.2 info: title: {} contact: name: eva-team-be version: {} x-bundle-apis: true tags: - name: {} description: {} ]] , { i(1, "my app"), i(2, "1.0.0"), i(3, "tag"), i(4, "tag description") } ), paths = fmt([[paths: {} ]], {i(0, "")} ), param = fmt([[parameters: - name: {} description: {} in: path required: true schema: type: integer format: int64 ]], {i(1, ""), i(2, "")} ), get = fmt([[get: operationId: {} description: {} tags: [ {} ] responses: 200: description: Response content: application/json: schema: {} ]], {i(1, "GetOperation"), i(2, "description"), i(3, "tag"), i(4, "")}), put = fmt([[put: operationId: {} tags: [ {} ] description: {} requestBody: content: application/json: schema: {} required: true responses: 200: description: {} content: application/json: schema: {} ]], {i(1, "PutOperation"), i(2, "tag"), i(3, "description"), i(4, ""), i(5, "description"), i(6, "")}) } return M