summaryrefslogtreecommitdiff
path: root/ignite/templates/model/NAME.ts.ejs
diff options
context:
space:
mode:
Diffstat (limited to 'ignite/templates/model/NAME.ts.ejs')
-rw-r--r--ignite/templates/model/NAME.ts.ejs16
1 files changed, 16 insertions, 0 deletions
diff --git a/ignite/templates/model/NAME.ts.ejs b/ignite/templates/model/NAME.ts.ejs
new file mode 100644
index 0000000..2c9c9c8
--- /dev/null
+++ b/ignite/templates/model/NAME.ts.ejs
@@ -0,0 +1,16 @@
+import { Instance, SnapshotOut, types } from "mobx-state-tree"
+
+/**
+ * Model description here for TypeScript hints.
+ */
+export const <%= props.pascalCaseName %>Model = types
+ .model("<%= props.pascalCaseName %>")
+ .props({})
+ .views((self) => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
+ .actions((self) => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
+
+type <%= props.pascalCaseName %>Type = Instance<typeof <%= props.pascalCaseName %>Model>
+export interface <%= props.pascalCaseName %> extends <%= props.pascalCaseName %>Type {}
+type <%= props.pascalCaseName %>SnapshotType = SnapshotOut<typeof <%= props.pascalCaseName %>Model>
+export interface <%= props.pascalCaseName %>Snapshot extends <%= props.pascalCaseName %>SnapshotType {}
+export const create<%= props.pascalCaseName %>DefaultModel = () => types.optional(<%= props.pascalCaseName %>Model, {})