lib/messageformat.rb in messageformat-wrapper-1.0.0 vs lib/messageformat.rb in messageformat-wrapper-1.1.0
- old
+ new
@@ -10,20 +10,21 @@
class Compiler
class CompileError < StandardError
end
- attr_reader :locale, :messages, :context
+ attr_reader :locale, :messages, :context, :strict
- def initialize(locale, messages)
+ def initialize(locale, messages, strict: true)
@locale = locale
@messages = messages
+ @strict = strict
@context = init_context
end
def compile
- context.call("compileMessageFormat", locale, messages)
+ context.call("compileMessageFormat", locale, messages, strict)
rescue MiniRacer::RuntimeError => e
raise CompileError.new(cause: e)
end
private
@@ -33,11 +34,11 @@
.new(timeout: 10_000)
.tap do |context|
context.load(File.expand_path("../dist/messageformat.js", __dir__))
context.load(File.expand_path("../dist/compilemodule.js", __dir__))
context.eval(<<~JS)
- function compileMessageFormat(locale, messages) {
- const mf = new MessageFormat(locale);
+ function compileMessageFormat(locale, messages, strict) {
+ const mf = new MessageFormat(locale, { strictPluralKeys: strict });
return compileModule(mf, messages);
}
JS
end
end