Ver código fonte

initial commit with some base helpers

mightyplow 8 anos atrás
commit
828a572dec
7 arquivos alterados com 78 adições e 0 exclusões
  1. 1 0
      .gitignore
  2. 27 0
      file.js
  3. 3 0
      html.js
  4. 11 0
      object.js
  5. 19 0
      package.json
  6. 4 0
      string.js
  7. 13 0
      stylesheet.js

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+/.idea/

+ 27 - 0
file.js

@@ -0,0 +1,27 @@
+const fs = require('fs')
+
+module.exports = {
+    readFile: filename => {
+        return new Promise((resolve, reject) => {
+            fs.readFile(filename, (err, data) => {
+                if (err) {
+                    reject(err)
+                } else {
+                    resolve(data)
+                }
+            })
+        })
+    },
+
+    writeFile: (filename, data) => {
+        return new Promise((resolve, reject) => {
+            fs.writeFile(filename, data, err => {
+                if (err) {
+                    reject(err)
+                } else {
+                    resolve()
+                }
+            })
+        })
+    }
+}

+ 3 - 0
html.js

@@ -0,0 +1,3 @@
+module.exports = {
+    createLinkTag: (filename, selector) => `<link rel="stylesheet" type="text/css" href="${filename}" media="${selector}" />`
+}

+ 11 - 0
object.js

@@ -0,0 +1,11 @@
+module.exports = {
+    prop: prop => obj => obj[prop],
+
+    defaults: (obj, values) => {
+        Object.keys(values).forEach(key => {
+            if (!obj.hasOwnProperty(key)) {
+                obj[key] = values[key]
+            }
+        })
+    }
+}

+ 19 - 0
package.json

@@ -0,0 +1,19 @@
+{
+  "name": "@mightyplow/jslib",
+  "version": "0.1.0",
+  "description": "js helpers library",
+  "main": "",
+  "dependencies": {
+  },
+  "devDependencies": {},
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "keywords": ["js", "javascript", "helpers", "library"],
+  "author": {
+    "name": "mightyplow",
+    "email": "mightyplow@gmail.com",
+    "url": "http://mightyplow.net"
+  },
+  "license": "ISC"
+}

+ 4 - 0
string.js

@@ -0,0 +1,4 @@
+module.exports = {
+    append: (str, append) => str + append,
+    toBool: val => val === 'true'
+}

+ 13 - 0
stylesheet.js

@@ -0,0 +1,13 @@
+module.exports = {
+    getRules: css => css.stylesheet.rules,
+    isRuleType: type => rule => rule.type === type,
+
+    createStylesheetAst: rules => {
+        return {
+            type: 'stylesheet',
+            stylesheet: {
+                rules: rules
+            }
+        }
+    }
+}