Skip to content

Instantly share code, notes, and snippets.

package plugins
import (
"context"
"encoding/json"
"fmt"
"os"
"strconv"
sqlite_vec "github.com/asg017/sqlite-vec-go-bindings/cgo"
@rodydavis
rodydavis / pocketbase_plugin_fts5.go
Last active August 27, 2024 15:19
Drop in plugin for PocketBase to add SQLIte native full text search to any collection
package plugins
import (
"fmt"
"strings"
"github.com/labstack/echo/v5"
"github.com/pocketbase/dbx"
"github.com/pocketbase/pocketbase"
"github.com/pocketbase/pocketbase/apis"
@rodydavis
rodydavis / main.dart
Created August 20, 2024 06:54
Flutter boolean selector
import 'package:boolean_selector/boolean_selector.dart';
void main() {
final vars = Vars('(x && y) || z', {
'x': true,
'y': false,
'z': true,
})();
print('result: $vars');
}
import 'dart:typed_data';
import 'package:drift/drift.dart';
import 'package:google_generative_ai/google_generative_ai.dart';
import 'connection/connection.dart' as impl;
part 'database.g.dart';
@DriftDatabase(include: {'sql.drift'})
@rodydavis
rodydavis / main.dart
Created July 24, 2024 22:10
Tabs + Signals example
import 'package:flutter/widgets.dart';
import 'package:flutter/material.dart'
show MaterialApp, Material, Colors, TextButton;
import 'package:signals/signals_flutter.dart';
class TabsController {
/// Current tab signal
final currentTab = signal<Tab?>(null);
/// List of tabs signal
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Posts</title>
<script src="https://unpkg.com/htmx.org@1.4.1"></script>
<script src="https://unpkg.com/htmx.org@1.4.1/dist/ext/client-side-templates.js"></script>
<script src="https://unpkg.com/mustache@latest"></script>
</head>
@rodydavis
rodydavis / main.dart
Created July 2, 2024 19:47
Flutter Signals infinite scroll
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:signals/signals_flutter.dart';
void main() {
runApp(const App());
}
class App extends StatelessWidget {
@rodydavis
rodydavis / main.dart
Last active July 2, 2024 17:55
Flutter Counter with Signals
import 'package:flutter/material.dart';
import 'package:signals/signals_flutter.dart';
void main() {
runApp(const App());
}
class App extends StatelessWidget {
const App({super.key});
@rodydavis
rodydavis / pocketbase_id_generator.dart
Created June 10, 2024 00:06
ID Generator from the Go codebase
import 'dart:math';
const defaultIdLength = 15;
const defaultIdAlphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
String pseudorandomStringWithAlphabet(int length, String alphabet) {
final List<int> b = List.filled(length, 0);
final int max = alphabet.length;
for (int i = 0; i < length; i++) {
@rodydavis
rodydavis / generator.dart
Last active May 29, 2024 21:21
Example of a possible Dart DSX (JSX like syntax) inspired by Templ in Go lang
import 'dart:io';
void main() {
final file = File('lib/hello.dsx');
final out = File('lib/hello.g.dart');
out.createSync();
out.writeAsStringSync(convert(file.readAsStringSync()));
}
String convert(String raw) {