问题标签 [swift-stencil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

swift - 使用 Stencil 删除字符串中的子字符串

我正在尝试使用Sourcery来扩展一些库。我几乎成功了,但在某些时候我有一个类型,从一个 func 返回,它是一个可选的。我想让它变成非可选的。为此,我必须了解如何删除问号,但在我看来,语言不支持它。如果它可以以某种方式提供帮助,我的脚本如下:

在这个地方,{{ method.returnTypeName }}我所有的返回类型都是可选的。我想删除问号。可能吗?

0 投票
1 回答
462 浏览

templating - 如何使用模板模板工具快速获取变量的子字符串

我正在使用此处的 swift 模板语言工具: https ://github.com/stencilproject/Stencil

使用主分支。

问题

给定以下.json文件

我希望能够检索由" "“dev”分隔的第一个单词。

我试过的

最新版本的 Stencil 具有拆分功能。但问题是我无法弄清楚如何访问结果数组中的第一个元素,而且它也不在文档中。

我在模板文件中尝试了以下内容:

这些都没有奏效。

我试图避免的

我知道我可以这样做,但必须有更好的方法。

有人对更好的工具有建议吗?

0 投票
0 回答
126 浏览

swift - 如何将对象数组添加到模板上下文?

我创建了 Codable struct Person。我尝试将此结构的对象数组添加到模板的上下文中(参见代码)。但它不起作用。

怎么做对?

[错误] [RouterMiddlewareWalker.swift:72 next()] 无法渲染上下文(上下文:)

PS 已解决。我在模板模板中有语法错误。

0 投票
0 回答
199 浏览

swift-stencil - 在 Sourcery 模板/Swift-Stencil 中迭代泛型类型

有谁知道 Sourcery 中是否有办法获取对泛型继承的类型的引用?我假设这个问题没有立即意义,所以这里有一些我正在尝试做的代码:

假设我在 Swift 中有以下内容:

我想在 Sourcery 中做的是这样的:

这样它最终会打印:

“基于此泛型类型继承的协议的类型中的 genericType”部分是我试图弄清楚如何做的。感谢您的任何帮助!

0 投票
2 回答
140 浏览

swift - 使用 Sourcery 和 Stencil 访问随机数组元素

我正在使用 Sourcery 和 Stencil 做一些代码生成工作。

我正在尝试向我的所有枚举添加一个扩展,该扩展具有一个返回枚举的随机案例的方法。所以,就我而言,我需要一种访问随机数组元素的方法。

我知道我们可以使用以下方法之一进行数组查找:(第一个、最后一个或按索引),但我找不到访问随机元素的方法。

这是我要实现的目标的示例:

显然,前面的代码片段不起作用。我只是添加它作为表达我意图的一种方式。

有人对此有任何想法吗?

0 投票
1 回答
77 浏览

swift - 如何使用不同的变量名快速调用模板?

我有 2 个模板模板,除了变量名不同之外,它们几乎相同:

模板 #1

模板#2

我认为如果我可以将它重构为模板并让模板#1 和#2 调用这个新模板会更干净

但问题出在模板 #1 中,变量p在模板 #2 中的位置,变量是a. 那么我该怎么做才能使用具有不同变量名的模板#1 和#2 调用新模板呢?